Split past issues of What's cooking and What's in

It was a mistake to use the same file over and over again, as it does not generally make much sense to diff "what's in" and "what's cooking" between revisions.

Junio C Hamano committed Aug 5, 2008 at 21:42 UTC 1d5c9452aac988af6ebfa7aefb898b7c80a99a26
26 files changed +4837
whats/cooking/2008/06/01.txt new
+306
@@ -0,0 +1,306 @@
1 +What's cooking in git.git (Jun 2008, issue #01; Sat, 21)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order.
9 +
10 +It already is beginning to become clear what 1.6.0 will look like. What's
11 +already in 'next' all are well intentioned (I do not guarantee they are
12 +already bug-free --- that is what cooking them in 'next' is for) and are
13 +good set of feature enhancements. But bigger changes will be:
14 +
15 + * MinGW will be in.
16 +
17 + * /usr/bin/git-cat-file is no more. The bulk of the git commands will
18 + move to /usr/libexec/git-core/ or somesuch.
19 +
20 + * git-merge will be rewritten in C.
21 +
22 +Currently tip of 'pu' is broken and does not pass tests, as j6t/mingw has
23 +interaction with dr/ceiling and jc/merge-theirs has interaction with
24 +mv/merge-in-c.
25 +
26 +----------------------------------------------------------------
27 +[New Topics]
28 +
29 +* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
30 + - git-merge-recursive-{ours,theirs}
31 + - git-merge-file --ours, --theirs
32 +
33 +Punting a merge by discarding your own work in conflicting parts but still
34 +salvaging the parts that are cleanly automerged. It is likely that this
35 +will result in nonsense mishmash, but somehow often people want this, so
36 +here they are. The interface to the backends may need to change, though.
37 +
38 +* lt/racy-empty (Tue Jun 10 10:44:43 2008 -0700) 1 commit
39 + + racy-git: an empty blob has a fixed object name
40 +
41 +* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
42 + + Remove the use of '--' in merge program invocation
43 +
44 +* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
45 + - compat/pread.c: Add a forward declaration to fix a warning
46 + - Windows: Fix ntohl() related warnings about printf formatting
47 + - Windows: TMP and TEMP environment variables specify a temporary
48 + directory.
49 + - Windows: Make 'git help -a' work.
50 + - Windows: Work around an oddity when a pipe with no reader is
51 + written to.
52 + - Windows: Make the pager work.
53 + - When installing, be prepared that template_dir may be relative.
54 + - Windows: Use a relative default template_dir and ETC_GITCONFIG
55 + - Windows: Compute the fallback for exec_path from the program
56 + invocation.
57 + - Turn builtin_exec_path into a function.
58 + - Windows: Use a customized struct stat that also has the st_blocks
59 + member.
60 + - Windows: Add a custom implementation for utime().
61 + - Windows: Add a new lstat and fstat implementation based on Win32
62 + API.
63 + - Windows: Implement a custom spawnve().
64 + - Windows: Implement wrappers for gethostbyname(), socket(), and
65 + connect().
66 + - Windows: Work around incompatible sort and find.
67 + - Windows: Implement asynchronous functions as threads.
68 + - Windows: Disambiguate DOS style paths from SSH URLs.
69 + - Windows: A rudimentary poll() emulation.
70 + - Windows: Change the name of hook scripts to make them not
71 + executable.
72 + - Windows: Implement start_command().
73 + - Windows: A pipe() replacement whose ends are not inherited to
74 + children.
75 + - Windows: Wrap execve so that shell scripts can be invoked.
76 + - Windows: Implement setitimer() and sigaction().
77 + - Windows: Fix PRIuMAX definition.
78 + - Windows: Implement gettimeofday().
79 + - Windows: Handle absolute paths in
80 + safe_create_leading_directories().
81 + - Windows: Treat Windows style path names.
82 + - setup.c: Prepare for Windows directory separators.
83 + - Windows: Work around misbehaved rename().
84 + - Windows: always chmod(, 0666) before unlink().
85 + - Windows: A minimal implemention of getpwuid().
86 + - Windows: Implement a wrapper of the open() function.
87 + - Windows: Strip ".exe" from the program name.
88 + - Windows: Use the Windows style PATH separator ';'.
89 + - Add target architecture MinGW.
90 + - Compile some programs only conditionally.
91 + - Add compat/regex.[ch] and compat/fnmatch.[ch].
92 +
93 +No explanation is necessary ;-).
94 +
95 +* sn/static (Thu Jun 19 08:21:11 2008 +0900) 2 commits
96 + + config.c: make git_env_bool() static
97 + + environment.c: remove unused function
98 +
99 +* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
100 + + Add config option to enable 'fsync()' of object files
101 + + Split up default "i18n" and "branch" config parsing into helper
102 + routines
103 + + Split up default "user" config parsing into helper routine
104 + + Split up default "core" config parsing into helper routine
105 +
106 +* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
107 + + gitweb: standarize HTTP status codes
108 +
109 +* mv/merge-in-c (Fri Jun 20 01:22:36 2008 +0200) 11 commits
110 + - Add new test to ensure git-merge handles more than 25 refs.
111 + - Build in merge
112 + - Introduce filter_independent() in commit.c
113 + - Introduce get_octopus_merge_bases() in commit.c
114 + - git-fmt-merge-msg: make it usable from other builtins
115 + - Move read_cache_unmerged() to read-cache.c
116 + - parseopt: add a new PARSE_OPT_ARGV0_IS_AN_OPTION option
117 + - Add new test to ensure git-merge handles pull.twohead and
118 + pull.octopus
119 + - Move parse-options's skip_prefix() to git-compat-util.h
120 + - Move commit_list_count() to commit.c
121 + - Move split_cmdline() to alias.c
122 +
123 +* jc/maint-combine-diff-pre-context (Wed Jun 18 23:59:41 2008 -0700) 1 commit
124 + + diff -c/--cc: do not include uninteresting deletion before leading
125 + context
126 +
127 +* lt/maint-gitdir-relative (Thu Jun 19 12:34:06 2008 -0700) 1 commit
128 + + Make git_dir a path relative to work_tree in setup_work_tree()
129 +
130 +----------------------------------------------------------------
131 +[Actively Cooking]
132 +
133 +* nd/dashless (Wed Nov 28 23:21:57 2007 +0700) 1 commit
134 + + Move all dashed-form commands to libexecdir
135 +
136 +Scheduled for 1.6.0.
137 +
138 +* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
139 + - Prepare execv_git_cmd() for removal of builtins from the
140 + filesystem
141 + - git-shell: accept "git foo" form
142 +
143 +We do not plan to remove git-foo form completely from the filesystem at
144 +this point, but git-shell may need to be updated.
145 +
146 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
147 + + merge: remove deprecated summary and diffstat options and config
148 + variables
149 +
150 +* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
151 + + Eliminate an unnecessary chdir("..")
152 + + Add support for GIT_CEILING_DIRECTORIES
153 + + Fold test-absolute-path into test-path-utils
154 + + Implement normalize_absolute_path
155 +
156 +* jn/web (Tue Jun 10 19:21:44 2008 +0200) 2 commits
157 + + gitweb: Separate generating 'sort by' table header
158 + + gitweb: Separate filling list of projects info
159 +
160 +* rs/archive-ignore (Sun Jun 8 18:42:33 2008 +0200) 1 commit
161 + + Teach new attribute 'export-ignore' to git-archive
162 +
163 +* rg/gitweb (Fri Jun 6 09:53:32 2008 +0200) 1 commit
164 + + gitweb: remove git_blame and rename git_blame2 to git_blame
165 +
166 +* kh/update-ref (Tue Jun 3 01:34:53 2008 +0200) 2 commits
167 + + Make old sha1 optional with git update-ref -d
168 + + Clean up builtin-update-ref's option parsing
169 +
170 +* mo/status-untracked (Thu Jun 5 14:47:50 2008 +0200) 3 commits
171 + + Add configuration option for default untracked files mode
172 + + Add argument 'no' commit/status option -u|--untracked-files
173 + + Add an optional <mode> argument to commit/status -u|--untracked-
174 + files option
175 +
176 +* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
177 + + Hook up the result aggregation in the test makefile.
178 + + A simple script to parse the results from the testcases
179 + + Modify test-lib.sh to output stats to t/test-results/*
180 +
181 +* jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits
182 + + Teach "git clone" to pack refs
183 + + Prepare testsuite for a "git clone" that packs refs
184 + + Move pack_refs() and friends into libgit
185 + + Incorporate fetched packs in future object traversal
186 +
187 +This is useful when cloning from a repository with insanely large number
188 +of refs.
189 +
190 +* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
191 + - Per-ref reflog expiry configuration
192 +
193 +Perhaps a good foundation for optionally unexpirable stash. As 1.6.0 will
194 +be a good time to make backward incompatible changes, we might make expiry
195 +period of stash 'never' in new repositories. Needs a concensus.
196 +
197 +* lw/perlish (Thu Jun 19 22:32:49 2008 +0200) 2 commits
198 + + Git.pm: add test suite
199 + + t/test-lib.sh: add test_external and test_external_without_stderr
200 +
201 +Beginning of regression tests for Perl part of the system.
202 +
203 +* jk/test (Sat Jun 14 03:28:07 2008 -0400) 5 commits
204 + + enable whitespace checking of test scripts
205 + + avoid trailing whitespace in zero-change diffstat lines
206 + + avoid whitespace on empty line in automatic usage message
207 + + mask necessary whitespace policy violations in test scripts
208 + + fix whitespace violations in test scripts
209 +
210 +Tightens whitespace rules for t/*.sh scripts.
211 +
212 +* pb/fast-export (Wed Jun 11 13:17:04 2008 +0200) 1 commit
213 + + builtin-fast-export: Add importing and exporting of revision marks
214 +
215 +----------------------------------------------------------------
216 +[Graduated to "master"]
217 +
218 +Nothing today but expect many small ones to come out of 'next' this
219 +weekend.
220 +
221 +----------------------------------------------------------------
222 +[On Hold]
223 +
224 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
225 + - blame: show "previous" information in --porcelain/--incremental
226 + format
227 + - git-blame: refactor code to emit "porcelain format" output
228 + + git-blame --reverse
229 + + builtin-blame.c: allow more than 16 parents
230 + + builtin-blame.c: move prepare_final() into a separate function.
231 + + rev-list --children
232 + + revision traversal: --children option
233 +
234 +The blame that finds where each line in the original lines moved to. This
235 +may help a GSoC project that wants to gather statistical overview of the
236 +history. The final presentation may need tweaking (see the log message of
237 +the commit ""git-blame --reverse" on the series).
238 +
239 +The tip two commits are for peeling to see what's behind the blamed
240 +commit, which we should be able to separate out into an independent topic
241 +from the rest.
242 +
243 +* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
244 + - "git push": tellme-more protocol extension
245 +
246 +Kicked back to 'pu' for now.
247 +
248 +* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
249 + - Use perl instead of tac
250 + - Fix t3404 assumption that `wc -l` does not use whitespace.
251 + - rebase -i: Use : in expr command instead of match.
252 + - rebase -i: update the implementation of 'mark' command
253 + - Add option --preserve-tags
254 + - Teach rebase interactive the tag command
255 + - Add option --first-parent
256 + - Do rebase with preserve merges with advanced TODO list
257 + - Select all lines with fake-editor
258 + - Unify the length of $SHORT* and the commits in the TODO list
259 + - Teach rebase interactive the merge command
260 + - Move redo merge code in a function
261 + - Teach rebase interactive the reset command
262 + - Teach rebase interactive the mark command
263 + - Move cleanup code into it's own function
264 + - Don't append default merge message to -m message
265 + - fake-editor: output TODO list if unchanged
266 +
267 +It is very likely that this whole thing will be reverted from 'next' and
268 +be replaced with the new sequenser series during 1.6.0 cycle.
269 +
270 +* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
271 + - Introduce fast forward option only
272 + - Head reduction before selecting merge strategy
273 + - Restructure git-merge.sh
274 + - Introduce -ff=<fast forward option>
275 + - New merge tests
276 + - Documentation for joining more than two histories
277 +
278 +This will interfere with Miklos's rewrite of merge to C.
279 +
280 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
281 + - diff: enable "too large a rename" warning when -M/-C is explicitly
282 + asked for
283 +
284 +This would be the right thing to do for command line use, but gitk will be
285 +hit due to tcl/tk's limitation, so I am holding this back for now.
286 +
287 +* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
288 + - WIP: rethink replay merge
289 + - Start using replay-tree merge in cherry-pick
290 + - revert/cherry-pick: start refactoring call to merge_recursive
291 +
292 +This is meant to improve cherry-pick's behaviour when renames are
293 +involved, by not using merge-recursive (whose d/f conflict resolution is
294 +quite broken), but unfortunately has stalled for some time now.
295 +
296 +* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
297 + - git-am --forge: add Signed-off-by: line for the author
298 + - git-am: clean-up Signed-off-by: lines
299 + - stripspace: add --log-clean option to clean up signed-off-by:
300 + lines
301 + - stripspace: use parse_options()
302 + - Add "git am -s" test
303 + - git-am: refactor code to add signed-off-by line for the committer
304 +
305 +Just my toy at this moment.
306 +
whats/cooking/2008/06/02.txt new
+329
@@ -0,0 +1,329 @@
1 +What's cooking in git.git (Jun 2008, issue #02; Mon, 23)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order.
9 +
10 +It already is beginning to become clear what 1.6.0 will look like. What's
11 +already in 'next' all are well intentioned (I do not guarantee they are
12 +already bug-free --- that is what cooking them in 'next' is for) and are
13 +good set of feature enhancements. But bigger changes will be:
14 +
15 + * MinGW will be in.
16 +
17 + * /usr/bin/git-cat-file is no more. The bulk of the git commands will
18 + move to /usr/libexec/git-core/ or somesuch.
19 +
20 + * git-merge will be rewritten in C.
21 +
22 +Currently tip of 'pu' is broken and does not pass tests, as j6t/mingw has
23 +interaction with dr/ceiling and jc/merge-theirs has interaction with
24 +mv/merge-in-c.
25 +
26 +----------------------------------------------------------------
27 +[New Topics]
28 +
29 +* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
30 + - rerere.autoupdate
31 + - t4200: fix rerere test
32 + - rerere: remove dubious "tail_optimization"
33 + - git-rerere: detect unparsable conflicts
34 + - rerere: rerere_created_at() and has_resolution() abstraction
35 +
36 +* sb/rebase (Sun Jun 22 01:55:50 2008 +0200) 2 commits
37 + + t3404: stricter tests for git-rebase--interactive
38 + + api-builtin.txt: update and fix typo
39 +
40 +* sb/maint-rebase (Sun Jun 22 16:07:02 2008 +0200) 1 commit
41 + + git-rebase.sh: Add check if rebase is in progress
42 +
43 +----------------------------------------------------------------
44 +[Will merge to master soon]
45 +
46 +* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
47 + + gitweb: standarize HTTP status codes
48 +
49 +* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
50 + + Add config option to enable 'fsync()' of object files
51 + + Split up default "i18n" and "branch" config parsing into helper
52 + routines
53 + + Split up default "user" config parsing into helper routine
54 + + Split up default "core" config parsing into helper routine
55 +
56 +* nd/dashless (Wed Nov 28 23:21:57 2007 +0700) 1 commit
57 + + Move all dashed-form commands to libexecdir
58 +
59 +Scheduled for 1.6.0.
60 +
61 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
62 + + merge: remove deprecated summary and diffstat options and config
63 + variables
64 +
65 +* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
66 + + Hook up the result aggregation in the test makefile.
67 + + A simple script to parse the results from the testcases
68 + + Modify test-lib.sh to output stats to t/test-results/*
69 +
70 +* jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits
71 + + Teach "git clone" to pack refs
72 + + Prepare testsuite for a "git clone" that packs refs
73 + + Move pack_refs() and friends into libgit
74 + + Incorporate fetched packs in future object traversal
75 +
76 +This is useful when cloning from a repository with insanely large number
77 +of refs.
78 +
79 +* lw/perlish (Thu Jun 19 22:32:49 2008 +0200) 2 commits
80 + + Git.pm: add test suite
81 + + t/test-lib.sh: add test_external and test_external_without_stderr
82 +
83 +Beginning of regression tests for Perl part of the system.
84 +
85 +----------------------------------------------------------------
86 +[Actively Cooking]
87 +
88 +* mv/merge-in-c (Sat Jun 21 19:15:35 2008 +0200) 14 commits
89 + - Add new test case to ensure git-merge reduces octopus parents when
90 + possible
91 + - Add new test case to ensure git-merge filters for independent
92 + parents
93 + - Build in merge
94 + - Introduce reduce_heads()
95 + - Introduce get_merge_bases_many()
96 + - Add new test to ensure git-merge handles more than 25 refs.
97 + - Introduce get_octopus_merge_bases() in commit.c
98 + - git-fmt-merge-msg: make it usable from other builtins
99 + - Move read_cache_unmerged() to read-cache.c
100 + - parseopt: add a new PARSE_OPT_ARGV0_IS_AN_OPTION option
101 + - Add new test to ensure git-merge handles pull.twohead and
102 + pull.octopus
103 + - Move parse-options's skip_prefix() to git-compat-util.h
104 + - Move commit_list_count() to commit.c
105 + - Move split_cmdline() to alias.c
106 +
107 +* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
108 + - Prepare execv_git_cmd() for removal of builtins from the
109 + filesystem
110 + - git-shell: accept "git foo" form
111 +
112 +We do not plan to remove git-foo form completely from the filesystem at
113 +this point, but git-shell may need to be updated.
114 +
115 +* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
116 + + Eliminate an unnecessary chdir("..")
117 + + Add support for GIT_CEILING_DIRECTORIES
118 + + Fold test-absolute-path into test-path-utils
119 + + Implement normalize_absolute_path
120 +
121 +----------------------------------------------------------------
122 +[Graduated to "master"]
123 +
124 +* rs/archive-ignore (Sun Jun 8 18:42:33 2008 +0200) 1 commit
125 + + Teach new attribute 'export-ignore' to git-archive
126 +
127 +* lt/racy-empty (Tue Jun 10 10:44:43 2008 -0700) 1 commit
128 + + racy-git: an empty blob has a fixed object name
129 +
130 +* sn/static (Thu Jun 19 08:21:11 2008 +0900) 2 commits
131 + + config.c: make git_env_bool() static
132 + + environment.c: remove unused function
133 +
134 +* jc/maint-combine-diff-pre-context (Wed Jun 18 23:59:41 2008 -0700) 1 commit
135 + + diff -c/--cc: do not include uninteresting deletion before leading
136 + context
137 +
138 +* lt/maint-gitdir-relative (Thu Jun 19 12:34:06 2008 -0700) 1 commit
139 + + Make git_dir a path relative to work_tree in setup_work_tree()
140 +
141 +* jn/web (Tue Jun 10 19:21:44 2008 +0200) 2 commits
142 + + gitweb: Separate generating 'sort by' table header
143 + + gitweb: Separate filling list of projects info
144 +
145 +* rg/gitweb (Fri Jun 6 09:53:32 2008 +0200) 1 commit
146 + + gitweb: remove git_blame and rename git_blame2 to git_blame
147 +
148 +* kh/update-ref (Tue Jun 3 01:34:53 2008 +0200) 2 commits
149 + + Make old sha1 optional with git update-ref -d
150 + + Clean up builtin-update-ref's option parsing
151 +
152 +* mo/status-untracked (Thu Jun 5 14:47:50 2008 +0200) 3 commits
153 + + Add configuration option for default untracked files mode
154 + + Add argument 'no' commit/status option -u|--untracked-files
155 + + Add an optional <mode> argument to commit/status -u|--untracked-
156 + files option
157 +
158 +* jk/test (Sat Jun 14 03:28:07 2008 -0400) 5 commits
159 + + enable whitespace checking of test scripts
160 + + avoid trailing whitespace in zero-change diffstat lines
161 + + avoid whitespace on empty line in automatic usage message
162 + + mask necessary whitespace policy violations in test scripts
163 + + fix whitespace violations in test scripts
164 +
165 +Tightens whitespace rules for t/*.sh scripts.
166 +
167 +* pb/fast-export (Wed Jun 11 13:17:04 2008 +0200) 1 commit
168 + + builtin-fast-export: Add importing and exporting of revision marks
169 +
170 +----------------------------------------------------------------
171 +[On Hold]
172 +
173 +* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
174 + + Remove the use of '--' in merge program invocation
175 +
176 +Waiting for success reports from people who use various backends.
177 +
178 +* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
179 + - compat/pread.c: Add a forward declaration to fix a warning
180 + - Windows: Fix ntohl() related warnings about printf formatting
181 + - Windows: TMP and TEMP environment variables specify a temporary
182 + directory.
183 + - Windows: Make 'git help -a' work.
184 + - Windows: Work around an oddity when a pipe with no reader is
185 + written to.
186 + - Windows: Make the pager work.
187 + - When installing, be prepared that template_dir may be relative.
188 + - Windows: Use a relative default template_dir and ETC_GITCONFIG
189 + - Windows: Compute the fallback for exec_path from the program
190 + invocation.
191 + - Turn builtin_exec_path into a function.
192 + - Windows: Use a customized struct stat that also has the st_blocks
193 + member.
194 + - Windows: Add a custom implementation for utime().
195 + - Windows: Add a new lstat and fstat implementation based on Win32
196 + API.
197 + - Windows: Implement a custom spawnve().
198 + - Windows: Implement wrappers for gethostbyname(), socket(), and
199 + connect().
200 + - Windows: Work around incompatible sort and find.
201 + - Windows: Implement asynchronous functions as threads.
202 + - Windows: Disambiguate DOS style paths from SSH URLs.
203 + - Windows: A rudimentary poll() emulation.
204 + - Windows: Change the name of hook scripts to make them not
205 + executable.
206 + - Windows: Implement start_command().
207 + - Windows: A pipe() replacement whose ends are not inherited to
208 + children.
209 + - Windows: Wrap execve so that shell scripts can be invoked.
210 + - Windows: Implement setitimer() and sigaction().
211 + - Windows: Fix PRIuMAX definition.
212 + - Windows: Implement gettimeofday().
213 + - Windows: Handle absolute paths in
214 + safe_create_leading_directories().
215 + - Windows: Treat Windows style path names.
216 + - setup.c: Prepare for Windows directory separators.
217 + - Windows: Work around misbehaved rename().
218 + - Windows: always chmod(, 0666) before unlink().
219 + - Windows: A minimal implemention of getpwuid().
220 + - Windows: Implement a wrapper of the open() function.
221 + - Windows: Strip ".exe" from the program name.
222 + - Windows: Use the Windows style PATH separator ';'.
223 + - Add target architecture MinGW.
224 + - Compile some programs only conditionally.
225 + - Add compat/regex.[ch] and compat/fnmatch.[ch].
226 +
227 +No explanation is necessary ;-). The series is probably 'next' worthy
228 +as-is.
229 +
230 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
231 + - diff: enable "too large a rename" warning when -M/-C is explicitly
232 + asked for
233 +
234 +This would be the right thing to do for command line use, but gitk will be
235 +hit due to tcl/tk's limitation, so I am holding this back for now.
236 +
237 +----------------------------------------------------------------
238 +[Stalled/Needs more work]
239 +
240 +* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
241 + - Per-ref reflog expiry configuration
242 +
243 +Perhaps a good foundation for optionally unexpirable stash. As 1.6.0 will
244 +be a good time to make backward incompatible changes, we might make expiry
245 +period of stash 'never' in new repositories. Needs a concensus.
246 +
247 +* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
248 + - git-merge-recursive-{ours,theirs}
249 + - git-merge-file --ours, --theirs
250 +
251 +Punting a merge by discarding your own work in conflicting parts but still
252 +salvaging the parts that are cleanly automerged. It is likely that this
253 +will result in nonsense mishmash, but somehow often people want this, so
254 +here they are. The interface to the backends may need to change, though.
255 +
256 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
257 + - blame: show "previous" information in --porcelain/--incremental
258 + format
259 + - git-blame: refactor code to emit "porcelain format" output
260 + + git-blame --reverse
261 + + builtin-blame.c: allow more than 16 parents
262 + + builtin-blame.c: move prepare_final() into a separate function.
263 + + rev-list --children
264 + + revision traversal: --children option
265 +
266 +The blame that finds where each line in the original lines moved to. This
267 +may help a GSoC project that wants to gather statistical overview of the
268 +history. The final presentation may need tweaking (see the log message of
269 +the commit ""git-blame --reverse" on the series).
270 +
271 +The tip two commits are for peeling to see what's behind the blamed
272 +commit, which we should be able to separate out into an independent topic
273 +from the rest.
274 +
275 +----------------------------------------------------------------
276 +[Dropped for now]
277 +
278 +* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
279 + . Introduce fast forward option only
280 + . Head reduction before selecting merge strategy
281 + . Restructure git-merge.sh
282 + . Introduce -ff=<fast forward option>
283 + . New merge tests
284 + . Documentation for joining more than two histories
285 +
286 +This will interfere with Miklos's rewrite of merge to C.
287 +
288 +* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
289 + . Use perl instead of tac
290 + . Fix t3404 assumption that `wc -l` does not use whitespace.
291 + . rebase -i: Use : in expr command instead of match.
292 + . rebase -i: update the implementation of 'mark' command
293 + . Add option --preserve-tags
294 + . Teach rebase interactive the tag command
295 + . Add option --first-parent
296 + . Do rebase with preserve merges with advanced TODO list
297 + . Select all lines with fake-editor
298 + . Unify the length of $SHORT* and the commits in the TODO list
299 + . Teach rebase interactive the merge command
300 + . Move redo merge code in a function
301 + . Teach rebase interactive the reset command
302 + . Teach rebase interactive the mark command
303 + . Move cleanup code into it's own function
304 + . Don't append default merge message to -m message
305 + . fake-editor: output TODO list if unchanged
306 +
307 +* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
308 + . WIP: rethink replay merge
309 + . Start using replay-tree merge in cherry-pick
310 + . revert/cherry-pick: start refactoring call to merge_recursive
311 +
312 +This is meant to improve cherry-pick's behaviour when renames are
313 +involved, by not using merge-recursive (whose d/f conflict resolution is
314 +quite broken), but unfortunately has stalled for some time now.
315 +
316 +* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
317 + . git-am --forge: add Signed-off-by: line for the author
318 + . git-am: clean-up Signed-off-by: lines
319 + . stripspace: add --log-clean option to clean up signed-off-by:
320 + lines
321 + . stripspace: use parse_options()
322 + . Add "git am -s" test
323 + . git-am: refactor code to add signed-off-by line for the committer
324 +
325 +Just my toy at this moment.
326 +
327 +* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
328 + . "git push": tellme-more protocol extension
329 +
whats/cooking/2008/06/03.txt new
+295
@@ -0,0 +1,295 @@
1 +What's cooking in git.git (Jun 2008, issue #03; Wed, 25)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order.
9 +
10 +It already is beginning to become clear what 1.6.0 will look like. What's
11 +already in 'next' all are well intentioned (I do not guarantee they are
12 +already bug-free --- that is what cooking them in 'next' is for) and are
13 +good set of feature enhancements. But bigger changes will be:
14 +
15 + * MinGW will be in.
16 +
17 + * /usr/bin/git-cat-file is no more. The bulk of the git commands will
18 + move to /usr/libexec/git-core/ or somesuch.
19 +
20 + * git-merge will be rewritten in C.
21 +
22 + * default pack and idx versions will be updated as scheduled for some
23 + time ago.
24 +
25 +----------------------------------------------------------------
26 +[New Topics]
27 +
28 +* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
29 + - Migrate git-blame to parse-option partially.
30 + - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
31 + - parse-opt: fake short strings for callers to believe in.
32 + - parse-opt: do not pring errors on unknown options, return -2
33 + intead.
34 + - parse-opt: create parse_options_step.
35 + - parse-opt: Export a non NORETURN usage dumper.
36 + - parse-opt: have parse_options_{start,end}.
37 +
38 +----------------------------------------------------------------
39 +[Will merge to master soon]
40 +
41 +* lw/gitweb (Thu Jun 19 22:03:21 2008 +0200) 1 commit
42 + + gitweb: standarize HTTP status codes
43 +
44 +* lt/config-fsync (Wed Jun 18 15:18:44 2008 -0700) 4 commits
45 + + Add config option to enable 'fsync()' of object files
46 + + Split up default "i18n" and "branch" config parsing into helper
47 + routines
48 + + Split up default "user" config parsing into helper routine
49 + + Split up default "core" config parsing into helper routine
50 +
51 +* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
52 + + Keep some git-* programs in $(bindir)
53 + + Move all dashed-form commands to libexecdir
54 +
55 +Scheduled for 1.6.0. We'll leave server-side programs in $(bindir)
56 +so that ssh clients can ask for "git-program" and find them on the $PATH.
57 +
58 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
59 + + merge: remove deprecated summary and diffstat options and config
60 + variables
61 +
62 +* sr/tests (Sun Jun 8 16:04:35 2008 +0200) 3 commits
63 + + Hook up the result aggregation in the test makefile.
64 + + A simple script to parse the results from the testcases
65 + + Modify test-lib.sh to output stats to t/test-results/*
66 +
67 +* jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits
68 + + Teach "git clone" to pack refs
69 + + Prepare testsuite for a "git clone" that packs refs
70 + + Move pack_refs() and friends into libgit
71 + + Incorporate fetched packs in future object traversal
72 +
73 +This is useful when cloning from a repository with insanely large number
74 +of refs.
75 +
76 +* lw/perlish (Thu Jun 19 22:32:49 2008 +0200) 2 commits
77 + + Git.pm: add test suite
78 + + t/test-lib.sh: add test_external and test_external_without_stderr
79 +
80 +Beginning of regression tests for Perl part of the system.
81 +
82 +----------------------------------------------------------------
83 +[Actively Cooking]
84 +
85 +* mv/merge-in-c (Sat Jun 21 19:15:35 2008 +0200) 12 commits
86 + - Add new test case to ensure git-merge reduces octopus parents when
87 + possible
88 + - Build in merge
89 + - Introduce reduce_heads()
90 + - Introduce get_merge_bases_many()
91 + - Add new test to ensure git-merge handles more than 25 refs.
92 + - Introduce get_octopus_merge_bases() in commit.c
93 + - git-fmt-merge-msg: make it usable from other builtins
94 + - Move read_cache_unmerged() to read-cache.c
95 + - Add new test to ensure git-merge handles pull.twohead and
96 + pull.octopus
97 + - Move parse-options's skip_prefix() to git-compat-util.h
98 + - Move commit_list_count() to commit.c
99 + - Move split_cmdline() to alias.c
100 +
101 +I dropped the change to parseopt in this series and fixed up the caller.
102 +
103 +* jc/dashless (Sat Dec 1 22:09:22 2007 -0800) 2 commits
104 + + Prepare execv_git_cmd() for removal of builtins from the
105 + filesystem
106 + + git-shell: accept "git foo" form
107 +
108 +We do not plan to remove git-foo form completely from the filesystem at
109 +this point, but git-shell may need to be updated.
110 +
111 +* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
112 + + Eliminate an unnecessary chdir("..")
113 + + Add support for GIT_CEILING_DIRECTORIES
114 + + Fold test-absolute-path into test-path-utils
115 + + Implement normalize_absolute_path
116 +
117 +* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
118 + - rerere.autoupdate
119 + - t4200: fix rerere test
120 + - rerere: remove dubious "tail_optimization"
121 + - git-rerere: detect unparsable conflicts
122 + - rerere: rerere_created_at() and has_resolution() abstraction
123 +
124 +* sb/rebase (Sun Jun 22 01:55:50 2008 +0200) 2 commits
125 + + t3404: stricter tests for git-rebase--interactive
126 + + api-builtin.txt: update and fix typo
127 +
128 +* sb/maint-rebase (Sun Jun 22 16:07:02 2008 +0200) 1 commit
129 + + git-rebase.sh: Add check if rebase is in progress
130 +
131 +----------------------------------------------------------------
132 +[Graduated to "master"]
133 +
134 +
135 +----------------------------------------------------------------
136 +[On Hold]
137 +
138 +* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
139 + + Remove the use of '--' in merge program invocation
140 +
141 +Waiting for success reports from people who use various backends.
142 +
143 +* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 39 commits
144 + - compat/pread.c: Add a forward declaration to fix a warning
145 + - Windows: Fix ntohl() related warnings about printf formatting
146 + - Windows: TMP and TEMP environment variables specify a temporary
147 + directory.
148 + - Windows: Make 'git help -a' work.
149 + - Windows: Work around an oddity when a pipe with no reader is
150 + written to.
151 + - Windows: Make the pager work.
152 + - When installing, be prepared that template_dir may be relative.
153 + - Windows: Use a relative default template_dir and ETC_GITCONFIG
154 + - Windows: Compute the fallback for exec_path from the program
155 + invocation.
156 + - Turn builtin_exec_path into a function.
157 + - Windows: Use a customized struct stat that also has the st_blocks
158 + member.
159 + - Windows: Add a custom implementation for utime().
160 + - Windows: Add a new lstat and fstat implementation based on Win32
161 + API.
162 + - Windows: Implement a custom spawnve().
163 + - Windows: Implement wrappers for gethostbyname(), socket(), and
164 + connect().
165 + - Windows: Work around incompatible sort and find.
166 + - Windows: Implement asynchronous functions as threads.
167 + - Windows: Disambiguate DOS style paths from SSH URLs.
168 + - Windows: A rudimentary poll() emulation.
169 + - Windows: Change the name of hook scripts to make them not
170 + executable.
171 + - Windows: Implement start_command().
172 + - Windows: A pipe() replacement whose ends are not inherited to
173 + children.
174 + - Windows: Wrap execve so that shell scripts can be invoked.
175 + - Windows: Implement setitimer() and sigaction().
176 + - Windows: Fix PRIuMAX definition.
177 + - Windows: Implement gettimeofday().
178 + - Make my_mktime() public and rename it to tm_to_time_t()
179 + - Windows: Work around misbehaved rename().
180 + - Windows: always chmod(, 0666) before unlink().
181 + - Windows: A minimal implemention of getpwuid().
182 + - Windows: Implement a wrapper of the open() function.
183 + - Windows: Strip ".exe" from the program name.
184 + - Windows: Handle absolute paths in
185 + safe_create_leading_directories().
186 + - Windows: Treat Windows style path names.
187 + - setup.c: Prepare for Windows directory separators.
188 + - Windows: Use the Windows style PATH separator ';'.
189 + - Add target architecture MinGW.
190 + - Compile some programs only conditionally.
191 + - Add compat/regex.[ch] and compat/fnmatch.[ch].
192 +
193 +No explanation is necessary ;-). The series is probably 'next' worthy
194 +as-is, except that template renaming hack won't be needed anymore.
195 +
196 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
197 + - diff: enable "too large a rename" warning when -M/-C is explicitly
198 + asked for
199 +
200 +This would be the right thing to do for command line use, but gitk will be
201 +hit due to tcl/tk's limitation, so I am holding this back for now.
202 +
203 +----------------------------------------------------------------
204 +[Stalled/Needs more work]
205 +
206 +* jc/reflog-expire (Sun Jun 15 23:48:46 2008 -0700) 1 commit
207 + - Per-ref reflog expiry configuration
208 +
209 +Perhaps a good foundation for optionally unexpirable stash. As 1.6.0 will
210 +be a good time to make backward incompatible changes, we might make expiry
211 +period of stash 'never' in new repositories. Needs a concensus.
212 +
213 +* jc/merge-theirs (Fri Jun 20 00:17:59 2008 -0700) 2 commits
214 + - git-merge-recursive-{ours,theirs}
215 + - git-merge-file --ours, --theirs
216 +
217 +Punting a merge by discarding your own work in conflicting parts but still
218 +salvaging the parts that are cleanly automerged. It is likely that this
219 +will result in nonsense mishmash, but somehow often people want this, so
220 +here they are. The interface to the backends may need to change, though.
221 +
222 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
223 + - blame: show "previous" information in --porcelain/--incremental
224 + format
225 + - git-blame: refactor code to emit "porcelain format" output
226 + + git-blame --reverse
227 + + builtin-blame.c: allow more than 16 parents
228 + + builtin-blame.c: move prepare_final() into a separate function.
229 + + rev-list --children
230 + + revision traversal: --children option
231 +
232 +The blame that finds where each line in the original lines moved to. This
233 +may help a GSoC project that wants to gather statistical overview of the
234 +history. The final presentation may need tweaking (see the log message of
235 +the commit ""git-blame --reverse" on the series).
236 +
237 +The tip two commits are for peeling to see what's behind the blamed
238 +commit, which we should be able to separate out into an independent topic
239 +from the rest.
240 +
241 +----------------------------------------------------------------
242 +[Dropped for now]
243 +
244 +* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
245 + . Introduce fast forward option only
246 + . Head reduction before selecting merge strategy
247 + . Restructure git-merge.sh
248 + . Introduce -ff=<fast forward option>
249 + . New merge tests
250 + . Documentation for joining more than two histories
251 +
252 +This will interfere with Miklos's rewrite of merge to C.
253 +
254 +* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
255 + . Use perl instead of tac
256 + . Fix t3404 assumption that `wc -l` does not use whitespace.
257 + . rebase -i: Use : in expr command instead of match.
258 + . rebase -i: update the implementation of 'mark' command
259 + . Add option --preserve-tags
260 + . Teach rebase interactive the tag command
261 + . Add option --first-parent
262 + . Do rebase with preserve merges with advanced TODO list
263 + . Select all lines with fake-editor
264 + . Unify the length of $SHORT* and the commits in the TODO list
265 + . Teach rebase interactive the merge command
266 + . Move redo merge code in a function
267 + . Teach rebase interactive the reset command
268 + . Teach rebase interactive the mark command
269 + . Move cleanup code into it's own function
270 + . Don't append default merge message to -m message
271 + . fake-editor: output TODO list if unchanged
272 +
273 +* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
274 + . WIP: rethink replay merge
275 + . Start using replay-tree merge in cherry-pick
276 + . revert/cherry-pick: start refactoring call to merge_recursive
277 +
278 +This is meant to improve cherry-pick's behaviour when renames are
279 +involved, by not using merge-recursive (whose d/f conflict resolution is
280 +quite broken), but unfortunately has stalled for some time now.
281 +
282 +* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
283 + . git-am --forge: add Signed-off-by: line for the author
284 + . git-am: clean-up Signed-off-by: lines
285 + . stripspace: add --log-clean option to clean up signed-off-by:
286 + lines
287 + . stripspace: use parse_options()
288 + . Add "git am -s" test
289 + . git-am: refactor code to add signed-off-by line for the committer
290 +
291 +Just my toy at this moment.
292 +
293 +* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
294 + . "git push": tellme-more protocol extension
295 +
whats/cooking/2008/06/04.txt new
+339
@@ -0,0 +1,339 @@
1 +What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be applied to the maintenance series have "maint-" in their
10 +names.
11 +
12 +It already is beginning to become clear what 1.6.0 will look like. What's
13 +already in 'next' all are well intentioned (I do not guarantee they are
14 +already bug-free --- that is what cooking them in 'next' is for) and are
15 +good set of feature enhancements. Bigger changes will be:
16 +
17 + * MinGW will be in.
18 +
19 + * With the default Makefile settings, most of the programs will be
20 + installed outside your $PATH, except for "git", "gitk", "git-gui" and
21 + some server side programs that need to be accessible for technical
22 + reasons. Invoking a git subcommand as "git-xyzzy" from the command
23 + line has been deprecated since early 2006 (and officially announced in
24 + 1.5.4 release notes); use of them from your scripts after adding
25 + output from "git --exec-path" to the $PATH will still be supported in
26 + 1.6.0, but users are again strongly encouraged to adjust their
27 + scripts to use "git xyzzy" form, as we will stop installing
28 + "git-xyzzy" hardlinks for built-in commands in later releases.
29 +
30 + * git-merge will be rewritten in C.
31 +
32 + * default pack and idx versions will be updated as scheduled for some
33 + time ago.
34 +
35 +----------------------------------------------------------------
36 +[Will merge to master soon]
37 +
38 +* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
39 + + Keep some git-* programs in $(bindir)
40 + + Move all dashed-form commands to libexecdir
41 +
42 +Scheduled for 1.6.0. We'll leave server-side programs in $(bindir) so
43 +that ssh clients can ask for "git-program" and find them on the $PATH.
44 +Next major release after 1.6.0 would most likely remove the hardlinks to
45 +built-in commands, but not yet.
46 +
47 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
48 + + merge: remove deprecated summary and diffstat options and config
49 + variables
50 +
51 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 4 commits
52 + + Revert "Make clients ask for "git program" over ssh and local
53 + transport"
54 + + Make clients ask for "git program" over ssh and local transport
55 + + Prepare execv_git_cmd() for removal of builtins from the
56 + filesystem
57 + + git-shell: accept "git foo" form
58 +
59 +----------------------------------------------------------------
60 +[Actively Cooking]
61 +
62 +* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits
63 + + fetch: give a hint to the user when local refs fail to update
64 + + fetch: report local storage errors in status table
65 +
66 +When the remote used to have "foo" branch but now has "foo/bar", fetch
67 +refuses to delete the existing remote tracking branch "foo" to create a
68 +new remote tracking branch "foo/bar", but the error message was
69 +confusing.
70 +
71 +* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit
72 + + Allow "git-reset path" when unambiguous
73 +
74 +We used to require "git-reset -- path" even when there is no ambiguity
75 +(i.e. path cannot be mistaken as a valid tree-ish and it is a filename in
76 +the work tree).
77 +
78 +* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits
79 + + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
80 + + clone: respect url.insteadOf setting in global configs
81 +
82 +"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig. I think
83 +Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (even
84 +though it feels very scary), and it would make the solution much simpler,
85 +but it came late and it is already past my bedtime, so...
86 +
87 +* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits
88 + + git-send-email: prevent undefined variable warnings if no
89 + encryption is set
90 + + git-send-email: add support for TLS via Net::SMTP::SSL
91 +
92 +* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit
93 + + git-send-email: Accept fifos as well as files
94 +
95 +Two minor send-email feature enhancements for 1.6.0.
96 +
97 +* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits
98 + + Fix t4017-diff-retval for white-space from wc
99 + + Update sample pre-commit hook to use "diff --check"
100 + + diff --check: detect leftover conflict markers
101 + + Teach "diff --check" about new blank lines at end
102 + + checkdiff: pass diff_options to the callback
103 + + check_and_emit_line(): rename and refactor
104 + + diff --check: explain why we do not care whether old side is
105 + binary
106 +
107 +Allows us to replace the sample pre-commit hook that was not aware of the
108 +line termination convention per path nor newer whitespace breakage rules.
109 +
110 +* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits
111 + + pack.indexversion config option now defaults to 2
112 + + repack.usedeltabaseoffset config option now defaults to "true"
113 +
114 +Updates the default value for pack.indexversion to 2 and use delta-base
115 +offset encoding of the packfiles by default.
116 +
117 +* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit
118 + + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
119 +
120 +A good ingredient for implementing "apply --edit".
121 +
122 +* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit
123 + + git-apply: handle a patch that touches the same path more than
124 + once better
125 +
126 +Allows us to feed a patch that touches the same path more than once.
127 +
128 +* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
129 + - Make default expiration period of reflog used for stash infinite
130 + - Per-ref reflog expiry configuration
131 +
132 +As 1.6.0 will be a good time to make backward incompatible changes, the
133 +tip commit makes the default expiry period of stash 'never', unless you
134 +configure them to expire explicitly using gc.refs/stash.* variables.
135 +Needs consensus, but I am guessing that enough people would want stash
136 +that does not expire.
137 +
138 +* jc/merge-theirs (Sat Jun 28 17:28:22 2008 -0700) 3 commits
139 + + Teach git-merge to pass -X<option> to the backend strategy module
140 + + git-merge-recursive-{ours,theirs}
141 + + git-merge-file --ours, --theirs
142 +
143 +Punting a merge by discarding your own work in conflicting parts but still
144 +salvaging the parts that are cleanly automerged. It is likely that this
145 +will result in nonsense mishmash, but somehow often people want this, so
146 +here they are. The interface to the backends is updated so that you can
147 +say "git merge -Xours -s recursive other" now.
148 +
149 +* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
150 + + compat/pread.c: Add a forward declaration to fix a warning
151 + + Windows: Fix ntohl() related warnings about printf formatting
152 + + Windows: TMP and TEMP environment variables specify a temporary
153 + directory.
154 + + Windows: Make 'git help -a' work.
155 + + Windows: Work around an oddity when a pipe with no reader is
156 + written to.
157 + + Windows: Make the pager work.
158 + + When installing, be prepared that template_dir may be relative.
159 + + Windows: Use a relative default template_dir and ETC_GITCONFIG
160 + + Windows: Compute the fallback for exec_path from the program
161 + invocation.
162 + + Turn builtin_exec_path into a function.
163 + + Windows: Use a customized struct stat that also has the st_blocks
164 + member.
165 + + Windows: Add a custom implementation for utime().
166 + + Windows: Add a new lstat and fstat implementation based on Win32
167 + API.
168 + + Windows: Implement a custom spawnve().
169 + + Windows: Implement wrappers for gethostbyname(), socket(), and
170 + connect().
171 + + Windows: Work around incompatible sort and find.
172 + + Windows: Implement asynchronous functions as threads.
173 + + Windows: Disambiguate DOS style paths from SSH URLs.
174 + + Windows: A rudimentary poll() emulation.
175 + + Windows: Implement start_command().
176 + + Windows: A pipe() replacement whose ends are not inherited to
177 + children.
178 + + Windows: Wrap execve so that shell scripts can be invoked.
179 + + Windows: Implement setitimer() and sigaction().
180 + + Windows: Fix PRIuMAX definition.
181 + + Windows: Implement gettimeofday().
182 + + Make my_mktime() public and rename it to tm_to_time_t()
183 + + Windows: Work around misbehaved rename().
184 + + Windows: always chmod(, 0666) before unlink().
185 + + Windows: A minimal implemention of getpwuid().
186 + + Windows: Implement a wrapper of the open() function.
187 + + Windows: Strip ".exe" from the program name.
188 + + Windows: Handle absolute paths in
189 + safe_create_leading_directories().
190 + + Windows: Treat Windows style path names.
191 + + setup.c: Prepare for Windows directory separators.
192 + + Windows: Use the Windows style PATH separator ';'.
193 + + Add target architecture MinGW.
194 + + Compile some programs only conditionally.
195 + + Add compat/regex.[ch] and compat/fnmatch.[ch].
196 +
197 +No explanation necessary ;-)
198 +
199 +* mv/merge-in-c (Mon Jun 30 03:39:58 2008 +0200) 13 commits
200 + - Build in merge
201 + - Add new test case to ensure git-merge prepends the custom merge
202 + message
203 + - Add new test case to ensure git-merge reduces octopus parents when
204 + possible
205 + - Introduce reduce_heads()
206 + - Introduce get_merge_bases_many()
207 + - Add new test to ensure git-merge handles more than 25 refs.
208 + - Introduce get_octopus_merge_bases() in commit.c
209 + - git-fmt-merge-msg: make it usable from other builtins
210 + - Move read_cache_unmerged() to read-cache.c
211 + - Add new test to ensure git-merge handles pull.twohead and
212 + pull.octopus
213 + - Move parse-options's skip_prefix() to git-compat-util.h
214 + - Move commit_list_count() to commit.c
215 + - Move split_cmdline() to alias.c
216 +
217 +The last one is still in flux.
218 +
219 +* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
220 + + Eliminate an unnecessary chdir("..")
221 + + Add support for GIT_CEILING_DIRECTORIES
222 + + Fold test-absolute-path into test-path-utils
223 + + Implement normalize_absolute_path
224 +
225 +* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
226 + + rerere.autoupdate
227 + + t4200: fix rerere test
228 + + rerere: remove dubious "tail_optimization"
229 + + git-rerere: detect unparsable conflicts
230 + + rerere: rerere_created_at() and has_resolution() abstraction
231 +
232 +A new configuration will allow paths that have been resolved cleanly by
233 +rerere to be updated in the index automatically.
234 +
235 +* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
236 + - Migrate git-blame to parse-option partially.
237 + - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
238 + - parse-opt: fake short strings for callers to believe in.
239 + - parse-opt: do not pring errors on unknown options, return -2
240 + intead.
241 + - parse-opt: create parse_options_step.
242 + - parse-opt: Export a non NORETURN usage dumper.
243 + - parse-opt: have parse_options_{start,end}.
244 +
245 +----------------------------------------------------------------
246 +[Graduated to "master"]
247 +
248 +----------------------------------------------------------------
249 +[On Hold]
250 +
251 +* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
252 + + Remove the use of '--' in merge program invocation
253 +
254 +Waiting for success reports from people who use various backends.
255 +
256 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
257 + - diff: enable "too large a rename" warning when -M/-C is explicitly
258 + asked for
259 +
260 +This would be the right thing to do for command line use, but gitk will be
261 +hit due to tcl/tk's limitation, so I am holding this back for now.
262 +
263 +----------------------------------------------------------------
264 +[Stalled/Needs more work]
265 +
266 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
267 + - blame: show "previous" information in --porcelain/--incremental
268 + format
269 + - git-blame: refactor code to emit "porcelain format" output
270 + + git-blame --reverse
271 + + builtin-blame.c: allow more than 16 parents
272 + + builtin-blame.c: move prepare_final() into a separate function.
273 + + rev-list --children
274 + + revision traversal: --children option
275 +
276 +The blame that finds where each line in the original lines moved to. This
277 +may help a GSoC project that wants to gather statistical overview of the
278 +history. The final presentation may need tweaking (see the log message of
279 +the commit ""git-blame --reverse" on the series).
280 +
281 +The tip two commits are for peeling to see what's behind the blamed
282 +commit, which we should be able to separate out into an independent topic
283 +from the rest.
284 +
285 +----------------------------------------------------------------
286 +[Dropped for now]
287 +
288 +* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
289 + . Introduce fast forward option only
290 + . Head reduction before selecting merge strategy
291 + . Restructure git-merge.sh
292 + . Introduce -ff=<fast forward option>
293 + . New merge tests
294 + . Documentation for joining more than two histories
295 +
296 +This will interfere with Miklos's rewrite of merge to C.
297 +
298 +* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
299 + . Use perl instead of tac
300 + . Fix t3404 assumption that `wc -l` does not use whitespace.
301 + . rebase -i: Use : in expr command instead of match.
302 + . rebase -i: update the implementation of 'mark' command
303 + . Add option --preserve-tags
304 + . Teach rebase interactive the tag command
305 + . Add option --first-parent
306 + . Do rebase with preserve merges with advanced TODO list
307 + . Select all lines with fake-editor
308 + . Unify the length of $SHORT* and the commits in the TODO list
309 + . Teach rebase interactive the merge command
310 + . Move redo merge code in a function
311 + . Teach rebase interactive the reset command
312 + . Teach rebase interactive the mark command
313 + . Move cleanup code into it's own function
314 + . Don't append default merge message to -m message
315 + . fake-editor: output TODO list if unchanged
316 +
317 +* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
318 + . WIP: rethink replay merge
319 + . Start using replay-tree merge in cherry-pick
320 + . revert/cherry-pick: start refactoring call to merge_recursive
321 +
322 +This is meant to improve cherry-pick's behaviour when renames are
323 +involved, by not using merge-recursive (whose d/f conflict resolution is
324 +quite broken), but unfortunately has stalled for some time now.
325 +
326 +* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
327 + . git-am --forge: add Signed-off-by: line for the author
328 + . git-am: clean-up Signed-off-by: lines
329 + . stripspace: add --log-clean option to clean up signed-off-by:
330 + lines
331 + . stripspace: use parse_options()
332 + . Add "git am -s" test
333 + . git-am: refactor code to add signed-off-by line for the committer
334 +
335 +Just my toy at this moment.
336 +
337 +* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
338 + . "git push": tellme-more protocol extension
339 +
whats/cooking/2008/07/01.txt new
+415
@@ -0,0 +1,415 @@
1 +What's cooking in git.git (Jul 2008, issue #01; Tue, 01)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be applied to the maintenance series have "maint-" in their
10 +names.
11 +
12 +It already is beginning to become clear what 1.6.0 will look like. Wha=
13 +t's
14 +already in 'next' all are well intentioned (I do not guarantee they are
15 +already bug-free --- that is what cooking them in 'next' is for) and ar=
16 +e
17 +good set of feature enhancements. Bigger changes will be:
18 +
19 + * MinGW will be in.
20 +
21 + * With the default Makefile settings, most of the programs will be
22 + installed outside your $PATH, except for "git", "gitk", "git-gui" an=
23 +d
24 + some server side programs that need to be accessible for technical
25 + reasons. Invoking a git subcommand as "git-xyzzy" from the command
26 + line has been deprecated since early 2006 (and officially announced =
27 +in
28 + 1.5.4 release notes); use of them from your scripts after adding
29 + output from "git --exec-path" to the $PATH will still be supported i=
30 +n
31 + 1.6.0, but users are again strongly encouraged to adjust their
32 + scripts to use "git xyzzy" form, as we will stop installing
33 + "git-xyzzy" hardlinks for built-in commands in later releases.
34 +
35 + * git-merge will be rewritten in C.
36 +
37 + * default pack and idx versions will be updated as scheduled for some
38 + time ago.
39 +
40 + * GIT_CONFIG, which was only documented as affecting "git config", but
41 + actually affected all git commands, now only affects "git config".
42 + GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
43 + not different from GIT_CONFIG in a useful way, is removed.
44 +
45 +----------------------------------------------------------------
46 +[New Topics]
47 +
48 +* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
49 + + Add another fast-import example, this time for .zip files
50 +
51 +* js/apply-root (Tue Jul 1 00:44:47 2008 +0100) 1 commit
52 + + Teach "git apply" to prepend a prefix with "--root=3D<root>"
53 +
54 +* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
55 + + Only use GIT_CONFIG in "git config", not other programs
56 +
57 +----------------------------------------------------------------
58 +[Will merge to master soon]
59 +
60 +* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
61 + + compat/pread.c: Add a forward declaration to fix a warning
62 + + Windows: Fix ntohl() related warnings about printf formatting
63 + + Windows: TMP and TEMP environment variables specify a temporary
64 + directory.
65 + + Windows: Make 'git help -a' work.
66 + + Windows: Work around an oddity when a pipe with no reader is
67 + written to.
68 + + Windows: Make the pager work.
69 + + When installing, be prepared that template_dir may be relative.
70 + + Windows: Use a relative default template_dir and ETC_GITCONFIG
71 + + Windows: Compute the fallback for exec_path from the program
72 + invocation.
73 + + Turn builtin_exec_path into a function.
74 + + Windows: Use a customized struct stat that also has the st_blocks
75 + member.
76 + + Windows: Add a custom implementation for utime().
77 + + Windows: Add a new lstat and fstat implementation based on Win32
78 + API.
79 + + Windows: Implement a custom spawnve().
80 + + Windows: Implement wrappers for gethostbyname(), socket(), and
81 + connect().
82 + + Windows: Work around incompatible sort and find.
83 + + Windows: Implement asynchronous functions as threads.
84 + + Windows: Disambiguate DOS style paths from SSH URLs.
85 + + Windows: A rudimentary poll() emulation.
86 + + Windows: Implement start_command().
87 + + Windows: A pipe() replacement whose ends are not inherited to
88 + children.
89 + + Windows: Wrap execve so that shell scripts can be invoked.
90 + + Windows: Implement setitimer() and sigaction().
91 + + Windows: Fix PRIuMAX definition.
92 + + Windows: Implement gettimeofday().
93 + + Make my_mktime() public and rename it to tm_to_time_t()
94 + + Windows: Work around misbehaved rename().
95 + + Windows: always chmod(, 0666) before unlink().
96 + + Windows: A minimal implemention of getpwuid().
97 + + Windows: Implement a wrapper of the open() function.
98 + + Windows: Strip ".exe" from the program name.
99 + + Windows: Handle absolute paths in
100 + safe_create_leading_directories().
101 + + Windows: Treat Windows style path names.
102 + + setup.c: Prepare for Windows directory separators.
103 + + Windows: Use the Windows style PATH separator ';'.
104 + + Add target architecture MinGW.
105 + + Compile some programs only conditionally.
106 + + Add compat/regex.[ch] and compat/fnmatch.[ch].
107 +
108 +No explanation necessary ;-)
109 +
110 +----------------------------------------------------------------
111 +[Actively Cooking]
112 +
113 +* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
114 + - Make default expiration period of reflog used for stash infinite
115 + - Per-ref reflog expiry configuration
116 +
117 +As 1.6.0 will be a good time to make backward incompatible changes, the
118 +tip commit makes the default expiry period of stash 'never', unless you
119 +configure them to expire explicitly using gc.refs/stash.* variables.
120 +Needs consensus, but I am guessing that enough people would want stash
121 +that does not expire.
122 +
123 +We may want to change the commit topology used to represent a stash, as
124 +proposed in $gmane/85055 by Nana earlier.
125 +
126 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 4 commits
127 + - Make "subtree" part more orthogonal to the rest of merge-
128 + recursive.
129 + + Teach git-merge to pass -X<option> to the backend strategy module
130 + + git-merge-recursive-{ours,theirs}
131 + + git-merge-file --ours, --theirs
132 +
133 +Punting a merge by discarding your own work in conflicting parts but st=
134 +ill
135 +salvaging the parts that are cleanly automerged. It is likely that thi=
136 +s
137 +will result in nonsense mishmash, but somehow often people want this, s=
138 +o
139 +here they are. The interface to the backends is updated so that you ca=
140 +n
141 +say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
142 +
143 +* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 14 commits
144 + - Build in merge
145 + - git-commit-tree: make it usable from other builtins
146 + - Add new test case to ensure git-merge prepends the custom merge
147 + message
148 + - Add new test case to ensure git-merge reduces octopus parents when
149 + possible
150 + - Introduce reduce_heads()
151 + - Introduce get_merge_bases_many()
152 + - Add new test to ensure git-merge handles more than 25 refs.
153 + - Introduce get_octopus_merge_bases() in commit.c
154 + - git-fmt-merge-msg: make it usable from other builtins
155 + - Move read_cache_unmerged() to read-cache.c
156 + - Add new test to ensure git-merge handles pull.twohead and
157 + pull.octopus
158 + - Move parse-options's skip_prefix() to git-compat-util.h
159 + - Move commit_list_count() to commit.c
160 + - Move split_cmdline() to alias.c
161 +
162 +I think this is getting there. Will be in 'next' soon.
163 +
164 +* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
165 + + Eliminate an unnecessary chdir("..")
166 + + Add support for GIT_CEILING_DIRECTORIES
167 + + Fold test-absolute-path into test-path-utils
168 + + Implement normalize_absolute_path
169 +
170 +* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
171 + + rerere.autoupdate
172 + + t4200: fix rerere test
173 + + rerere: remove dubious "tail_optimization"
174 + + git-rerere: detect unparsable conflicts
175 + + rerere: rerere_created_at() and has_resolution() abstraction
176 +
177 +A new configuration will allow paths that have been resolved cleanly by
178 +rerere to be updated in the index automatically.
179 +
180 +* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
181 + - Migrate git-blame to parse-option partially.
182 + - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
183 + - parse-opt: fake short strings for callers to believe in.
184 + - parse-opt: do not print errors on unknown options, return -2
185 + intead.
186 + - parse-opt: create parse_options_step.
187 + - parse-opt: Export a non NORETURN usage dumper.
188 + - parse-opt: have parse_options_{start,end}.
189 +
190 +I recall Pierre said something about cleaning up the last one when he
191 +finds time, but other than that vague recollection, I lost track of thi=
192 +s
193 +series. I am tempted to fork a few topics off of the pen=C3=BAltimo on=
194 +e to
195 +convert a few more commands as examples and merge the result to 'next'.
196 +
197 +----------------------------------------------------------------
198 +[Graduated to "master"]
199 +
200 +* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
201 + + Remove the use of '--' in merge program invocation
202 +
203 +I got tired of waiting for success reports from people who use various
204 +backends. We will hear breakages if this breaks things anyway, and if =
205 +it
206 +does, it is a fairly simple single patch to revert.
207 +
208 +* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
209 + + Keep some git-* programs in $(bindir)
210 + + Move all dashed-form commands to libexecdir
211 +
212 +We'll leave server-side programs in $(bindir) so that ssh clients can a=
213 +sk
214 +for "git-program" and find them on the $PATH. Next major release after
215 +1.6.0 would most likely remove the hardlinks to built-in commands, but =
216 +not
217 +yet.
218 +
219 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
220 + + Prepare execv_git_cmd() for removal of builtins from the
221 + filesystem
222 + + git-shell: accept "git foo" form
223 +
224 +The botched "client asks 'git foo'" is not included. It will be long
225 +after everybody runs 1.6.0.
226 +
227 +* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits
228 + + fetch: give a hint to the user when local refs fail to update
229 + + fetch: report local storage errors in status table
230 +
231 +When the remote used to have "foo" branch but now has "foo/bar", fetch
232 +refuses to delete the existing remote tracking branch "foo" to create a
233 +new remote tracking branch "foo/bar", but the error message was
234 +confusing.
235 +
236 +Need to backmerge to 'maint' after a while.
237 +
238 +* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit
239 + + Allow "git-reset path" when unambiguous
240 +
241 +We used to require "git-reset -- path" even when there is no ambiguity
242 +(i.e. path cannot be mistaken as a valid tree-ish and it is a filename =
243 +in
244 +the work tree).
245 +
246 +Need to backmerge to 'maint' after a while.
247 +
248 +* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits
249 + + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
250 + + clone: respect url.insteadOf setting in global configs
251 +
252 +"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig. I think
253 +Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (eve=
254 +n
255 +though it feels very scary), and it would make the solution much simple=
256 +r,
257 +but these two are independently good fix for now. I'll queue GIT_CONFI=
258 +G
259 +one in 'next' and when it graduates the unsetenv() solution in these wi=
260 +ll
261 +become no-op.
262 +
263 +* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits
264 + + git-send-email: prevent undefined variable warnings if no
265 + encryption is set
266 + + git-send-email: add support for TLS via Net::SMTP::SSL
267 +
268 +* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit
269 + + git-send-email: Accept fifos as well as files
270 +
271 +Two minor send-email feature enhancements.
272 +
273 +* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits
274 + + Fix t4017-diff-retval for white-space from wc
275 + + Update sample pre-commit hook to use "diff --check"
276 + + diff --check: detect leftover conflict markers
277 + + Teach "diff --check" about new blank lines at end
278 + + checkdiff: pass diff_options to the callback
279 + + check_and_emit_line(): rename and refactor
280 + + diff --check: explain why we do not care whether old side is
281 + binary
282 +
283 +Allows us to replace the sample pre-commit hook that was not aware of t=
284 +he
285 +line termination convention per path nor newer whitespace breakage rule=
286 +s.
287 +
288 +* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits
289 + + pack.indexversion config option now defaults to 2
290 + + repack.usedeltabaseoffset config option now defaults to "true"
291 +
292 +Updates the default value for pack.indexversion to 2 and use delta-base
293 +offset encoding of the packfiles by default.
294 +
295 +* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit
296 + + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
297 +
298 +A good ingredient for implementing "apply --edit".
299 +
300 +* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit
301 + + git-apply: handle a patch that touches the same path more than
302 + once better
303 +
304 +Allows us to feed a patch that touches the same path more than once.
305 +
306 +----------------------------------------------------------------
307 +[On Hold]
308 +
309 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
310 + + merge: remove deprecated summary and diffstat options and config
311 + variables
312 +
313 +This was previously in "will be in master soon" category, but it turns =
314 +out
315 +that the synonyms to the ones this one deletes are fairly new invention
316 +that happend in 1.5.6 timeframe, and we cannot do this just yet.
317 +
318 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
319 + + Revert "Make clients ask for "git program" over ssh and local
320 + transport"
321 + + Make clients ask for "git program" over ssh and local transport
322 +
323 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
324 +timeframe.
325 +
326 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
327 + - diff: enable "too large a rename" warning when -M/-C is explicitly
328 + asked for
329 +
330 +This would be the right thing to do for command line use, but gitk will=
331 + be
332 +hit due to tcl/tk's limitation, so I am holding this back for now.
333 +
334 +----------------------------------------------------------------
335 +[Stalled/Needs more work]
336 +
337 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
338 + - blame: show "previous" information in --porcelain/--incremental
339 + format
340 + - git-blame: refactor code to emit "porcelain format" output
341 + + git-blame --reverse
342 + + builtin-blame.c: allow more than 16 parents
343 + + builtin-blame.c: move prepare_final() into a separate function.
344 + + rev-list --children
345 + + revision traversal: --children option
346 +
347 +The blame that finds where each line in the original lines moved to. T=
348 +his
349 +may help a GSoC project that wants to gather statistical overview of th=
350 +e
351 +history. The final presentation may need tweaking (see the log message=
352 + of
353 +the commit ""git-blame --reverse" on the series).
354 +
355 +The tip two commits are for peeling to see what's behind the blamed
356 +commit, which we should be able to separate out into an independent top=
357 +ic
358 +from the rest.
359 +
360 +----------------------------------------------------------------
361 +[Dropped for now]
362 +
363 +* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
364 + . Introduce fast forward option only
365 + . Head reduction before selecting merge strategy
366 + . Restructure git-merge.sh
367 + . Introduce -ff=3D<fast forward option>
368 + . New merge tests
369 + . Documentation for joining more than two histories
370 +
371 +This will interfere with Miklos's rewrite of merge to C.
372 +
373 +* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
374 + . Use perl instead of tac
375 + . Fix t3404 assumption that `wc -l` does not use whitespace.
376 + . rebase -i: Use : in expr command instead of match.
377 + . rebase -i: update the implementation of 'mark' command
378 + . Add option --preserve-tags
379 + . Teach rebase interactive the tag command
380 + . Add option --first-parent
381 + . Do rebase with preserve merges with advanced TODO list
382 + . Select all lines with fake-editor
383 + . Unify the length of $SHORT* and the commits in the TODO list
384 + . Teach rebase interactive the merge command
385 + . Move redo merge code in a function
386 + . Teach rebase interactive the reset command
387 + . Teach rebase interactive the mark command
388 + . Move cleanup code into it's own function
389 + . Don't append default merge message to -m message
390 + . fake-editor: output TODO list if unchanged
391 +
392 +* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
393 + . WIP: rethink replay merge
394 + . Start using replay-tree merge in cherry-pick
395 + . revert/cherry-pick: start refactoring call to merge_recursive
396 +
397 +This is meant to improve cherry-pick's behaviour when renames are
398 +involved, by not using merge-recursive (whose d/f conflict resolution i=
399 +s
400 +quite broken), but unfortunately has stalled for some time now.
401 +
402 +* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
403 + . git-am --forge: add Signed-off-by: line for the author
404 + . git-am: clean-up Signed-off-by: lines
405 + . stripspace: add --log-clean option to clean up signed-off-by:
406 + lines
407 + . stripspace: use parse_options()
408 + . Add "git am -s" test
409 + . git-am: refactor code to add signed-off-by line for the committer
410 +
411 +Just my toy at this moment.
412 +
413 +* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
414 + . "git push": tellme-more protocol extension
415 +
whats/cooking/2008/07/02.txt new
+329
@@ -0,0 +1,329 @@
1 +What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be applied to the maintenance series have "maint-" in their
10 +names.
11 +
12 +It already is beginning to become clear what 1.6.0 will look like. Wha=
13 +t's
14 +already in 'next' all are well intentioned (I do not guarantee they are
15 +already bug-free --- that is what cooking them in 'next' is for) and ar=
16 +e
17 +good set of feature enhancements. Bigger changes will be:
18 +
19 + * Port for MinGW.
20 +
21 + * With the default Makefile settings, most of the programs will be
22 + installed outside your $PATH, except for "git", "gitk", "git-gui" an=
23 +d
24 + some server side programs that need to be accessible for technical
25 + reasons. Invoking a git subcommand as "git-xyzzy" from the command
26 + line has been deprecated since early 2006 (and officially announced =
27 +in
28 + 1.5.4 release notes); use of them from your scripts after adding
29 + output from "git --exec-path" to the $PATH will still be supported i=
30 +n
31 + 1.6.0, but users are again strongly encouraged to adjust their
32 + scripts to use "git xyzzy" form, as we will stop installing
33 + "git-xyzzy" hardlinks for built-in commands in later releases.
34 +
35 + * git-merge will be rewritten in C.
36 +
37 + * default pack and idx versions will be updated as scheduled for some
38 + time ago.
39 +
40 + * GIT_CONFIG, which was only documented as affecting "git config", but
41 + actually affected all git commands, now only affects "git config".
42 + GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
43 + not different from GIT_CONFIG in a useful way, is removed.
44 +
45 +----------------------------------------------------------------
46 +[New Topics]
47 +
48 +* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit
49 + - [PARKED improvement suggested not rolled in] git daemon: avoid
50 + calling syslog() from a signal handler
51 +
52 +This will eventually appear in 'maint'; currently parked on 'pu', thoug=
53 +h.
54 +
55 +* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
56 + - branch -r -v: do not spit out garbage
57 + + stat_tracking_info(): clear object flags used during counting
58 + + git-branch -v: show the remote tracking statistics
59 + + git-status: show the remote tracking statistics
60 + + Refactor "tracking statistics" code used by "git checkout"
61 +
62 +Makes the "your branch is ahead of the tracked one by N commits" logic =
63 +and
64 +messages available to other commands; status and branch are updated.
65 +
66 +* sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit
67 + - stash: introduce 'stash save --keep-index' option
68 +
69 +One weakness of our "partial commit" workflow support used to be that t=
70 +he
71 +user can incrementally build what is to be committed in the index but t=
72 +hat
73 +state cannot be tested as a whole in the working tree. This allows you=
74 + to
75 +temporarily stash the remaining changes in the working tree so that the
76 +index state before running "stash save --keep-index" can be seen in the
77 +working tree to be tested and then committed. A recommended workflow t=
78 +o
79 +use after that commit is made needs to be documented (and support needs=
80 + to
81 +be added if necessary).
82 +
83 +* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
84 + + git-add--interactive: manual hunk editing mode
85 + + git-add--interactive: remove hunk coalescing
86 + + git-add--interactive: replace hunk recounting with apply --recount
87 +
88 +Adds 'e/dit' action to interactive add command.
89 +
90 +* am/stash-branch (Thu Jul 3 11:46:05 2008 +0530) 1 commit
91 + + Implement "git stash branch <newbranch> <stash>"
92 +
93 +Creates a new branch out of the stashed state, after returning from the
94 +interrupt that forced you to create the stash in the first place.
95 +
96 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
97 + - Ignore graft during object transfer [broken wrt shallow clones]
98 +
99 +Cloning or fetching from a repository from grafts did not send objects
100 +that are hidden by grafts, but the commits in the resulting repository =
101 +do
102 +need these to pass fsck. This fixes object transfer to ignore grafts.
103 +
104 +Another fix is needed to git-prune so that it ignores grafts but treats
105 +commits that are mentioned in grafts as reachable.
106 +
107 +* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
108 + - Allow per-command pager config
109 +
110 +----------------------------------------------------------------
111 +[Will merge to master soon]
112 +
113 +* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
114 + + Add another fast-import example, this time for .zip files
115 +
116 +* js/apply-root (Wed Jul 2 15:28:22 2008 -0700) 2 commits
117 + + apply --root: thinkofix.
118 + + Teach "git apply" to prepend a prefix with "--root=3D<root>"
119 +
120 +* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
121 + + Only use GIT_CONFIG in "git config", not other programs
122 +
123 +* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
124 + + Make default expiration period of reflog used for stash infinite
125 + + Per-ref reflog expiry configuration
126 +
127 +As 1.6.0 will be a good time to make backward incompatible changes, the
128 +tip commit makes the default expiry period of stash 'never', unless you
129 +configure them to expire explicitly using gc.refs/stash.* variables.
130 +Needs consensus, but I am guessing that enough people would want stash
131 +that does not expire.
132 +
133 +* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
134 + + Eliminate an unnecessary chdir("..")
135 + + Add support for GIT_CEILING_DIRECTORIES
136 + + Fold test-absolute-path into test-path-utils
137 + + Implement normalize_absolute_path
138 +
139 +This still feels "because we can", not "because we need to", but it cam=
140 +e
141 +from somebody who had the need to, and I do not think it hurts people
142 +without the environment variable set.
143 +
144 +* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
145 + + rerere.autoupdate
146 + + t4200: fix rerere test
147 + + rerere: remove dubious "tail_optimization"
148 + + git-rerere: detect unparsable conflicts
149 + + rerere: rerere_created_at() and has_resolution() abstraction
150 +
151 +A new configuration will allow paths that have been resolved cleanly by
152 +rerere to be updated in the index automatically.
153 +
154 +To me, this is "because we can", but was something requested by Ingo, s=
155 +o
156 +presumably some people may feel it useful in their workflow.
157 +
158 +----------------------------------------------------------------
159 +[Actively Cooking]
160 +
161 +* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 15 commits
162 + - [REJECT -- over-abuse of path-list] Build in merge
163 + + Fix t7601-merge-pull-config.sh on AIX
164 + + git-commit-tree: make it usable from other builtins
165 + + Add new test case to ensure git-merge prepends the custom merge
166 + message
167 + + Add new test case to ensure git-merge reduces octopus parents when
168 + possible
169 + + Introduce reduce_heads()
170 + + Introduce get_merge_bases_many()
171 + + Add new test to ensure git-merge handles more than 25 refs.
172 + + Introduce get_octopus_merge_bases() in commit.c
173 + + git-fmt-merge-msg: make it usable from other builtins
174 + + Move read_cache_unmerged() to read-cache.c
175 + + Add new test to ensure git-merge handles pull.twohead and
176 + pull.octopus
177 + + Move parse-options's skip_prefix() to git-compat-util.h
178 + + Move commit_list_count() to commit.c
179 + + Move split_cmdline() to alias.c
180 +
181 +The last one is still not quite there, I am afraid.
182 +
183 +----------------------------------------------------------------
184 +[Graduated to "master"]
185 +
186 +* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
187 + + compat/pread.c: Add a forward declaration to fix a warning
188 + + Windows: Fix ntohl() related warnings about printf formatting
189 + + Windows: TMP and TEMP environment variables specify a temporary
190 + directory.
191 + + Windows: Make 'git help -a' work.
192 + + Windows: Work around an oddity when a pipe with no reader is
193 + written to.
194 + + Windows: Make the pager work.
195 + + When installing, be prepared that template_dir may be relative.
196 + + Windows: Use a relative default template_dir and ETC_GITCONFIG
197 + + Windows: Compute the fallback for exec_path from the program
198 + invocation.
199 + + Turn builtin_exec_path into a function.
200 + + Windows: Use a customized struct stat that also has the st_blocks
201 + member.
202 + + Windows: Add a custom implementation for utime().
203 + + Windows: Add a new lstat and fstat implementation based on Win32
204 + API.
205 + + Windows: Implement a custom spawnve().
206 + + Windows: Implement wrappers for gethostbyname(), socket(), and
207 + connect().
208 + + Windows: Work around incompatible sort and find.
209 + + Windows: Implement asynchronous functions as threads.
210 + + Windows: Disambiguate DOS style paths from SSH URLs.
211 + + Windows: A rudimentary poll() emulation.
212 + + Windows: Implement start_command().
213 + + Windows: A pipe() replacement whose ends are not inherited to
214 + children.
215 + + Windows: Wrap execve so that shell scripts can be invoked.
216 + + Windows: Implement setitimer() and sigaction().
217 + + Windows: Fix PRIuMAX definition.
218 + + Windows: Implement gettimeofday().
219 + + Make my_mktime() public and rename it to tm_to_time_t()
220 + + Windows: Work around misbehaved rename().
221 + + Windows: always chmod(, 0666) before unlink().
222 + + Windows: A minimal implemention of getpwuid().
223 + + Windows: Implement a wrapper of the open() function.
224 + + Windows: Strip ".exe" from the program name.
225 + + Windows: Handle absolute paths in
226 + safe_create_leading_directories().
227 + + Windows: Treat Windows style path names.
228 + + setup.c: Prepare for Windows directory separators.
229 + + Windows: Use the Windows style PATH separator ';'.
230 + + Add target architecture MinGW.
231 + + Compile some programs only conditionally.
232 + + Add compat/regex.[ch] and compat/fnmatch.[ch].
233 +
234 +----------------------------------------------------------------
235 +[On Hold]
236 +
237 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
238 + + merge: remove deprecated summary and diffstat options and config
239 + variables
240 +
241 +This was previously in "will be in master soon" category, but it turns =
242 +out
243 +that the synonyms to the ones this one deletes are fairly new invention
244 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perha=
245 +ps
246 +in 1.7.0.
247 +
248 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
249 + + Revert "Make clients ask for "git program" over ssh and local
250 + transport"
251 + + Make clients ask for "git program" over ssh and local transport
252 +
253 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
254 +timeframe.
255 +
256 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
257 + - diff: enable "too large a rename" warning when -M/-C is explicitly
258 + asked for
259 +
260 +This would be the right thing to do for command line use, but gitk will=
261 + be
262 +hit due to tcl/tk's limitation, so I am holding this back for now.
263 +
264 +----------------------------------------------------------------
265 +[Stalled/Needs more work]
266 +
267 +* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
268 + - Migrate git-blame to parse-option partially.
269 + + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
270 + + parse-opt: fake short strings for callers to believe in.
271 + + parse-opt: do not print errors on unknown options, return -2
272 + intead.
273 + + parse-opt: create parse_options_step.
274 + + parse-opt: Export a non NORETURN usage dumper.
275 + + parse-opt: have parse_options_{start,end}.
276 +
277 +I recall Pierre said something about cleaning up the last one when he
278 +finds time, but other than that vague recollection, I lost track of thi=
279 +s
280 +series. I am tempted to fork a few topics off of the pen=C3=BAltimo on=
281 +e to
282 +convert a few more commands as examples and merge the result to 'next'.
283 +
284 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
285 + - blame: show "previous" information in --porcelain/--incremental
286 + format
287 + - git-blame: refactor code to emit "porcelain format" output
288 + + git-blame --reverse
289 + + builtin-blame.c: allow more than 16 parents
290 + + builtin-blame.c: move prepare_final() into a separate function.
291 + + rev-list --children
292 + + revision traversal: --children option
293 +
294 +The blame that finds where each line in the original lines moved to. T=
295 +his
296 +may help a GSoC project that wants to gather statistical overview of th=
297 +e
298 +history. The final presentation may need tweaking (see the log message=
299 + of
300 +the commit ""git-blame --reverse" on the series).
301 +
302 +The tip two commits are for peeling to see what's behind the blamed
303 +commit, which we should be able to separate out into an independent top=
304 +ic
305 +from the rest.
306 +
307 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
308 + + Make "subtree" part more orthogonal to the rest of merge-
309 + recursive.
310 + + Teach git-pull to pass -X<option> to git-merge
311 + + Teach git-merge to pass -X<option> to the backend strategy module
312 + + git-merge-recursive-{ours,theirs}
313 + + git-merge-file --ours, --theirs
314 +
315 +Punting a merge by discarding your own work in conflicting parts but st=
316 +ill
317 +salvaging the parts that are cleanly automerged. It is likely that thi=
318 +s
319 +will result in nonsense mishmash, but somehow often people want this, s=
320 +o
321 +here they are. The interface to the backends is updated so that you ca=
322 +n
323 +say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
324 +
325 +The -X<option> part may change, Dscho mentions that a single-letter -X
326 +that take stuck option is against syntax rules, and I think he's right.
327 +
328 +This is more "because we can", not "because we need to".
329 +
whats/cooking/2008/07/03.txt new
+283
@@ -0,0 +1,283 @@
1 +What's cooking in git.git (Jul 2008, issue #03; Mon, 07)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be applied to the maintenance series have "maint-" in their
10 +names.
11 +
12 +It already is beginning to become clear what 1.6.0 will look like. Wha=
13 +t's
14 +already in 'next' all are well intentioned (I do not guarantee they are
15 +already bug-free --- that is what cooking them in 'next' is for) and ar=
16 +e
17 +good set of feature enhancements. Bigger changes will be:
18 +
19 + * Port for MinGW.
20 +
21 + * With the default Makefile settings, most of the programs will be
22 + installed outside your $PATH, except for "git", "gitk", "git-gui" an=
23 +d
24 + some server side programs that need to be accessible for technical
25 + reasons. Invoking a git subcommand as "git-xyzzy" from the command
26 + line has been deprecated since early 2006 (and officially announced =
27 +in
28 + 1.5.4 release notes); use of them from your scripts after adding
29 + output from "git --exec-path" to the $PATH will still be supported i=
30 +n
31 + 1.6.0, but users are again strongly encouraged to adjust their
32 + scripts to use "git xyzzy" form, as we will stop installing
33 + "git-xyzzy" hardlinks for built-in commands in later releases.
34 +
35 + * git-merge will be rewritten in C.
36 +
37 + * default pack and idx versions will be updated as scheduled for some
38 + time ago.
39 +
40 + * GIT_CONFIG, which was only documented as affecting "git config", but
41 + actually affected all git commands, now only affects "git config".
42 + GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
43 + not different from GIT_CONFIG in a useful way, is removed.
44 +
45 +----------------------------------------------------------------
46 +[New Topics]
47 +
48 +* jc/rebase-orig-head (Mon Jul 7 00:16:38 2008 -0700) 1 commit
49 + + Teach "am" and "rebase" to mark the original position with
50 + ORIG_HEAD
51 +
52 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
53 + . Migrate git-am to use git-sequencer
54 + . Add git-sequencer test suite (t3350)
55 + . Add git-sequencer prototype documentation
56 + . Add git-sequencer shell prototype
57 +
58 +* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
59 + + Allow cherry-picking root commits
60 +
61 +* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
62 + + Teach git-bundle to read revision arguments from stdin like git-
63 + rev-list.
64 +
65 +----------------------------------------------------------------
66 +[Will merge to master soon]
67 +
68 +* js/apply-root (Sun Jul 6 18:36:01 2008 -0700) 3 commits
69 + + git-apply --directory: make --root more similar to GNU diff
70 + + apply --root: thinkofix.
71 + + Teach "git apply" to prepend a prefix with "--root=3D<root>"
72 +
73 +* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
74 + + Make default expiration period of reflog used for stash infinite
75 + + Per-ref reflog expiry configuration
76 +
77 +As 1.6.0 will be a good time to make backward incompatible changes, the
78 +tip commit makes the default expiry period of stash 'never', unless you
79 +configure them to expire explicitly using gc.refs/stash.* variables.
80 +Needs consensus, but I am guessing that enough people would want stash
81 +that does not expire.
82 +
83 +* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
84 + + Allow per-command pager config
85 +
86 +----------------------------------------------------------------
87 +[Actively Cooking]
88 +
89 +* sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit
90 + + stash: introduce 'stash save --keep-index' option
91 +
92 +One weakness of our "partial commit" workflow support used to be that t=
93 +he
94 +user can incrementally build what is to be committed in the index but t=
95 +hat
96 +state cannot be tested as a whole in the working tree. This allows you=
97 + to
98 +temporarily stash the remaining changes in the working tree so that the
99 +index state before running "stash save --keep-index" can be seen in the
100 +working tree to be tested and then committed.
101 +
102 +* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
103 + + Add a test for "git stash branch"
104 + + Implement "git stash branch <newbranch> <stash>"
105 +
106 +Creates a new branch out of the stashed state, after returning from the
107 +interrupt that forced you to create the stash in the first place.
108 +
109 +* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
110 + + git-add--interactive: manual hunk editing mode
111 + + git-add--interactive: remove hunk coalescing
112 + + git-add--interactive: replace hunk recounting with apply --recount
113 +
114 +Adds 'e/dit' action to interactive add command.
115 +
116 +* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
117 + + branch -r -v: do not spit out garbage
118 + + stat_tracking_info(): clear object flags used during counting
119 + + git-branch -v: show the remote tracking statistics
120 + + git-status: show the remote tracking statistics
121 + + Refactor "tracking statistics" code used by "git checkout"
122 +
123 +Makes the "your branch is ahead of the tracked one by N commits" logic =
124 +and
125 +messages available to other commands; status and branch are updated.
126 +
127 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
128 + + Make "subtree" part more orthogonal to the rest of merge-
129 + recursive.
130 + + Teach git-pull to pass -X<option> to git-merge
131 + + Teach git-merge to pass -X<option> to the backend strategy module
132 + + git-merge-recursive-{ours,theirs}
133 + + git-merge-file --ours, --theirs
134 +
135 +Punting a merge by discarding your own work in conflicting parts but st=
136 +ill
137 +salvaging the parts that are cleanly automerged. It is likely that thi=
138 +s
139 +will result in nonsense mishmash, but somehow often people want this, s=
140 +o
141 +here they are. The interface to the backends is updated so that you ca=
142 +n
143 +say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
144 +
145 +The -X<option> part may change, Dscho mentions that a single-letter -X
146 +that take stuck option is against syntax rules, and I think he's right.
147 +
148 +This is more "because we can", not "because we need to".
149 +
150 +* mv/merge-in-c (Mon Jul 7 19:24:20 2008 +0200) 15 commits
151 + - Build in merge
152 + + Fix t7601-merge-pull-config.sh on AIX
153 + + git-commit-tree: make it usable from other builtins
154 + + Add new test case to ensure git-merge prepends the custom merge
155 + message
156 + + Add new test case to ensure git-merge reduces octopus parents when
157 + possible
158 + + Introduce reduce_heads()
159 + + Introduce get_merge_bases_many()
160 + + Add new test to ensure git-merge handles more than 25 refs.
161 + + Introduce get_octopus_merge_bases() in commit.c
162 + + git-fmt-merge-msg: make it usable from other builtins
163 + + Move read_cache_unmerged() to read-cache.c
164 + + Add new test to ensure git-merge handles pull.twohead and
165 + pull.octopus
166 + + Move parse-options's skip_prefix() to git-compat-util.h
167 + + Move commit_list_count() to commit.c
168 + + Move split_cmdline() to alias.c
169 +
170 +----------------------------------------------------------------
171 +[Graduated to "master"]
172 +
173 +* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
174 + + Add another fast-import example, this time for .zip files
175 +
176 +* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
177 + + Only use GIT_CONFIG in "git config", not other programs
178 +
179 +* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
180 + + Eliminate an unnecessary chdir("..")
181 + + Add support for GIT_CEILING_DIRECTORIES
182 + + Fold test-absolute-path into test-path-utils
183 + + Implement normalize_absolute_path
184 +
185 +* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
186 + + rerere.autoupdate
187 + + t4200: fix rerere test
188 + + rerere: remove dubious "tail_optimization"
189 + + git-rerere: detect unparsable conflicts
190 + + rerere: rerere_created_at() and has_resolution() abstraction
191 +
192 +A new configuration will allow paths that have been resolved cleanly by
193 +rerere to be updated in the index automatically.
194 +
195 +* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit
196 + + git daemon: avoid calling syslog() from a signal handler
197 +
198 +Meant for 'maint' as well.
199 +
200 +----------------------------------------------------------------
201 +[On Hold]
202 +
203 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
204 + + merge: remove deprecated summary and diffstat options and config
205 + variables
206 +
207 +This was previously in "will be in master soon" category, but it turns =
208 +out
209 +that the synonyms to the ones this one deletes are fairly new invention
210 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perha=
211 +ps
212 +in 1.7.0.
213 +
214 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
215 + + Revert "Make clients ask for "git program" over ssh and local
216 + transport"
217 + + Make clients ask for "git program" over ssh and local transport
218 +
219 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
220 +timeframe.
221 +
222 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
223 + - diff: enable "too large a rename" warning when -M/-C is explicitly
224 + asked for
225 +
226 +This would be the right thing to do for command line use, but gitk will=
227 + be
228 +hit due to tcl/tk's limitation, so I am holding this back for now.
229 +
230 +----------------------------------------------------------------
231 +[Stalled/Needs more work]
232 +
233 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
234 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
235 +
236 +Cloning or fetching from a repository from grafts did not send objects
237 +that are hidden by grafts, but the commits in the resulting repository =
238 +do
239 +need these to pass fsck. This fixes object transfer to ignore grafts.
240 +
241 +Another fix is needed to git-prune so that it ignores grafts but treats
242 +commits that are mentioned in grafts as reachable.
243 +
244 +* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
245 + - Migrate git-blame to parse-option partially.
246 + + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
247 + + parse-opt: fake short strings for callers to believe in.
248 + + parse-opt: do not print errors on unknown options, return -2
249 + intead.
250 + + parse-opt: create parse_options_step.
251 + + parse-opt: Export a non NORETURN usage dumper.
252 + + parse-opt: have parse_options_{start,end}.
253 +
254 +I recall Pierre said something about cleaning up the last one when he
255 +finds time, but other than that vague recollection, I lost track of thi=
256 +s
257 +series. I am tempted to fork a few topics off of the pen=C3=BAltimo on=
258 +e to
259 +convert a few more commands as examples and merge the result to 'next'.
260 +
261 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
262 + - blame: show "previous" information in --porcelain/--incremental
263 + format
264 + - git-blame: refactor code to emit "porcelain format" output
265 + + git-blame --reverse
266 + + builtin-blame.c: allow more than 16 parents
267 + + builtin-blame.c: move prepare_final() into a separate function.
268 + + rev-list --children
269 + + revision traversal: --children option
270 +
271 +The blame that finds where each line in the original lines moved to. T=
272 +his
273 +may help a GSoC project that wants to gather statistical overview of th=
274 +e
275 +history. The final presentation may need tweaking (see the log message=
276 + of
277 +the commit ""git-blame --reverse" on the series).
278 +
279 +The tip two commits are for peeling to see what's behind the blamed
280 +commit, which we should be able to separate out into an independent top=
281 +ic
282 +from the rest.
283 +
whats/cooking/2008/07/04.txt new
+268
@@ -0,0 +1,268 @@
1 +What's cooking in git.git (Jul 2008, issue #04; Wed, 09)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be applied to the maintenance series have "maint-" in their
10 +names.
11 +
12 +It already is beginning to become clear what 1.6.0 will look like. What's
13 +already in 'next' all are well intentioned (I do not guarantee they are
14 +already bug-free --- that is what cooking them in 'next' is for) and are
15 +good set of feature enhancements. Bigger changes will be:
16 +
17 + * Port for MinGW.
18 +
19 + * With the default Makefile settings, most of the programs will be
20 + installed outside your $PATH, except for "git", "gitk", "git-gui" and
21 + some server side programs that need to be accessible for technical
22 + reasons. Invoking a git subcommand as "git-xyzzy" from the command
23 + line has been deprecated since early 2006 (and officially announced in
24 + 1.5.4 release notes); use of them from your scripts after adding
25 + output from "git --exec-path" to the $PATH will still be supported in
26 + 1.6.0, but users are again strongly encouraged to adjust their
27 + scripts to use "git xyzzy" form, as we will stop installing
28 + "git-xyzzy" hardlinks for built-in commands in later releases.
29 +
30 + * git-merge will be rewritten in C.
31 +
32 + * default pack and idx versions will be updated as scheduled for some
33 + time ago.
34 +
35 + * GIT_CONFIG, which was only documented as affecting "git config", but
36 + actually affected all git commands, now only affects "git config".
37 + GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
38 + not different from GIT_CONFIG in a useful way, is removed.
39 +
40 +----------------------------------------------------------------
41 +[New Topics]
42 +
43 +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
44 + + Teach git-merge -X<option> again.
45 + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
46 + + builtin-merge.c: use parse_options_step() "incremental parsing"
47 + machinery
48 + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
49 +
50 +I've described what this is in a separate message.
51 +
52 +* jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits
53 + + branch --merged/--no-merged: allow specifying arbitrary commit
54 + + branch --contains: default to HEAD
55 + + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
56 +
57 +This builds on top of the parse-options enhancement series that
58 +has been cooking in 'next' for some time.
59 +
60 +* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
61 + + Documentation: Improve documentation for git-imap-send(1)
62 + + imap-send.c: more style fixes
63 + + imap-send.c: style fixes
64 + + git-imap-send: Support SSL
65 + + git-imap-send: Allow the program to be run from subdirectories of
66 + a git tree
67 +
68 +* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit
69 + + builtin-rerere: more carefully find conflict markers
70 +
71 +----------------------------------------------------------------
72 +[Will merge to master soon]
73 +
74 +* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
75 + + Allow cherry-picking root commits
76 +
77 +* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
78 + + Teach git-bundle to read revision arguments from stdin like git-
79 + rev-list.
80 +
81 +* sg/stash-k-i (Tue Jul 8 00:40:56 2008 -0700) 2 commits
82 + + Documentation: tweak use case in "git stash save --keep-index"
83 + + stash: introduce 'stash save --keep-index' option
84 +
85 +One weakness of our "partial commit" workflow support used to be that the
86 +user can incrementally build what is to be committed in the index but that
87 +state cannot be tested as a whole in the working tree. This allows you to
88 +temporarily stash the remaining changes in the working tree so that the
89 +index state before running "stash save --keep-index" can be seen in the
90 +working tree to be tested and then committed.
91 +
92 +* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
93 + + Add a test for "git stash branch"
94 + + Implement "git stash branch <newbranch> <stash>"
95 +
96 +Creates a new branch out of the stashed state, after returning from the
97 +interrupt that forced you to create the stash in the first place.
98 +
99 +* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
100 + + git-add--interactive: manual hunk editing mode
101 + + git-add--interactive: remove hunk coalescing
102 + + git-add--interactive: replace hunk recounting with apply --recount
103 +
104 +Adds 'e/dit' action to interactive add command.
105 +
106 +* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
107 + + branch -r -v: do not spit out garbage
108 + + stat_tracking_info(): clear object flags used during counting
109 + + git-branch -v: show the remote tracking statistics
110 + + git-status: show the remote tracking statistics
111 + + Refactor "tracking statistics" code used by "git checkout"
112 +
113 +Makes the "your branch is ahead of the tracked one by N commits" logic and
114 +messages available to other commands; status and branch are updated.
115 +
116 +----------------------------------------------------------------
117 +[Actively Cooking]
118 +
119 +* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits
120 + + Documentation: mention ORIG_HEAD in am, merge, and rebase
121 + + Teach "am" and "rebase" to mark the original position with
122 + ORIG_HEAD
123 +
124 +* ph/parseopt-step-blame (Wed Jul 9 23:38:34 2008 +0200) 18 commits
125 + + revisions: refactor handle_revision_opt into parse_revision_opt.
126 + + git-shortlog: migrate to parse-options partially.
127 + + git-blame: fix lapsus
128 + + git-blame: migrate to incremental parse-option [2/2]
129 + + git-blame: migrate to incremental parse-option [1/2]
130 + + revisions: split handle_revision_opt() from setup_revisions()
131 + + Merge branch 'jc/blame' (early part) into HEAD
132 + + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
133 + + parse-opt: fake short strings for callers to believe in.
134 + + parse-opt: do not print errors on unknown options, return -2
135 + intead.
136 + + parse-opt: create parse_options_step.
137 + + parse-opt: Export a non NORETURN usage dumper.
138 + + parse-opt: have parse_options_{start,end}.
139 + + git-blame --reverse
140 + + builtin-blame.c: allow more than 16 parents
141 + + builtin-blame.c: move prepare_final() into a separate function.
142 + + rev-list --children
143 + + revision traversal: --children option
144 +
145 +Became active again ;-) This probably is ready for 'master' already,
146 +except for the last two which I only looked at the patch and have not
147 +used heavily in production yet.
148 +
149 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
150 + + Make "subtree" part more orthogonal to the rest of merge-
151 + recursive.
152 + + Teach git-pull to pass -X<option> to git-merge
153 + + Teach git-merge to pass -X<option> to the backend strategy module
154 + + git-merge-recursive-{ours,theirs}
155 + + git-merge-file --ours, --theirs
156 +
157 +Punting a merge by discarding your own work in conflicting parts but still
158 +salvaging the parts that are cleanly automerged. It is likely that this
159 +will result in nonsense mishmash, but somehow often people want this, so
160 +here they are. The interface to the backends is updated so that you can
161 +say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
162 +
163 +* mv/merge-in-c (Mon Jul 7 19:24:20 2008 +0200) 15 commits
164 + + Build in merge
165 + + Fix t7601-merge-pull-config.sh on AIX
166 + + git-commit-tree: make it usable from other builtins
167 + + Add new test case to ensure git-merge prepends the custom merge
168 + message
169 + + Add new test case to ensure git-merge reduces octopus parents when
170 + possible
171 + + Introduce reduce_heads()
172 + + Introduce get_merge_bases_many()
173 + + Add new test to ensure git-merge handles more than 25 refs.
174 + + Introduce get_octopus_merge_bases() in commit.c
175 + + git-fmt-merge-msg: make it usable from other builtins
176 + + Move read_cache_unmerged() to read-cache.c
177 + + Add new test to ensure git-merge handles pull.twohead and
178 + pull.octopus
179 + + Move parse-options's skip_prefix() to git-compat-util.h
180 + + Move commit_list_count() to commit.c
181 + + Move split_cmdline() to alias.c
182 +
183 +----------------------------------------------------------------
184 +[Graduated to "master"]
185 +
186 +* js/apply-root (Sun Jul 6 18:36:01 2008 -0700) 3 commits
187 + + git-apply --directory: make --root more similar to GNU diff
188 + + apply --root: thinkofix.
189 + + Teach "git apply" to prepend a prefix with "--root=<root>"
190 +
191 +* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
192 + + Make default expiration period of reflog used for stash infinite
193 + + Per-ref reflog expiry configuration
194 +
195 +As 1.6.0 will be a good time to make backward incompatible changes, the
196 +tip commit makes the default expiry period of stash 'never', unless you
197 +configure them to expire explicitly using gc.refs/stash.* variables.
198 +Needs consensus, but I am guessing that enough people would want stash
199 +that does not expire.
200 +
201 +* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
202 + + Allow per-command pager config
203 +
204 +----------------------------------------------------------------
205 +[On Hold]
206 +
207 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
208 + + merge: remove deprecated summary and diffstat options and config
209 + variables
210 +
211 +This was previously in "will be in master soon" category, but it turns out
212 +that the synonyms to the ones this one deletes are fairly new invention
213 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perhaps
214 +in 1.7.0.
215 +
216 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
217 + + Revert "Make clients ask for "git program" over ssh and local
218 + transport"
219 + + Make clients ask for "git program" over ssh and local transport
220 +
221 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
222 +timeframe.
223 +
224 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
225 + - diff: enable "too large a rename" warning when -M/-C is explicitly
226 + asked for
227 +
228 +This would be the right thing to do for command line use, but gitk will be
229 +hit due to tcl/tk's limitation, so I am holding this back for now.
230 +
231 +----------------------------------------------------------------
232 +[Stalled/Needs more work]
233 +
234 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
235 + . Migrate git-am to use git-sequencer
236 + . Add git-sequencer test suite (t3350)
237 + . Add git-sequencer prototype documentation
238 + . Add git-sequencer shell prototype
239 +
240 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
241 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
242 +
243 +Cloning or fetching from a repository from grafts did not send objects
244 +that are hidden by grafts, but the commits in the resulting repository do
245 +need these to pass fsck. This fixes object transfer to ignore grafts.
246 +
247 +Another fix is needed to git-prune so that it ignores grafts but treats
248 +commits that are mentioned in grafts as reachable.
249 +
250 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
251 + - blame: show "previous" information in --porcelain/--incremental
252 + format
253 + - git-blame: refactor code to emit "porcelain format" output
254 + + git-blame --reverse
255 + + builtin-blame.c: allow more than 16 parents
256 + + builtin-blame.c: move prepare_final() into a separate function.
257 + + rev-list --children
258 + + revision traversal: --children option
259 +
260 +The blame that finds where each line in the original lines moved to. This
261 +may help a GSoC project that wants to gather statistical overview of the
262 +history. The final presentation may need tweaking (see the log message of
263 +the commit ""git-blame --reverse" on the series).
264 +
265 +The tip two commits are for peeling to see what's behind the blamed
266 +commit, which we should be able to separate out into an independent topic
267 +from the rest.
268 +
whats/cooking/2008/07/05.txt new
+303
@@ -0,0 +1,303 @@
1 +What's cooking in git.git (Jul 2008, issue #05; Sun, 13)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be merged to the maintenance series have "maint-" in their names.
10 +
11 +I think most of the important stuff is already in 'next'. Let's start
12 +talking about closing the merge window for 1.6.0.
13 +
14 +----------------------------------------------------------------
15 +[New Topics]
16 +
17 +* sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits
18 + - Make usage strings dash-less
19 + - t/: Use "test_must_fail git" instead of "! git"
20 + - t/test-lib.sh: exit with small negagive int is ok with
21 + test_must_fail
22 +
23 +* mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits
24 + - make remove-dashes: apply to scripts and programs as well, not
25 + just to builtins
26 + - git-bisect: use dash-less form on git bisect log
27 + - t1007-hash-object.sh: use quotes for the test description
28 + - t0001-init.sh: change confusing directory name
29 +
30 +* sp/maint-bash-completion-optim (Mon Jul 14 00:22:03 2008 +0000) 1 commit
31 + + bash completion: Append space after file names have been completed
32 +
33 +Early parts are already merged to 'master' and need to be merged down to
34 +maint as well, as this is about a "performance bug" that has been with us
35 +almost forever.
36 +
37 +* ag/rewrite_one (Sat Jul 12 22:00:57 2008 +0400) 1 commit
38 + + Fix quadratic performance in rewrite_one.
39 +
40 +* sp/win (Fri Jul 11 18:52:42 2008 +0200) 3 commits
41 + + We need to check for msys as well as Windows in add--interactive.
42 + + Convert CR/LF to LF in tag signatures
43 + + Fixed text file auto-detection: treat EOF character 032 at the end
44 + of file as printable
45 +
46 +* js/merge-rr (Sat Jul 12 15:56:19 2008 +0100) 2 commits
47 + + Move MERGE_RR from .git/rr-cache/ into .git/
48 + + builtin-rerere: more carefully find conflict markers
49 +
50 +* sb/rerere-lib (Wed Jul 9 14:58:57 2008 +0200) 2 commits
51 + + rerere: Separate libgit and builtin functions
52 + + builtin-rerere: more carefully find conflict markers
53 +
54 +* ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits
55 + - git-mailinfo: use strbuf's instead of fixed buffers
56 + - Add some useful functions for strbuf manipulation.
57 + - Make some strbuf_*() struct strbuf arguments const.
58 +
59 +* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
60 + - cherry: cache patch-ids to avoid repeating work
61 +
62 +This does not seem to pass tests even on its own.
63 +
64 +* js/maint-pretty-mailmap (Sat Jul 12 00:28:18 2008 +0100) 1 commit
65 + + Add pretty format %aN which gives the author name, respecting
66 + .mailmap
67 +
68 +* js/more-win (Sun Jul 13 22:31:23 2008 +0200) 6 commits
69 + - Allow add_path() to add non-existent directories to the path
70 + - Allow the built-in exec path to be relative to the command
71 + invocation path
72 + - Fix relative built-in paths to be relative to the command
73 + invocation
74 + + help (Windows): Display HTML in default browser using Windows'
75 + shell API
76 + + help.c: Add support for htmldir relative to git_exec_path()
77 + + Move code interpreting path relative to exec-dir to new function
78 + system_path()
79 +
80 +The earlier parts are obvious; Dscho seemed to have some comments on the
81 +later ones that are in 'pu'.
82 +
83 +* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
84 + - gitweb: use new Git::Repo API, and add optional caching
85 + - Add new Git::Repo API
86 + - gitweb: add test suite with Test::WWW::Mechanize::CGI
87 +
88 +This does not pass t9710, at least for me X-<.
89 +
90 +----------------------------------------------------------------
91 +[Will merge to master soon]
92 +
93 +* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits
94 + + Documentation: mention ORIG_HEAD in am, merge, and rebase
95 + + Teach "am" and "rebase" to mark the original position with
96 + ORIG_HEAD
97 +
98 +* jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits
99 + + branch --merged/--no-merged: allow specifying arbitrary commit
100 + + branch --contains: default to HEAD
101 + + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
102 +
103 +This builds on top of the parse-options enhancement series that
104 +has been cooking in 'next' for some time.
105 +
106 +* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit
107 + + builtin-rerere: more carefully find conflict markers
108 +
109 +* ls/maint-mailinfo-patch-label (Thu Jul 10 23:41:33 2008 +0200) 1 commit
110 + + git-mailinfo: Fix getting the subject from the in-body [PATCH]
111 + line
112 +
113 +----------------------------------------------------------------
114 +[Actively Cooking]
115 +
116 +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
117 + + Teach git-merge -X<option> again.
118 + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
119 + + builtin-merge.c: use parse_options_step() "incremental parsing"
120 + machinery
121 + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
122 +
123 +I've described what this is in a separate message.
124 +
125 +* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
126 + - Documentation: Improve documentation for git-imap-send(1)
127 + - imap-send.c: more style fixes
128 + - imap-send.c: style fixes
129 + - git-imap-send: Support SSL
130 + - git-imap-send: Allow the program to be run from subdirectories of
131 + a git tree
132 +
133 +Some people seem to prefer having this feature available also with gnutls.
134 +If such a patch materializes soon, that would be good, but otherwise I'll
135 +merge this as-is to 'next'. Such an enhancement can be done in-tree on
136 +top of this series.
137 +
138 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
139 + + Make "subtree" part more orthogonal to the rest of merge-
140 + recursive.
141 + + Teach git-pull to pass -X<option> to git-merge
142 + + Teach git-merge to pass -X<option> to the backend strategy module
143 + + git-merge-recursive-{ours,theirs}
144 + + git-merge-file --ours, --theirs
145 +
146 +Punting a merge by discarding your own work in conflicting parts but still
147 +salvaging the parts that are cleanly automerged. It is likely that this
148 +will result in nonsense mishmash, but somehow often people want this, so
149 +here they are. The interface to the backends is updated so that you can
150 +say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
151 +
152 +* mv/merge-in-c (Sun Jul 13 08:13:55 2008 +0000) 19 commits
153 + + reduce_heads(): thinkofix
154 + + Add a new test for git-merge-resolve
155 + + t6021: add a new test for git-merge-resolve
156 + + Teach merge.log to "git-merge" again
157 + + Build in merge
158 + + Fix t7601-merge-pull-config.sh on AIX
159 + + git-commit-tree: make it usable from other builtins
160 + + Add new test case to ensure git-merge prepends the custom merge
161 + message
162 + + Add new test case to ensure git-merge reduces octopus parents when
163 + possible
164 + + Introduce reduce_heads()
165 + + Introduce get_merge_bases_many()
166 + + Add new test to ensure git-merge handles more than 25 refs.
167 + + Introduce get_octopus_merge_bases() in commit.c
168 + + git-fmt-merge-msg: make it usable from other builtins
169 + + Move read_cache_unmerged() to read-cache.c
170 + + Add new test to ensure git-merge handles pull.twohead and
171 + pull.octopus
172 + + Move parse-options's skip_prefix() to git-compat-util.h
173 + + Move commit_list_count() to commit.c
174 + + Move split_cmdline() to alias.c
175 +
176 +Sverre seems to have a yet another fixup on top of this that came late and
177 +I haven't looked at.
178 +
179 +----------------------------------------------------------------
180 +[Graduated to "master"]
181 +
182 +* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
183 + + Allow cherry-picking root commits
184 +
185 +* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
186 + + Teach git-bundle to read revision arguments from stdin like git-
187 + rev-list.
188 +
189 +* sg/stash-k-i (Tue Jul 8 00:40:56 2008 -0700) 2 commits
190 + + Documentation: tweak use case in "git stash save --keep-index"
191 + + stash: introduce 'stash save --keep-index' option
192 +
193 +One weakness of our "partial commit" workflow support used to be that the
194 +user can incrementally build what is to be committed in the index but that
195 +state cannot be tested as a whole in the working tree. This allows you to
196 +temporarily stash the remaining changes in the working tree so that the
197 +index state before running "stash save --keep-index" can be seen in the
198 +working tree to be tested and then committed.
199 +
200 +* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
201 + + Add a test for "git stash branch"
202 + + Implement "git stash branch <newbranch> <stash>"
203 +
204 +Creates a new branch out of the stashed state, after returning from the
205 +interrupt that forced you to create the stash in the first place.
206 +
207 +* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
208 + + git-add--interactive: manual hunk editing mode
209 + + git-add--interactive: remove hunk coalescing
210 + + git-add--interactive: replace hunk recounting with apply --recount
211 +
212 +Adds 'e/dit' action to interactive add command.
213 +
214 +* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
215 + + branch -r -v: do not spit out garbage
216 + + stat_tracking_info(): clear object flags used during counting
217 + + git-branch -v: show the remote tracking statistics
218 + + git-status: show the remote tracking statistics
219 + + Refactor "tracking statistics" code used by "git checkout"
220 +
221 +Makes the "your branch is ahead of the tracked one by N commits" logic and
222 +messages available to other commands; status and branch are updated.
223 +
224 +* ph/parseopt-step-blame (Wed Jul 9 23:38:34 2008 +0200) 18 commits
225 + + revisions: refactor handle_revision_opt into parse_revision_opt.
226 + + git-shortlog: migrate to parse-options partially.
227 + + git-blame: fix lapsus
228 + + git-blame: migrate to incremental parse-option [2/2]
229 + + git-blame: migrate to incremental parse-option [1/2]
230 + + revisions: split handle_revision_opt() from setup_revisions()
231 + + Merge branch 'jc/blame' (early part) into HEAD
232 + + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
233 + + parse-opt: fake short strings for callers to believe in.
234 + + parse-opt: do not print errors on unknown options, return -2
235 + intead.
236 + + parse-opt: create parse_options_step.
237 + + parse-opt: Export a non NORETURN usage dumper.
238 + + parse-opt: have parse_options_{start,end}.
239 + + git-blame --reverse
240 + + builtin-blame.c: allow more than 16 parents
241 + + builtin-blame.c: move prepare_final() into a separate function.
242 + + rev-list --children
243 + + revision traversal: --children option
244 +
245 +Became active again ;-) This probably is ready for 'master' already,
246 +except for the last two which I only looked at the patch and have not
247 +used heavily in production yet.
248 +
249 +----------------------------------------------------------------
250 +[On Hold]
251 +
252 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
253 + + merge: remove deprecated summary and diffstat options and config
254 + variables
255 +
256 +This was previously in "will be in master soon" category, but it turns out
257 +that the synonyms to the ones this one deletes are fairly new invention
258 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perhaps
259 +in 1.7.0.
260 +
261 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
262 + + Revert "Make clients ask for "git program" over ssh and local
263 + transport"
264 + + Make clients ask for "git program" over ssh and local transport
265 +
266 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
267 +timeframe.
268 +
269 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
270 + - diff: enable "too large a rename" warning when -M/-C is explicitly
271 + asked for
272 +
273 +This would be the right thing to do for command line use, but gitk will be
274 +hit due to tcl/tk's limitation, so I am holding this back for now.
275 +
276 +----------------------------------------------------------------
277 +[Stalled/Needs more work]
278 +
279 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
280 + . Migrate git-am to use git-sequencer
281 + . Add git-sequencer test suite (t3350)
282 + . Add git-sequencer prototype documentation
283 + . Add git-sequencer shell prototype
284 +
285 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
286 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
287 +
288 +Cloning or fetching from a repository from grafts did not send objects
289 +that are hidden by grafts, but the commits in the resulting repository do
290 +need these to pass fsck. This fixes object transfer to ignore grafts.
291 +
292 +Another fix is needed to git-prune so that it ignores grafts but treats
293 +commits that are mentioned in grafts as reachable.
294 +
295 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
296 + - blame: show "previous" information in --porcelain/--incremental
297 + format
298 + - git-blame: refactor code to emit "porcelain format" output
299 +
300 +This is for peeling to see what's behind the blamed commit, which may or
301 +may not help applications like gitweb.
302 +
303 +
whats/cooking/2008/07/06.txt new
+244
@@ -0,0 +1,244 @@
1 +What's cooking in git.git (Jul 2008, issue #06; Tue, 15)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be merged to the maintenance series have "maint-" in their names.
10 +
11 +It so happens that the topics clearly separated between the ones that are
12 +obviously ready for 1.6.0 and the others that aren't yet as of tonight.
13 +It seems that it is a good time to draw that line and tag -rc0 tomorrow,
14 +after merging the remaining topics in 'next'.
15 +
16 +----------------------------------------------------------------
17 +[New Topics]
18 +
19 +I could apply these directly to master, but I am just playing it safe.
20 +
21 +* sp/maint-index-pack (Tue Jul 15 04:45:34 2008 +0000) 4 commits
22 + + index-pack: Honor core.deltaBaseCacheLimit when resolving deltas
23 + + index-pack: Track the object_entry that creates each base_data
24 + + index-pack: Chain the struct base_data on the stack for traversal
25 + + index-pack: Refactor base arguments of resolve_delta into a struct
26 +
27 +* rs/rebase-checkout-not-so-quiet (Mon Jul 14 14:05:35 2008 -0700) 1 commit
28 + + git-rebase: report checkout failure
29 +
30 +* ag/blame (Wed Jul 16 02:00:58 2008 +0400) 2 commits
31 + + Do not try to detect move/copy for entries below threshold.
32 + + Avoid rescanning unchanged entries in search for copies.
33 +
34 +This gives a drastic performance improvement to "git-blame -C -C" with
35 +quite straightforward and obvious code change.
36 +
37 +* rs/archive (Mon Jul 14 21:22:05 2008 +0200) 6 commits
38 + + archive: remove extra arguments parsing code
39 + + archive: unify file attribute handling
40 + + archive: centralize archive entry writing
41 + + archive: add baselen member to struct archiver_args
42 + + add context pointer to read_tree_recursive()
43 + + archive: remove args member from struct archiver
44 +
45 +----------------------------------------------------------------
46 +[Will merge to master soon]
47 +
48 +* sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits
49 + + Make usage strings dash-less
50 + + t/: Use "test_must_fail git" instead of "! git"
51 + + t/test-lib.sh: exit with small negagive int is ok with
52 + test_must_fail
53 +
54 +* mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits
55 + + make remove-dashes: apply to scripts and programs as well, not
56 + just to builtins
57 + + git-bisect: use dash-less form on git bisect log
58 + + t1007-hash-object.sh: use quotes for the test description
59 + + t0001-init.sh: change confusing directory name
60 +
61 +* ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits
62 + + git-mailinfo: use strbuf's instead of fixed buffers
63 + + Add some useful functions for strbuf manipulation.
64 + + Make some strbuf_*() struct strbuf arguments const.
65 +
66 +----------------------------------------------------------------
67 +[Graduated to "master"]
68 +
69 +* sp/maint-bash-completion-optim (Mon Jul 14 00:22:03 2008 +0000) 1 commit
70 + + bash completion: Append space after file names have been completed
71 +
72 +Early parts were already merged to 'master' and need to be merged down to
73 +maint as well, as this is about a "performance bug" that has been with us
74 +almost forever.
75 +
76 +* ag/rewrite_one (Sat Jul 12 22:00:57 2008 +0400) 1 commit
77 + + Fix quadratic performance in rewrite_one.
78 +
79 +* sp/win (Fri Jul 11 18:52:42 2008 +0200) 3 commits
80 + + We need to check for msys as well as Windows in add--interactive.
81 + + Convert CR/LF to LF in tag signatures
82 + + Fixed text file auto-detection: treat EOF character 032 at the end
83 + of file as printable
84 +
85 +* js/merge-rr (Sat Jul 12 15:56:19 2008 +0100) 2 commits
86 + + Move MERGE_RR from .git/rr-cache/ into .git/
87 + + builtin-rerere: more carefully find conflict markers
88 +
89 +* sb/rerere-lib (Wed Jul 9 14:58:57 2008 +0200) 2 commits
90 + + rerere: Separate libgit and builtin functions
91 + + builtin-rerere: more carefully find conflict markers
92 +
93 +* js/maint-pretty-mailmap (Sat Jul 12 00:28:18 2008 +0100) 1 commit
94 + + Add pretty format %aN which gives the author name, respecting
95 + .mailmap
96 +
97 +* js/more-win (Sun Jul 13 22:31:23 2008 +0200) 3 commits
98 + + help (Windows): Display HTML in default browser using Windows'
99 + shell API
100 + + help.c: Add support for htmldir relative to git_exec_path()
101 + + Move code interpreting path relative to exec-dir to new function
102 + system_path()
103 +
104 +* jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits
105 + + Documentation: mention ORIG_HEAD in am, merge, and rebase
106 + + Teach "am" and "rebase" to mark the original position with
107 + ORIG_HEAD
108 +
109 +* jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits
110 + + branch --merged/--no-merged: allow specifying arbitrary commit
111 + + branch --contains: default to HEAD
112 + + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
113 +
114 +* om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit
115 + + builtin-rerere: more carefully find conflict markers
116 +
117 +* ls/maint-mailinfo-patch-label (Thu Jul 10 23:41:33 2008 +0200) 1 commit
118 + + git-mailinfo: Fix getting the subject from the in-body [PATCH]
119 + line
120 +
121 +* mv/merge-in-c (Mon Jul 14 00:09:41 2008 -0700) 20 commits
122 + + reduce_heads(): protect from duplicate input
123 + + reduce_heads(): thinkofix
124 + + Add a new test for git-merge-resolve
125 + + t6021: add a new test for git-merge-resolve
126 + + Teach merge.log to "git-merge" again
127 + + Build in merge
128 + + Fix t7601-merge-pull-config.sh on AIX
129 + + git-commit-tree: make it usable from other builtins
130 + + Add new test case to ensure git-merge prepends the custom merge
131 + message
132 + + Add new test case to ensure git-merge reduces octopus parents when
133 + possible
134 + + Introduce reduce_heads()
135 + + Introduce get_merge_bases_many()
136 + + Add new test to ensure git-merge handles more than 25 refs.
137 + + Introduce get_octopus_merge_bases() in commit.c
138 + + git-fmt-merge-msg: make it usable from other builtins
139 + + Move read_cache_unmerged() to read-cache.c
140 + + Add new test to ensure git-merge handles pull.twohead and
141 + pull.octopus
142 + + Move parse-options's skip_prefix() to git-compat-util.h
143 + + Move commit_list_count() to commit.c
144 + + Move split_cmdline() to alias.c
145 +
146 +----------------------------------------------------------------
147 +[On Hold]
148 +
149 +* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
150 + - Documentation: Improve documentation for git-imap-send(1)
151 + - imap-send.c: more style fixes
152 + - imap-send.c: style fixes
153 + - git-imap-send: Support SSL
154 + - git-imap-send: Allow the program to be run from subdirectories of
155 + a git tree
156 +
157 +Some people seem to prefer having this feature available also with gnutls.
158 +If such a patch materializes soon, that would be good, but otherwise I'll
159 +merge this as-is to 'next'. Such an enhancement can be done in-tree on
160 +top of this series.
161 +
162 +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
163 + + Teach git-merge -X<option> again.
164 + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
165 + + builtin-merge.c: use parse_options_step() "incremental parsing"
166 + machinery
167 + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
168 +
169 +This needs to be merged to master iff/when merge-theirs gets merged,
170 +but I do not think this series is widely supported, so both are on hold.
171 +
172 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
173 + + Make "subtree" part more orthogonal to the rest of merge-
174 + recursive.
175 + + Teach git-pull to pass -X<option> to git-merge
176 + + Teach git-merge to pass -X<option> to the backend strategy module
177 + + git-merge-recursive-{ours,theirs}
178 + + git-merge-file --ours, --theirs
179 +
180 +Punting a merge by discarding your own work in conflicting parts but still
181 +salvaging the parts that are cleanly automerged. It is likely that this
182 +will result in nonsense mishmash, but somehow often people want this, so
183 +here they are. The interface to the backends is updated so that you can
184 +say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
185 +
186 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
187 + + merge: remove deprecated summary and diffstat options and config
188 + variables
189 +
190 +This was previously in "will be in master soon" category, but it turns out
191 +that the synonyms to the ones this one deletes are fairly new invention
192 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perhaps
193 +in 1.7.0.
194 +
195 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
196 + + Revert "Make clients ask for "git program" over ssh and local
197 + transport"
198 + + Make clients ask for "git program" over ssh and local transport
199 +
200 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
201 +timeframe.
202 +
203 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
204 + - diff: enable "too large a rename" warning when -M/-C is explicitly
205 + asked for
206 +
207 +This would be the right thing to do for command line use, but gitk will be
208 +hit due to tcl/tk's limitation, so I am holding this back for now.
209 +
210 +----------------------------------------------------------------
211 +[Stalled/Needs more work]
212 +
213 +* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
214 + . cherry: cache patch-ids to avoid repeating work
215 +
216 +* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
217 + . gitweb: use new Git::Repo API, and add optional caching
218 + . Add new Git::Repo API
219 + . gitweb: add test suite with Test::WWW::Mechanize::CGI
220 +
221 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
222 + . Migrate git-am to use git-sequencer
223 + . Add git-sequencer test suite (t3350)
224 + . Add git-sequencer prototype documentation
225 + . Add git-sequencer shell prototype
226 +
227 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
228 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
229 +
230 +Cloning or fetching from a repository from grafts did not send objects
231 +that are hidden by grafts, but the commits in the resulting repository do
232 +need these to pass fsck. This fixes object transfer to ignore grafts.
233 +
234 +Another fix is needed to git-prune so that it ignores grafts but treats
235 +commits that are mentioned in grafts as reachable.
236 +
237 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
238 + - blame: show "previous" information in --porcelain/--incremental
239 + format
240 + - git-blame: refactor code to emit "porcelain format" output
241 +
242 +This is for peeling to see what's behind the blamed commit, which may or
243 +may not help applications like gitweb.
244 +
whats/cooking/2008/07/07.txt new
+233
@@ -0,0 +1,233 @@
1 +What's cooking in git.git (Jul 2008, issue #07; Thu, 17)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be merged to the maintenance series have "maint-" in their names.
10 +
11 +Right now 'next' is very thin. After today's new topics, perhaps except
12 +for the submodule stuff by Pasky, are merged to 'master', we will have the
13 +1.6.0-rc0, and from there the usual pre-release freeze begins.
14 +
15 +Due to increased activity level from people including GSoC students, I
16 +expect 'next' to stay somewhat more active than previous rounds during the
17 +1.6.0-rc cycle. The request for people who usually follow 'next' is the
18 +same as usual, though. After -rc1 is tagged, please run 'master' for your
19 +daily git use instead, in order to make sure 'master' does what it claims
20 +to do without regression.
21 +
22 +Tentative schedule, my wishful thinking:
23 +
24 + - 1.6.0-rc0 (Jul 20)
25 + - 1.6.0-rc1 (Jul 23)
26 + - 1.6.0-rc2 (Jul 30)
27 + - 1.6.0-rc3 (Aug 6)
28 + - 1.6.0 (Aug 10)
29 +
30 +----------------------------------------------------------------
31 +[New Topics]
32 +
33 +* jc/rerere-auto-more (Wed Jul 16 20:25:18 2008 -0700) 1 commit
34 + - rerere.autoupdate: change the message when autoupdate is in effect
35 +
36 +This one is for Ingo.
37 +
38 +This changes the message rerere issues after reusing previous conflict
39 +resolution from "Resolved" to "Staged" when autoupdate option is in
40 +effect.
41 +
42 +It is envisioned that in practice, some auto resolutions are trickier and
43 +iffier than others, and we would want to add a feature to mark individual
44 +resolutions as "this is ok to autoupdate" or "do not autoupdate the result
45 +using this resolution even when rerere.autoupdate is in effect" in the
46 +future. When that happens, these messages will make the distinction
47 +clearer.
48 +
49 +* ap/trackinfo (Wed Jul 16 15:19:27 2008 -0400) 1 commit
50 + - Reword "your branch has diverged..." lines to reduce line length
51 +
52 +You saw the exchange on the list. Queued is my "make it shorter and make
53 +sure variable parts are closer to left edge of the screen" version but
54 +better alternatives are welcome. I suspect not many people would care too
55 +much about details, as long as the message fits and does not waste screen
56 +real estate.
57 +
58 +* ns/am-abort (Wed Jul 16 19:39:10 2008 +0900) 1 commit
59 + - git am --abort
60 +
61 +This one is for Ted; builds on top of the recent "am and rebase leaves
62 +ORIG_HEAD just like reset, merge and pull does" rather nicely.
63 +
64 +* pb/submodule (Wed Jul 16 21:11:40 2008 +0200) 7 commits
65 + - t7403: Submodule git mv, git rm testsuite
66 + - git rm: Support for removing submodules
67 + - git mv: Support moving submodules
68 + - submodule.*: Introduce simple C interface for submodule lookup by
69 + path
70 + - git submodule add: Fix naming clash handling
71 + - t7400: Add short "git submodule add" testsuite
72 + - git-mv: Remove dead code branch
73 +
74 +Long overdue usability improvement series for submodule. Very much
75 +welcomed. It would be nice to have some submodule improvements in 1.6.0.
76 +Realistically speaking, however, I predict that it would take us a few
77 +more rounds to hit 'next' with this, and it will not be in 'master' when
78 +1.6.0 ships.
79 +
80 +----------------------------------------------------------------
81 +[Graduated to "master"]
82 +
83 +* sp/maint-index-pack (Tue Jul 15 04:45:34 2008 +0000) 4 commits
84 + + index-pack: Honor core.deltaBaseCacheLimit when resolving deltas
85 + + index-pack: Track the object_entry that creates each base_data
86 + + index-pack: Chain the struct base_data on the stack for traversal
87 + + index-pack: Refactor base arguments of resolve_delta into a struct
88 +
89 +* rs/rebase-checkout-not-so-quiet (Mon Jul 14 14:05:35 2008 -0700) 1 commit
90 + + git-rebase: report checkout failure
91 +
92 +* ag/blame (Wed Jul 16 02:00:58 2008 +0400) 2 commits
93 + + Do not try to detect move/copy for entries below threshold.
94 + + Avoid rescanning unchanged entries in search for copies.
95 +
96 +This gives a drastic performance improvement to "git-blame -C -C" with
97 +quite straightforward and obvious code change.
98 +
99 +* rs/archive (Mon Jul 14 21:22:05 2008 +0200) 6 commits
100 + + archive: remove extra arguments parsing code
101 + + archive: unify file attribute handling
102 + + archive: centralize archive entry writing
103 + + archive: add baselen member to struct archiver_args
104 + + add context pointer to read_tree_recursive()
105 + + archive: remove args member from struct archiver
106 +
107 +* sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits
108 + + Make usage strings dash-less
109 + + t/: Use "test_must_fail git" instead of "! git"
110 + + t/test-lib.sh: exit with small negagive int is ok with
111 + test_must_fail
112 +
113 +* mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits
114 + + make remove-dashes: apply to scripts and programs as well, not
115 + just to builtins
116 + + git-bisect: use dash-less form on git bisect log
117 + + t1007-hash-object.sh: use quotes for the test description
118 + + t0001-init.sh: change confusing directory name
119 +
120 +* ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits
121 + + git-mailinfo: use strbuf's instead of fixed buffers
122 + + Add some useful functions for strbuf manipulation.
123 + + Make some strbuf_*() struct strbuf arguments const.
124 +
125 +This actually had a tiny regression I did not discover until I merged it
126 +to 'master', where a fixup has already been applied.
127 +
128 +----------------------------------------------------------------
129 +[On Hold]
130 +
131 +* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
132 + - Documentation: Improve documentation for git-imap-send(1)
133 + - imap-send.c: more style fixes
134 + - imap-send.c: style fixes
135 + - git-imap-send: Support SSL
136 + - git-imap-send: Allow the program to be run from subdirectories of
137 + a git tree
138 +
139 +I said: "Some people seem to prefer having this feature available also
140 +with gnutls. If such a patch materializes soon, that would be good, but
141 +otherwise I'll merge this as-is to 'next'. Such an enhancement can be
142 +done in-tree on top of this series." Anybody?
143 +
144 +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
145 + + Teach git-merge -X<option> again.
146 + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
147 + + builtin-merge.c: use parse_options_step() "incremental parsing"
148 + machinery
149 + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
150 +
151 +This needs to be merged to master iff/when merge-theirs gets merged,
152 +but I do not think this series is widely supported, so both are on hold.
153 +
154 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
155 + + Make "subtree" part more orthogonal to the rest of merge-
156 + recursive.
157 + + Teach git-pull to pass -X<option> to git-merge
158 + + Teach git-merge to pass -X<option> to the backend strategy module
159 + + git-merge-recursive-{ours,theirs}
160 + + git-merge-file --ours, --theirs
161 +
162 +Punting a merge by discarding your own work in conflicting parts but still
163 +salvaging the parts that are cleanly automerged. It is likely that this
164 +will result in nonsense mishmash, but somehow often people want this, so
165 +here they are. The interface to the backends is updated so that you can
166 +say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
167 +
168 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
169 + + merge: remove deprecated summary and diffstat options and config
170 + variables
171 +
172 +This was previously in "will be in master soon" category, but it turns out
173 +that the synonyms to the ones this one deletes are fairly new invention
174 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perhaps
175 +in 1.7.0.
176 +
177 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
178 + + Revert "Make clients ask for "git program" over ssh and local
179 + transport"
180 + + Make clients ask for "git program" over ssh and local transport
181 +
182 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
183 +timeframe.
184 +
185 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
186 + - diff: enable "too large a rename" warning when -M/-C is explicitly
187 + asked for
188 +
189 +This would be the right thing to do for command line use, but gitk will be
190 +hit due to tcl/tk's limitation, so I am holding this back for now.
191 +
192 +----------------------------------------------------------------
193 +[Stalled/Needs more work]
194 +
195 +* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
196 + . cherry: cache patch-ids to avoid repeating work
197 +
198 +The discussion suggested that the value of having the cache itself is
199 +iffy, but I should pick up the updated one and look at it.
200 +
201 +* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
202 + . gitweb: use new Git::Repo API, and add optional caching
203 + . Add new Git::Repo API
204 + . gitweb: add test suite with Test::WWW::Mechanize::CGI
205 +
206 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
207 + . Migrate git-am to use git-sequencer
208 + . Add git-sequencer test suite (t3350)
209 + . Add git-sequencer prototype documentation
210 + . Add git-sequencer shell prototype
211 +
212 +I haven't looked at the updated series yet. I should, but nobody else
213 +seems to be looking at these patches, which is somewhat depressing but
214 +understandable. Summer is slower ;-)
215 +
216 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
217 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
218 +
219 +Cloning or fetching from a repository from grafts did not send objects
220 +that are hidden by grafts, but the commits in the resulting repository do
221 +need these to pass fsck. This fixes object transfer to ignore grafts.
222 +
223 +Another fix is needed to git-prune so that it ignores grafts but treats
224 +commits that are mentioned in grafts as reachable.
225 +
226 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
227 + - blame: show "previous" information in --porcelain/--incremental
228 + format
229 + - git-blame: refactor code to emit "porcelain format" output
230 +
231 +This is for peeling the line from the blamed version to see what's behind
232 +it, which may or may not help applications like gitweb.
233 +
whats/cooking/2008/07/08.txt new
+180
@@ -0,0 +1,180 @@
1 +What's cooking in git.git (Jul 2008, issue #08; Sat, 19)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be merged to the maintenance series have "maint-" in their names.
10 +
11 +Due to increased activity level from people including GSoC students, I
12 +expect 'next' to stay somewhat more active than previous rounds during the
13 +1.6.0-rc cycle. The request for people who usually follow 'next' is the
14 +same as usual, though. After -rc1 is tagged, please run 'master' for your
15 +daily git use instead, in order to make sure 'master' does what it claims
16 +to do without regression.
17 +
18 +Tentative schedule, my wishful thinking:
19 +
20 + - 1.6.0-rc0 (Jul 20)
21 + - 1.6.0-rc1 (Jul 23)
22 + - 1.6.0-rc2 (Jul 30)
23 + - 1.6.0-rc3 (Aug 6)
24 + - 1.6.0 (Aug 10)
25 +
26 +No real activity on 'next', as I was busy tending bugfixes and pushing out
27 +v1.5.6.4 today.
28 +
29 +----------------------------------------------------------------
30 +[Will merge to "master" soon]
31 +
32 +* ns/am-abort (Wed Jul 16 19:39:10 2008 +0900) 1 commit
33 + + git am --abort
34 +
35 +This one is for Ted; builds on top of the recent "am and rebase leaves
36 +ORIG_HEAD just like reset, merge and pull does" rather nicely.
37 +
38 +* jc/rerere-auto-more (Wed Jul 16 20:25:18 2008 -0700) 1 commit
39 + + rerere.autoupdate: change the message when autoupdate is in effect
40 +
41 +This one is for Ingo.
42 +
43 +This changes the message rerere issues after reusing previous conflict
44 +resolution from "Resolved" to "Staged" when autoupdate option is in
45 +effect.
46 +
47 +It is envisioned that in practice, some auto resolutions are trickier and
48 +iffier than others, and we would want to add a feature to mark individual
49 +resolutions as "this is ok to autoupdate" or "do not autoupdate the result
50 +using this resolution even when rerere.autoupdate is in effect" in the
51 +future. When that happens, these messages will make the distinction
52 +clearer.
53 +
54 +* ap/trackinfo (Wed Jul 16 15:19:27 2008 -0400) 1 commit
55 + + Reword "your branch has diverged..." lines to reduce line length
56 +
57 +----------------------------------------------------------------
58 +[Stalled/Needs more work]
59 +
60 +* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
61 + - Documentation: Improve documentation for git-imap-send(1)
62 + - imap-send.c: more style fixes
63 + - imap-send.c: style fixes
64 + - git-imap-send: Support SSL
65 + - git-imap-send: Allow the program to be run from subdirectories of
66 + a git tree
67 +
68 +I said: "Some people seem to prefer having this feature available also
69 +with gnutls. If such a patch materializes soon, that would be good, but
70 +otherwise I'll merge this as-is to 'next'. Such an enhancement can be
71 +done in-tree on top of this series." Anybody?
72 +
73 +* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
74 + . cherry: cache patch-ids to avoid repeating work
75 +
76 +The discussion suggested that the value of having the cache itself is
77 +iffy, but I should pick up the updated one and look at it.
78 +
79 +* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
80 + . gitweb: use new Git::Repo API, and add optional caching
81 + . Add new Git::Repo API
82 + . gitweb: add test suite with Test::WWW::Mechanize::CGI
83 +
84 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
85 + . Migrate git-am to use git-sequencer
86 + . Add git-sequencer test suite (t3350)
87 + . Add git-sequencer prototype documentation
88 + . Add git-sequencer shell prototype
89 +
90 +I haven't looked at the updated series yet. I should, but nobody else
91 +seems to be looking at these patches, which is somewhat depressing but
92 +understandable. Summer is slower ;-)
93 +
94 +* pb/submodule (Wed Jul 16 21:11:40 2008 +0200) 7 commits
95 + . t7403: Submodule git mv, git rm testsuite
96 + . git rm: Support for removing submodules
97 + . git mv: Support moving submodules
98 + . submodule.*: Introduce simple C interface for submodule lookup by
99 + path
100 + . git submodule add: Fix naming clash handling
101 + . t7400: Add short "git submodule add" testsuite
102 + . git-mv: Remove dead code branch
103 +
104 +Long overdue usability improvement series for submodule. Very much
105 +welcomed. It would be nice to have some submodule improvements in 1.6.0,
106 +but it would take us a few more rounds to hit 'next' with this, and it
107 +will not be in 'master' when 1.6.0 ships.
108 +
109 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
110 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
111 +
112 +Cloning or fetching from a repository from grafts did not send objects
113 +that are hidden by grafts, but the commits in the resulting repository do
114 +need these to pass fsck. This fixes object transfer to ignore grafts.
115 +
116 +Another fix is needed to git-prune so that it ignores grafts but treats
117 +commits that are mentioned in grafts as reachable.
118 +
119 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
120 + - blame: show "previous" information in --porcelain/--incremental
121 + format
122 + - git-blame: refactor code to emit "porcelain format" output
123 +
124 +This is for peeling the line from the blamed version to see what's behind
125 +it, which may or may not help applications like gitweb.
126 +
127 +----------------------------------------------------------------
128 +[Will drop]
129 +
130 +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
131 + + Teach git-merge -X<option> again.
132 + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
133 + + builtin-merge.c: use parse_options_step() "incremental parsing"
134 + machinery
135 + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
136 +
137 +* jc/merge-theirs (Fri Jul 18 02:43:00 2008 -0700) 6 commits
138 + - Document that merge strategies can now take their own options
139 + + Make "subtree" part more orthogonal to the rest of merge-
140 + recursive.
141 + + Teach git-pull to pass -X<option> to git-merge
142 + + Teach git-merge to pass -X<option> to the backend strategy module
143 + + git-merge-recursive-{ours,theirs}
144 + + git-merge-file --ours, --theirs
145 +
146 +It appears nobody wants "theirs" nor "ours", so I'll soon apply a
147 +wholesale revert for these series to 'next', and then these will be
148 +dropped when we rewind 'next' after 1.6.0 final.
149 +
150 +Please make sure next time somebody asks "ours/theirs" merge on the list
151 +and #git s/he is quickly told that it was unanimously rejected so that
152 +people do not have to waste time rehashing the topic ever again.
153 +
154 +----------------------------------------------------------------
155 +[On Hold]
156 +
157 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
158 + + merge: remove deprecated summary and diffstat options and config
159 + variables
160 +
161 +This was previously in "will be in master soon" category, but it turns out
162 +that the synonyms to the ones this one deletes are fairly new invention
163 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perhaps
164 +in 1.7.0.
165 +
166 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
167 + + Revert "Make clients ask for "git program" over ssh and local
168 + transport"
169 + + Make clients ask for "git program" over ssh and local transport
170 +
171 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
172 +timeframe.
173 +
174 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
175 + - diff: enable "too large a rename" warning when -M/-C is explicitly
176 + asked for
177 +
178 +This would be the right thing to do for command line use, but gitk will be
179 +hit due to tcl/tk's limitation, so I am holding this back for now.
180 +
whats/cooking/2008/07/09.txt new
+198
@@ -0,0 +1,198 @@
1 +What's cooking in git.git (Jul 2008, issue #09; Sun, 20)
2 +--------------------------------------------------------
3 +
4 +Here are the topics that have been cooking. Commits prefixed
5 +with '-' are only in 'pu' while commits prefixed with '+' are
6 +in 'next'.
7 +
8 +The topics list the commits in reverse chronological order. The topics
9 +meant to be merged to the maintenance series have "maint-" in their names.
10 +
11 +Due to increased activity level from people including GSoC students, I
12 +expect 'next' to stay somewhat more active than previous rounds during the
13 +1.6.0-rc cycle. The request for people who usually follow 'next' is the
14 +same as usual, though. After -rc1 is tagged, please run 'master' for your
15 +daily git use instead, in order to make sure 'master' does what it claims
16 +to do without regression.
17 +
18 +Tentative schedule, my wishful thinking:
19 +
20 + - 1.6.0-rc0 (Jul 20)
21 + - 1.6.0-rc1 (Jul 23)
22 + - 1.6.0-rc2 (Jul 30)
23 + - 1.6.0-rc3 (Aug 6)
24 + - 1.6.0 (Aug 10)
25 +
26 +----------------------------------------------------------------
27 +[New Topics]
28 +
29 +* pb/sane-mv (Mon Jul 21 02:25:56 2008 +0200) 2 commits
30 + - git-mv: Keep moved index entries inact
31 + - git-mv: Remove dead code branch
32 +
33 +Running "git mv A B" when you have local changes to A automatically staged
34 +it while moving it to B, which was a longstanding nonsense. This attempts
35 +to fix it. Pasky has other plans to build on a more solidified foundation
36 +to enhance the command to work with submodules better on top of this.
37 +
38 +----------------------------------------------------------------
39 +[Graduated to "master"]
40 +
41 +* ns/am-abort (Wed Jul 16 19:39:10 2008 +0900) 1 commit
42 + + git am --abort
43 +
44 +This one is for Ted; builds on top of the recent "am and rebase leaves
45 +ORIG_HEAD just like reset, merge and pull does" rather nicely.
46 +
47 +* jc/rerere-auto-more (Wed Jul 16 20:25:18 2008 -0700) 1 commit
48 + + rerere.autoupdate: change the message when autoupdate is in effect
49 +
50 +This one is for Ingo.
51 +
52 +This changes the message rerere issues after reusing previous conflict
53 +resolution from "Resolved" to "Staged" when autoupdate option is in
54 +effect.
55 +
56 +It is envisioned that in practice, some auto resolutions are trickier and
57 +iffier than others, and we would want to add a feature to mark individual
58 +resolutions as "this is ok to autoupdate" or "do not autoupdate the result
59 +using this resolution even when rerere.autoupdate is in effect" in the
60 +future. When that happens, these messages will make the distinction
61 +clearer.
62 +
63 +* ap/trackinfo (Wed Jul 16 15:19:27 2008 -0400) 1 commit
64 + + Reword "your branch has diverged..." lines to reduce line length
65 +
66 +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
67 + + Teach git-merge -X<option> again.
68 + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
69 + + builtin-merge.c: use parse_options_step() "incremental parsing"
70 + machinery
71 + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
72 +
73 +* jc/merge-theirs (Fri Jul 18 02:43:00 2008 -0700) 6 commits
74 + - Document that merge strategies can now take their own options
75 + + Make "subtree" part more orthogonal to the rest of merge-
76 + recursive.
77 + + Teach git-pull to pass -X<option> to git-merge
78 + + Teach git-merge to pass -X<option> to the backend strategy module
79 + + git-merge-recursive-{ours,theirs}
80 + + git-merge-file --ours, --theirs
81 +
82 +It appears nobody wants "theirs" nor "ours", so I'll soon apply a
83 +wholesale revert for these series to 'next', and then these will be
84 +dropped when we rewind 'next' after 1.6.0 final.
85 +
86 +Please make sure next time somebody asks "ours/theirs" merge on the list
87 +and #git s/he is quickly told that it was unanimously rejected so that
88 +people do not have to waste time rehashing the topic ever again.
89 +
90 +----------------------------------------------------------------
91 +[Stalled/Needs more work]
92 +
93 +* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
94 + - Documentation: Improve documentation for git-imap-send(1)
95 + - imap-send.c: more style fixes
96 + - imap-send.c: style fixes
97 + - git-imap-send: Support SSL
98 + - git-imap-send: Allow the program to be run from subdirectories of
99 + a git tree
100 +
101 +I said: "Some people seem to prefer having this feature available also
102 +with gnutls. If such a patch materializes soon, that would be good, but
103 +otherwise I'll merge this as-is to 'next'. Such an enhancement can be
104 +done in-tree on top of this series." Anybody?
105 +
106 +* gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
107 + . cherry: cache patch-ids to avoid repeating work
108 +
109 +The discussion suggested that the value of having the cache itself is
110 +iffy, but I should pick up the updated one and look at it.
111 +
112 +* lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
113 + . gitweb: use new Git::Repo API, and add optional caching
114 + . Add new Git::Repo API
115 + . gitweb: add test suite with Test::WWW::Mechanize::CGI
116 +
117 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
118 + . Migrate git-am to use git-sequencer
119 + . Add git-sequencer test suite (t3350)
120 + . Add git-sequencer prototype documentation
121 + . Add git-sequencer shell prototype
122 +
123 +I haven't looked at the updated series yet. I should, but nobody else
124 +seems to be looking at these patches, which is somewhat depressing but
125 +understandable. Summer is slower ;-)
126 +
127 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
128 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
129 +
130 +Cloning or fetching from a repository from grafts did not send objects
131 +that are hidden by grafts, but the commits in the resulting repository do
132 +need these to pass fsck. This fixes object transfer to ignore grafts.
133 +
134 +Another fix is needed to git-prune so that it ignores grafts but treats
135 +commits that are mentioned in grafts as reachable.
136 +
137 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
138 + - blame: show "previous" information in --porcelain/--incremental
139 + format
140 + - git-blame: refactor code to emit "porcelain format" output
141 +
142 +This is for peeling the line from the blamed version to see what's behind
143 +it, which may or may not help applications like gitweb.
144 +
145 +----------------------------------------------------------------
146 +[Dropped]
147 +
148 +* xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
149 + + Teach git-merge -X<option> again.
150 + + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
151 + + builtin-merge.c: use parse_options_step() "incremental parsing"
152 + machinery
153 + + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
154 +
155 +* jc/merge-theirs (Fri Jul 18 02:43:00 2008 -0700) 6 commits
156 + - Document that merge strategies can now take their own options
157 + + Make "subtree" part more orthogonal to the rest of merge-
158 + recursive.
159 + + Teach git-pull to pass -X<option> to git-merge
160 + + Teach git-merge to pass -X<option> to the backend strategy module
161 + + git-merge-recursive-{ours,theirs}
162 + + git-merge-file --ours, --theirs
163 +
164 +It appears nobody wants "theirs" nor "ours", so I'll soon apply a
165 +wholesale revert for these series to 'next', and then these will be
166 +dropped when we rewind 'next' after 1.6.0 final.
167 +
168 +Please make sure next time somebody asks "ours/theirs" merge on the list
169 +and #git s/he is quickly told that it was unanimously rejected so that
170 +people do not have to waste time rehashing the topic ever again.
171 +
172 +----------------------------------------------------------------
173 +[On Hold]
174 +
175 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
176 + + merge: remove deprecated summary and diffstat options and config
177 + variables
178 +
179 +This was previously in "will be in master soon" category, but it turns out
180 +that the synonyms to the ones this one deletes are fairly new invention
181 +that happend in 1.5.6 timeframe, and we cannot do this just yet. Perhaps
182 +in 1.7.0.
183 +
184 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
185 + + Revert "Make clients ask for "git program" over ssh and local
186 + transport"
187 + + Make clients ask for "git program" over ssh and local transport
188 +
189 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
190 +timeframe.
191 +
192 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
193 + - diff: enable "too large a rename" warning when -M/-C is explicitly
194 + asked for
195 +
196 +This would be the right thing to do for command line use, but gitk will be
197 +hit due to tcl/tk's limitation, so I am holding this back for now.
198 +
whats/cooking/2008/07/10.txt renamed
whats/in/2008/06/01.txt new
+88
@@ -0,0 +1,88 @@
1 +What's in git.git (Jun 2008, issue #01; Wed, 18)
2 +
3 + maint 4afbcab (diff.c: fix emit_line() again not to add extra line, 2008-06-16)
4 + master 8c6b578 (Fix approxidate("never") to always return 0, 2008-06-17)
5 +------------------------------------------------------------------------
6 +
7 +I am sending this out just as the final minute preview before 1.5.6 final,
8 +hopefully tomorrow night.
9 +
10 +* The 'maint' branch has these fixes since the last announcement.
11 +
12 +Junio C Hamano (1):
13 + diff.c: fix emit_line() again not to add extra line
14 +
15 +SZEDER Gábor (1):
16 + diff: reset color before printing newline
17 +
18 +
19 +* The 'master' branch has these since the last announcement
20 + in addition to the above.
21 +
22 +Alejandro Mery (1):
23 + git-am: head -1 is obsolete and doesn't work on some new systems
24 +
25 +Avery Pennarun (2):
26 + git-svn: don't append extra newlines at the end of commit messages.
27 + git-svn: test that extra blank lines aren't inserted in commit messages.
28 +
29 +Christian Couder (2):
30 + documentation: bisect: remove bits talking about a bisection branch
31 + Documentation: RelNotes-1.5.6: talk about renamed HTML files
32 +
33 +Flavio Poletti (1):
34 + git-instaweb: improve auto-discovery of httpd and call conventions.
35 +
36 +Jakub Narebski (2):
37 + gitweb: Make it work with $GIT containing spaces
38 + Use 'trash directory' thoroughly in t/test-lib.sh
39 +
40 +Johan Herland (3):
41 + cpio is no longer used by git-clone
42 + Consistency: Use "libcurl" instead of "cURL library" and "curl"
43 + The "curl" executable is no longer required
44 +
45 +Junio C Hamano (8):
46 + t4126: fix test that happened to work due to timing
47 + sha1_file.c: dead code removal
48 + GIT 1.5.6-rc3
49 + Makefile: update check-docs target
50 + Update RPM spec to drop curl executable requirement
51 + create_tempfile: make sure that leading directories can be accessible by
52 + peers
53 + sha1_file.c: simplify parse_pack_index()
54 + builtin-rerere: fix a small leak
55 +
56 +Lea Wiemann (2):
57 + gitweb: quote commands properly when calling the shell
58 + gitweb: remove unused parse_ref method
59 +
60 +Linus Torvalds (4):
61 + Avoid cross-directory renames and linking on object creation
62 + Make loose object file reading more careful
63 + Simplify and rename find_sha1_file()
64 + write_loose_object: don't bother trying to read an old object
65 +
66 +Mark Levedahl (1):
67 + git-submodule - Fix errors regarding resolve_relative_url
68 +
69 +Mike Hommey (1):
70 + Don't allocate too much memory in quote_ref_url
71 +
72 +Miklos Vajna (2):
73 + run-command documentation: fix "memset()" parameter
74 + path-list documentation: document all functions and data structures
75 +
76 +Olivier Marin (1):
77 + Fix approxidate("never") to always return 0
78 +
79 +Pierre Habouzit (1):
80 + Make git reflog expire honour core.sharedRepository.
81 +
82 +René Scharfe (1):
83 + Ignore .gitattributes in bare repositories
84 +
85 +SZEDER Gábor (2):
86 + git add: add long equivalents of '-u' and '-f' options
87 + completion: add more 'git add' options
88 +
whats/in/2008/06/02.txt new
+43
@@ -0,0 +1,43 @@
1 +What's in git.git (Jun 2008, issue #02; Sat, 21)
2 +
3 + maint 3b2bbe9 (Documentation: fix formatting in git-svn, 2008-06-20)
4 + master 73f0362 (Correct documentation for git-push --mirror, 2008-06-20)
5 +------------------------------------------------------------------------
6 +
7 +* The 'maint' branch has now preparing for 1.5.6.1, with these noncritical
8 + fixes.
9 +
10 +Brandon Casey (2):
11 + git-merge.sh: fix typo in usage message: sucesses --> succeeds
12 + t7502-commit.sh: test_must_fail doesn't work with inline environment
13 + variables
14 +
15 +Dan McGee (1):
16 + completion: add --graph to log command completion
17 +
18 +Jan Krüger (1):
19 + Documentation: fix formatting in git-svn
20 +
21 +
22 +* The 'master' branch has these since the last announcement
23 + in addition to the above. Not much to see here (yet).
24 +
25 +Cristian Peraferrer (1):
26 + Print errno upon failure to open the COMMIT_EDITMSG file
27 +
28 +Jakub Narebski (1):
29 + t/README: Add 'Skipping Tests' section below 'Running Tests'
30 +
31 +Lea Wiemann (1):
32 + test-lib.sh: add --long-tests option
33 +
34 +Lukas Sandström (1):
35 + Add a helper script to send patches with Mozilla Thunderbird
36 +
37 +Shawn O. Pearce (1):
38 + Correct documentation for git-push --mirror
39 +
40 +Teemu Likonen (2):
41 + bash: Add more option completions for 'git log'
42 + Add target "install-html" the the top level Makefile
43 +
whats/in/2008/06/03.txt new
+65
@@ -0,0 +1,65 @@
1 +What's in git.git (Jun 2008, issue #03; Mon, 23)
2 +
3 + maint 010a2da (Extend parse-options test suite, 2008-06-22)
4 + master 112db55 (Shrink the git binary a bit by avoiding unnecessary inline functions, 2008-06-22)
5 +------------------------------------------------------------------------
6 +
7 +There are a few more fixes destined for maint, being tested in next first.
8 +
9 +* The 'maint' branch has these fixes since the last announcement.
10 +
11 +Michele Ballabio (1):
12 + parse-options.c: fix documentation syntax of optional arguments
13 +
14 +Stephan Beyer (3):
15 + api-builtin.txt: update and fix typo
16 + api-parse-options.txt: Introduce documentation for parse options API
17 + Extend parse-options test suite
18 +
19 +
20 +* The 'master' branch has these since the last announcement
21 + in addition to the above.
22 +
23 +Jakub Narebski (2):
24 + gitweb: Separate filling list of projects info
25 + gitweb: Separate generating 'sort by' table header
26 +
27 +Jeff King (5):
28 + fix whitespace violations in test scripts
29 + mask necessary whitespace policy violations in test scripts
30 + avoid whitespace on empty line in automatic usage message
31 + avoid trailing whitespace in zero-change diffstat lines
32 + enable whitespace checking of test scripts
33 +
34 +Junio C Hamano (1):
35 + diff -c/--cc: do not include uninteresting deletion before leading
36 + context
37 +
38 +Karl Hasselström (2):
39 + Clean up builtin-update-ref's option parsing
40 + Make old sha1 optional with git update-ref -d
41 +
42 +Linus Torvalds (3):
43 + racy-git: an empty blob has a fixed object name
44 + Make git_dir a path relative to work_tree in setup_work_tree()
45 + Shrink the git binary a bit by avoiding unnecessary inline functions
46 +
47 +Marius Storm-Olsen (3):
48 + Add an optional <mode> argument to commit/status -u|--untracked-files
49 + option
50 + Add argument 'no' commit/status option -u|--untracked-files
51 + Add configuration option for default untracked files mode
52 +
53 +Nanako Shiraishi (2):
54 + environment.c: remove unused function
55 + config.c: make git_env_bool() static
56 +
57 +Pieter de Bie (1):
58 + builtin-fast-export: Add importing and exporting of revision marks
59 +
60 +Rafael Garcia-Suarez (1):
61 + gitweb: remove git_blame and rename git_blame2 to git_blame
62 +
63 +René Scharfe (1):
64 + Teach new attribute 'export-ignore' to git-archive
65 +
whats/in/2008/06/04.txt new
+42
@@ -0,0 +1,42 @@
1 +What's in git.git (Jun 2008, issue #04; Wed, 25)
2 +
3 + maint 74b1e12 (git-svn: make rebuild respect rewriteRoot option, 2008-06-24)
4 + master 85fe23e (verify-pack: test for detection of index v2 object CRC mismatch, 2008-06-24)
5 +------------------------------------------------------------------------
6 +
7 +We'd need a maint release soon to push out the mkstemp() breakage but not
8 +tonight. There are a handful changes that are in 'master' and 'next' that
9 +need backport/backmerge before 1.5.6.1 happens.
10 +
11 +* The 'maint' branch has these fixes since the last announcement.
12 +
13 +Jan Krüger (1):
14 + git-svn: make rebuild respect rewriteRoot option
15 +
16 +Patrick Higgins (1):
17 + Workaround for AIX mkstemp()
18 +
19 +
20 +* The 'master' branch has these since the last announcement
21 + in addition to the above.
22 +
23 +Jeff King (1):
24 + clone: create intermediate directories of destination repo
25 +
26 +Junio C Hamano (2):
27 + pre-rebase hook update
28 + Ship sample hooks with .sample suffix
29 +
30 +Michele Ballabio (1):
31 + t9301-fast-export.sh: Remove debug line
32 +
33 +Nicolas Pitre (8):
34 + call init_pack_revindex() lazily
35 + implement some resilience against pack corruptions
36 + test case for pack resilience against corruptions
37 + refactor pack structure allocation
38 + optimize verify-pack a bit
39 + move show_pack_info() where it belongs
40 + verify-pack: check packed object CRC when using index version 2
41 + verify-pack: test for detection of index v2 object CRC mismatch
42 +
whats/in/2008/07/01.txt new
+301
@@ -0,0 +1,301 @@
1 +What's in git.git (Jul 2008, issue #01; Tue, 01)
2 +
3 + maint 7ad0f27 (Start draft release notes for 1.5.6.2, 2008-07-01)
4 + master e903b40 (Update draft release notes for 1.6.0, 2008-07-01)
5 +------------------------------------------------------------------------
6 +
7 +There are a few fixes on 'maint', in addition to futureproofing of "git
8 +shell" so that eventually we can update the ssh clients to ask for server
9 +side programs using "git upload-pack" syntax without a dash between "git"
10 +and the subcommand name.
11 +
12 +Many of the medimu size items for 1.6.0 have been merged to 'master'. The
13 +port to MinGW series will also be merged shortly.
14 +
15 +----------------------------------------------------------------
16 +
17 +GIT v1.6.0 Release Notes (draft)
18 +================================
19 +
20 +User visible changes
21 +--------------------
22 +
23 +With the default Makefile settings, most of the programs are now
24 +installed outside your $PATH, except for "git", "gitk", "git-gui" and
25 +some server side programs that need to be accessible for technical
26 +reasons. Invoking a git subcommand as "git-xyzzy" from the command
27 +line has been deprecated since early 2006 (and officially announced in
28 +1.5.4 release notes); use of them from your scripts after adding
29 +output from "git --exec-path" to the $PATH is still supported in this
30 +release, but users are again strongly encouraged to adjust their
31 +scripts to use "git xyzzy" form, as we will stop installing
32 +"git-xyzzy" hardlinks for built-in commands in later releases.
33 +
34 +Source changes needed for porting to MinGW environment are now all in the
35 +main git.git codebase.
36 +
37 +By default, packfiles created with this version uses delta-base-offset
38 +encoding introduced in v1.4.4. Pack idx files are using version 2 that
39 +allows larger packs and added robustness thanks to its CRC checking,
40 +introduced in v1.5.2.
41 +
42 +
43 +Updates since v1.5.6
44 +--------------------
45 +
46 +(subsystems)
47 +
48 +* git-p4 in contrib learned "allowSubmit" configuration to control on
49 + which branch to allow "submit" subcommand.
50 +
51 +(portability)
52 +
53 +* Sample hook scripts shipped in templates/ are now suffixed with
54 + *.sample. We used to prevent them from triggering by default by
55 + relying on the fact that we install them as unexecutable, but on
56 + some filesystems this approach does not work. Instead of running
57 + "chmod +x" on them, the users who want to activate these samples
58 + as-is can now rename them dropping *.sample suffix.
59 +
60 +* perl's in-place edit (-i) does not work well without backup files on Windows;
61 + some tests are rewritten to cope with this.
62 +
63 +(documentation)
64 +
65 +* Updated howto/update-hook-example
66 +
67 +* Got rid of usage of "git-foo" from the tutorial.
68 +
69 +* Disambiguating "--" between revs and paths is finally documented.
70 +
71 +(performance, robustness, sanity etc.)
72 +
73 +* even more documentation pages are now accessible via "man" and "git help".
74 +
75 +* reduced excessive inlining to shrink size of the "git" binary.
76 +
77 +* verify-pack checks the object CRC when using version 2 idx files.
78 +
79 +* When an object is corrupt in a pack, the object became unusable even
80 + when the same object is available in a loose form, We now try harder to
81 + fall back to these redundant objects when able. In particular, "git
82 + repack -a -f" can be used to fix such a corruption as long as necessary
83 + objects are available.
84 +
85 +* git-clone does not create refs in loose form anymore (it behaves as
86 + if you immediately ran git-pack-refs after cloning). This will help
87 + repositories with insanely large number of refs.
88 +
89 +* core.fsyncobjectfiles configuration can be used to ensure that the loose
90 + objects created will be fsync'ed (this is only useful on filesystems
91 + that does not order data writes properly).
92 +
93 +* "git commit-tree" plumbing can make Octopus with more than 16 parents.
94 + "git commit" has been capable of this for quite some time.
95 +
96 +(usability, bells and whistles)
97 +
98 +* git-apply can handle a patch that touches the same path more than once
99 + much better than before.
100 +
101 +* git-apply can be told not to trust the line counts recorded in the input
102 + patch but recount, with the new --recount option.
103 +
104 +* git-archive can be told to omit certain paths from its output using
105 + export-ignore attributes.
106 +
107 +* git-clone can clone from a remote whose URL would be rewritten by
108 + configuration stored in $HOME/.gitconfig now.
109 +
110 +* git-diff --check now checks leftover merge conflict markers.
111 +
112 +* When remote side used to have branch 'foo' and git-fetch finds that now
113 + it has branch 'foo/bar', it refuses to lose the existing remote tracking
114 + branch and its reflog. The error message has been improved to suggest
115 + pruning the remote if the user wants to proceed and get the latest set
116 + of branches from the remote, including such 'foo/bar'.
117 +
118 +* fast-export learned to export and import marks file; this can be used to
119 + interface with fast-import incrementally.
120 +
121 +* Original SHA-1 value for "update-ref -d" is optional now.
122 +
123 +* git-send-mail can talk not just over SSL but over TLS now.
124 +
125 +* You can tell "git status -u" to even more aggressively omit checking
126 + untracked files with --untracked-files=no.
127 +
128 +* Error codes from gitweb are made more descriptive where possible, rather
129 + than "403 forbidden" as we used to issue everywhere.
130 +
131 +(internal)
132 +
133 +
134 +Fixes since v1.5.6
135 +------------------
136 +
137 +All of the fixes in v1.5.6 maintenance series are included in
138 +this release, unless otherwise noted.
139 +
140 + * diff -c/--cc showed unnecessary "deletion" lines at the context
141 + boundary (needs backmerge to maint).
142 +
143 + * "git-clone <src> <dst>" did not create leading directories for <dst>
144 + like the scripted version used to do (needs backport to maint).
145 +
146 +
147 +----------------------------------------------------------------
148 +
149 +* The 'maint' branch has these fixes since v1.5.6.1.
150 +
151 +Avery Pennarun (1):
152 + git-svn: avoid filling up the disk with temp files.
153 +
154 +Björn Steinbrink (1):
155 + git cat-file: Fix memory leak in batch mode
156 +
157 +Eric Wong (1):
158 + git-svn: don't sanitize remote names in config
159 +
160 +Jeff King (1):
161 + doc/rev-parse: clarify reflog vs --until for specifying revisions
162 +
163 +Jochen Voss (1):
164 + avoid off-by-one error in run_upload_archive
165 +
166 +Joey Hess (1):
167 + fix git config example syntax
168 +
169 +Junio C Hamano (5):
170 + diff --check: do not discard error status upon seeing a good line
171 + git-shell: accept "git foo" form
172 + GIT 1.5.4.6
173 + GIT 1.5.5.5
174 + Start draft release notes for 1.5.6.2
175 +
176 +Thomas Rast (1):
177 + Fix 'git show' on signed tag of signed tag of commit
178 +
179 +
180 +* The 'master' branch has these since the last announcement
181 + in addition to the above.
182 +
183 +Alex Riesen (1):
184 + Fix use of "perl -i" on Windows
185 +
186 +Brian Gernhardt (2):
187 + Fix t4017-diff-retval for white-space from wc
188 + Add test results directory to t/.gitignore
189 +
190 +Christian Couder (1):
191 + help: check early if we have a command, if not try a documentation topic
192 +
193 +Dmitry Potapov (2):
194 + update-hook-example: optionally allow non-fast-forward
195 + shrink git-shell by avoiding redundant dependencies
196 +
197 +Don Zickus (1):
198 + git-apply: handle a patch that touches the same path more than once
199 + better
200 +
201 +Jeff King (3):
202 + improve for-each-ref test script
203 + fetch: report local storage errors in status table
204 + fetch: give a hint to the user when local refs fail to update
205 +
206 +Jing Xue (1):
207 + Add 'git-p4.allowSubmit' to git-p4
208 +
209 +Johan Herland (4):
210 + Incorporate fetched packs in future object traversal
211 + Move pack_refs() and friends into libgit
212 + Prepare testsuite for a "git clone" that packs refs
213 + Teach "git clone" to pack refs
214 +
215 +Johannes Schindelin (4):
216 + clone: respect url.insteadOf setting in global configs
217 + commit-tree: lift completely arbitrary limit of 16 parents
218 + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
219 + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
220 +
221 +Jonathan Nieder (7):
222 + Documentation: fix links to tutorials and other new manual pages
223 + whitespace fix in Documentation/git-repack.txt
224 + Documentation: complicate example of "man git-command"
225 + git-daemon(1): don't assume git-daemon is in /usr/bin
226 + Documentation: prepare to be consistent about "git-" versus "git "
227 + Documentation: be consistent about "git-" versus "git "
228 + Documentation formatting and cleanup
229 +
230 +Junio C Hamano (15):
231 + git-shell: accept "git foo" form
232 + Prepare execv_git_cmd() for removal of builtins from the filesystem
233 + Keep some git-* programs in $(bindir)
234 + Allow "git-reset path" when unambiguous
235 + Start draft release notes for 1.6.0
236 + diff --check: explain why we do not care whether old side is binary
237 + check_and_emit_line(): rename and refactor
238 + checkdiff: pass diff_options to the callback
239 + Teach "diff --check" about new blank lines at end
240 + diff --check: detect leftover conflict markers
241 + Update sample pre-commit hook to use "diff --check"
242 + Document the double-dash "rev -- path" disambiguator
243 + t9700: skip when Test::More is not available
244 + Update draft release notes for 1.6.0
245 + Update draft release notes for 1.6.0
246 +
247 +Kevin Ballard (1):
248 + git-send-email: Accept fifos as well as files
249 +
250 +Lea Wiemann (5):
251 + t/test-lib.sh: add test_external and test_external_without_stderr
252 + Git.pm: add test suite
253 + gitweb: standarize HTTP status codes
254 + test-lib.sh: show git init output when in verbose mode
255 + GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy
256 +
257 +Linus Torvalds (4):
258 + Split up default "core" config parsing into helper routine
259 + Split up default "user" config parsing into helper routine
260 + Split up default "i18n" and "branch" config parsing into helper routines
261 + Add config option to enable 'fsync()' of object files
262 +
263 +Miklos Vajna (1):
264 + A simple script to parse the results from the testcases
265 +
266 +Nanako Shiraishi (1):
267 + gitcli: Document meaning of --cached and --index
268 +
269 +Nguyễn Thái Ngọc Duy (1):
270 + Move all dashed-form commands to libexecdir
271 +
272 +Nicolas Pitre (2):
273 + repack.usedeltabaseoffset config option now defaults to "true"
274 + pack.indexversion config option now defaults to 2
275 +
276 +Olivier Marin (2):
277 + Documentation: remove {show,whatchanged}.difftree config options
278 + show_stats(): fix stats width calculation
279 +
280 +Patrick Higgins (1):
281 + Remove the use of '--' in merge program invocation
282 +
283 +Stephan Beyer (2):
284 + api-builtin.txt: update and fix typo
285 + t3404: stricter tests for git-rebase--interactive
286 +
287 +Sverre Rabbelier (2):
288 + Modify test-lib.sh to output stats to t/test-results/*
289 + Hook up the result aggregation in the test makefile.
290 +
291 +Ted Percival (1):
292 + Don't use dash commands (git-foo) in tutorial-2
293 +
294 +Thomas Rast (2):
295 + git-send-email: add support for TLS via Net::SMTP::SSL
296 + git-send-email: prevent undefined variable warnings if no encryption is
297 + set
298 +
299 +jrnieder@uchicago.edu (1):
300 + Documentation: don't assume git-sh-setup and git-parse-remote are in PATH
301 +
whats/in/2008/07/02.txt new
+126
@@ -0,0 +1,126 @@
1 +What's in git.git (Jul 2008, issue #02; Sun, 06)
2 +
3 + maint 78e3118 (GIT 1.5.6.2, 2008-07-04)
4 + master 44701c6 (Merge branch 'qq/maint', 2008-07-06)
5 +------------------------------------------------------------------------
6 +
7 +With accumulated fixes, the latest maintenance release 1.5.6.2 is out.
8 +
9 +On the 'master' front, port to MinGW has now been merged, and the next
10 +major release 1.6.0 is already taking shape.
11 +
12 +----------------------------------------------------------------
13 +* The 'master' branch has these since the last announcement
14 + in addition to what is in maint.
15 +
16 +Adam Brewster (1):
17 + Move read_revisions_from_stdin from builtin-rev-list.c to revision.c
18 +
19 +Brian Gernhardt (1):
20 + Documentation: Point to gitcli(7) from git(1)
21 +
22 +Brian Hetro (5):
23 + builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and
24 + 'format.suffix'
25 + convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
26 + diff.c: Use 'git_config_string' to get 'diff.external'
27 + http.c: Use 'git_config_string' to clean up SSL config.
28 + builtin-commit.c: Use 'git_config_string' to get 'commit.template'
29 +
30 +Christian Couder (2):
31 + Fix "config_error_nonbool" used with value instead of key
32 + Fix "config_error_nonbool" used with value instead of key
33 +
34 +Johannes Schindelin (2):
35 + Windows: always chmod(, 0666) before unlink().
36 + git fetch-pack: do not complain about "no common commits" in an empty
37 + repo
38 +
39 +Johannes Sixt (35):
40 + Add compat/regex.[ch] and compat/fnmatch.[ch].
41 + Compile some programs only conditionally.
42 + Add target architecture MinGW.
43 + Windows: Use the Windows style PATH separator ';'.
44 + setup.c: Prepare for Windows directory separators.
45 + Windows: Treat Windows style path names.
46 + Windows: Handle absolute paths in safe_create_leading_directories().
47 + Windows: Strip ".exe" from the program name.
48 + Windows: Implement a wrapper of the open() function.
49 + Windows: A minimal implemention of getpwuid().
50 + Windows: Work around misbehaved rename().
51 + Make my_mktime() public and rename it to tm_to_time_t()
52 + Windows: Implement gettimeofday().
53 + Windows: Fix PRIuMAX definition.
54 + Windows: Implement setitimer() and sigaction().
55 + Windows: Wrap execve so that shell scripts can be invoked.
56 + Windows: A pipe() replacement whose ends are not inherited to children.
57 + Windows: Implement start_command().
58 + Windows: A rudimentary poll() emulation.
59 + Windows: Disambiguate DOS style paths from SSH URLs.
60 + Windows: Implement asynchronous functions as threads.
61 + Windows: Work around incompatible sort and find.
62 + Windows: Implement wrappers for gethostbyname(), socket(), and connect().
63 + Windows: Implement a custom spawnve().
64 + Windows: Add a custom implementation for utime().
65 + Windows: Use a customized struct stat that also has the st_blocks member.
66 + Turn builtin_exec_path into a function.
67 + Windows: Compute the fallback for exec_path from the program invocation.
68 + Windows: Use a relative default template_dir and ETC_GITCONFIG
69 + When installing, be prepared that template_dir may be relative.
70 + Windows: Make the pager work.
71 + Windows: Work around an oddity when a pipe with no reader is written to.
72 + Windows: Make 'git help -a' work.
73 + Windows: TMP and TEMP environment variables specify a temporary
74 + directory.
75 + t4127-apply-same-fn: Avoid sed -i
76 +
77 +Jonathan Nieder (15):
78 + git-format-patch(1): fix stray \ in output
79 + Documentation: fix gitlinks
80 + manpages: fix bogus whitespace
81 + git(1): add comma
82 + git-commit(1): depersonalize description
83 + Documentation: rewrap to prepare for "git-" vs "git " change
84 + Documentation: more "git-" versus "git " changes
85 + gitdiffcore(7): fix awkward wording
86 + manpages: italicize command names in synopses
87 + manpages: italicize command names
88 + manpages: italicize git command names (which were in teletype font)
89 + manpages: italicize gitk's name (where it was in teletype font)
90 + manpages: italicize nongit command names (if they are in teletype font)
91 + manpages: italicize git subcommand names (which were in teletype font)
92 + manpages: use teletype font for sample command lines
93 +
94 +Junio C Hamano (3):
95 + fast-export --export-marks: fix off by one error
96 + attribute documentation: keep EXAMPLE at end
97 + clone -q: honor "quiet" option over native transports.
98 +
99 +Marius Storm-Olsen (1):
100 + Windows: Add a new lstat and fstat implementation based on Win32 API.
101 +
102 +Matthew Ogilvie (1):
103 + Documentation cvs: Clarify when a bare repository is needed
104 +
105 +Miklos Vajna (6):
106 + Retire 'stupid' merge strategy
107 + INSTALL: Update section about git-frotz form.
108 + hg-to-git: avoid raising a string exception
109 + hg-to-git: abort if the project directory is not a hg repo
110 + hg-to-git: rewrite "git-frotz" to "git frotz"
111 + hg-to-git: use git init instead of git init-db
112 +
113 +Nikolaus Schulz (1):
114 + Documentation: be precise about which date --pretty uses
115 +
116 +Ramsay Allan Jones (1):
117 + Fix some warnings (on cygwin) to allow -Werror
118 +
119 +Steffen Prohaska (2):
120 + Windows: Fix ntohl() related warnings about printf formatting
121 + compat/pread.c: Add a forward declaration to fix a warning
122 +
123 +Thomas Rast (2):
124 + git-send-email: Do not attempt to STARTTLS more than once
125 + Fix apply --recount handling of no-EOL line
126 +
whats/in/2008/07/03.txt new
+81
@@ -0,0 +1,81 @@
1 +What's in git.git (Jul 2008, issue #03; Mon, 07)
2 +
3 + maint 39f319f (Merge branch 'qq/maint' (early part) into maint, 2008-07-07)
4 + master bed6255 (Merge branch 'qq/maint', 2008-07-07)
5 +------------------------------------------------------------------------
6 +
7 +* The 'maint' branch has these fixes since 1.5.6.2.
8 +
9 +Alex Riesen (1):
10 + git-clone: remove leftover debugging fprintf().
11 +
12 +Brian Hetro (5):
13 + builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and
14 + 'format.suffix'
15 + convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
16 + diff.c: Use 'git_config_string' to get 'diff.external'
17 + http.c: Use 'git_config_string' to clean up SSL config.
18 + builtin-commit.c: Use 'git_config_string' to get 'commit.template'
19 +
20 +Christian Couder (1):
21 + Fix "config_error_nonbool" used with value instead of key
22 +
23 +Gerrit Pape (1):
24 + git-svn.perl: workaround assertions in svn library 1.5.0
25 +
26 +Junio C Hamano (3):
27 + attribute documentation: keep EXAMPLE at end
28 + clone -q: honor "quiet" option over native transports.
29 + mailinfo: feed the correct line length to decode_transfer_encoding()
30 +
31 +Matthew Ogilvie (1):
32 + Documentation cvs: Clarify when a bare repository is needed
33 +
34 +Mikael Magnusson (1):
35 + Fix grammar in git-rev-parse(1).
36 +
37 +Nikolaus Schulz (1):
38 + Documentation: be precise about which date --pretty uses
39 +
40 +
41 +* The 'master' branch has these since the last announcement
42 + in addition to the above.
43 +
44 +Abhijit Menon-Sen (2):
45 + git-gui: Move on to the next filename after staging/unstaging a change
46 + git-gui: Don't select the wrong file if the last listed file is staged.
47 +
48 +Daniel Barkalow (1):
49 + Only use GIT_CONFIG in "git config", not other programs
50 +
51 +David Reiss (4):
52 + Implement normalize_absolute_path
53 + Fold test-absolute-path into test-path-utils
54 + Add support for GIT_CEILING_DIRECTORIES
55 + Eliminate an unnecessary chdir("..")
56 +
57 +Dmitry Potapov (1):
58 + completion.bash: add 'skip' and 'run' to git-bisect
59 +
60 +Jakub Narebski (1):
61 + gitweb: Describe projects_index format in more detail
62 +
63 +Johannes Schindelin (3):
64 + Add another fast-import example, this time for .zip files
65 + git daemon: avoid calling syslog() from a signal handler
66 + run_command(): respect GIT_TRACE
67 +
68 +Johannes Sixt (1):
69 + git-gui: Implement "Stage/Unstage Line"
70 +
71 +Junio C Hamano (6):
72 + rerere: rerere_created_at() and has_resolution() abstraction
73 + git-rerere: detect unparsable conflicts
74 + rerere: remove dubious "tail_optimization"
75 + t4200: fix rerere test
76 + rerere.autoupdate
77 + Update draft release notes for 1.6.0
78 +
79 +Richard Quirk (1):
80 + git-gui: Fix accidental staged state toggle when clicking top pixel row
81 +
whats/in/2008/07/04.txt new
+111
@@ -0,0 +1,111 @@
1 +What's in git.git (Jul 2008, issue #04; Sun, 13)
2 +
3 + maint 191a8e3 (GIT 1.5.6.3, 2008-07-13)
4 + master 10ce020 (Merge branch 'sp/maint-bash-completion-optim', 2008-07-13)
5 +------------------------------------------------------------------------
6 +
7 +* The 'maint' branch is at 1.5.6.3
8 +
9 +* The 'master' branch has these since the last announcement
10 + in addition to what's in 1.5.6.3
11 +
12 +Abhijit Menon-Sen (2):
13 + Implement "git stash branch <newbranch> <stash>"
14 + Add a test for "git stash branch"
15 +
16 +Adam Brewster (1):
17 + Teach git-bundle to read revision arguments from stdin like git-rev-list.
18 +
19 +Brandon Casey (1):
20 + t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects
21 +
22 +Eric Hanchrow (2):
23 + user-manual: typo and grammar fixes
24 + Documentation: fix broken "linkgit" links
25 +
26 +Eric Raible (2):
27 + Documentation: tweak use case in "git stash save --keep-index"
28 + completion: add branch options --contains --merged --no-merged
29 +
30 +Jeff King (2):
31 + Allow per-command pager config
32 + avoid null SHA1 in oldest reflog
33 +
34 +Johannes Schindelin (2):
35 + Teach "git apply" to prepend a prefix with "--root=<root>"
36 + Allow cherry-picking root commits
37 +
38 +Johannes Sixt (1):
39 + Provide fallback definitions of PRIu32 and PRIx32
40 +
41 +Junio C Hamano (17):
42 + revision traversal: --children option
43 + rev-list --children
44 + builtin-blame.c: move prepare_final() into a separate function.
45 + builtin-blame.c: allow more than 16 parents
46 + git-blame --reverse
47 + Per-ref reflog expiry configuration
48 + Make default expiration period of reflog used for stash infinite
49 + apply --root: thinkofix.
50 + Refactor "tracking statistics" code used by "git checkout"
51 + git-status: show the remote tracking statistics
52 + git-branch -v: show the remote tracking statistics
53 + stat_tracking_info(): clear object flags used during counting
54 + branch -r -v: do not spit out garbage
55 + git-apply --directory: make --root more similar to GNU diff
56 + Tone down warning about GNU Interactive Tools
57 + Documentation: update sections on naming revisions and revision ranges
58 + apply: fix copy/rename breakage
59 +
60 +Mark Levedahl (1):
61 + install-doc-quick - use git --exec-path to find git-sh-setup
62 +
63 +Mike Hommey (4):
64 + Catch failures from t5540-http-push
65 + Fix http-push test
66 + Skip t5540-http-push test when USE_CURL_MULTI is undefined
67 + Avoid apache complaining about lack of server's FQDN
68 +
69 +Petr Baudis (1):
70 + Git.pm: Add remote_refs() git-ls-remote frontend
71 +
72 +Pierre Habouzit (12):
73 + parse-opt: have parse_options_{start,end}.
74 + parse-opt: Export a non NORETURN usage dumper.
75 + parse-opt: create parse_options_step.
76 + parse-opt: do not print errors on unknown options, return -2 intead.
77 + parse-opt: fake short strings for callers to believe in.
78 + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
79 + revisions: split handle_revision_opt() from setup_revisions()
80 + git-blame: migrate to incremental parse-option [1/2]
81 + git-blame: migrate to incremental parse-option [2/2]
82 + git-blame: fix lapsus
83 + git-shortlog: migrate to parse-options partially.
84 + revisions: refactor handle_revision_opt into parse_revision_opt.
85 +
86 +Ramsay Allan Jones (3):
87 + t9113-*.sh: provide user feedback when test skipped
88 + t9100-git-svn-basic.sh: Fix determination of utf-8 locale
89 + git-request-pull: replace call to deprecated peek-remote
90 +
91 +Robert Shearman (1):
92 + git-send-email: Fix authenticating on some servers when using TLS.
93 +
94 +SZEDER Gábor (1):
95 + stash: introduce 'stash save --keep-index' option
96 +
97 +Shawn O. Pearce (3):
98 + Correct pack memory leak causing git gc to try to exceed ulimit
99 + bash completion: Improve responsiveness of git-log completion
100 + bash completion: Don't offer "a.." as a completion for "a."
101 +
102 +Stephan Beyer (3):
103 + git-am/git-mailsplit: correct synopsis for reading from stdin
104 + t3404: test two "preserve merges with -p" cases
105 + Make rebase--interactive use OPTIONS_SPEC
106 +
107 +Thomas Rast (3):
108 + git-add--interactive: replace hunk recounting with apply --recount
109 + git-add--interactive: remove hunk coalescing
110 + git-add--interactive: manual hunk editing mode
111 +
whats/in/2008/07/05.txt new
+117
@@ -0,0 +1,117 @@
1 +What's in git.git (Jul 2008, issue #05; Tue, 15)
2 +
3 + maint 191a8e3 (GIT 1.5.6.3, 2008-07-13)
4 + master fcab40a (Merge branch 'mv/merge-in-c', 2008-07-15)
5 +------------------------------------------------------------------------
6 +
7 +"Merge-in-C" is in, so is "rename .dotest", and remaining Windows bits.
8 +Now it is almost there for 1.6.0-rc0.
9 +
10 +* The 'master' branch has these since the last announcement.
11 +
12 +Alexander N. Gavrilov (1):
13 + Fix quadratic performance in rewrite_one.
14 +
15 +Brian Gernhardt (1):
16 + Documentation: mention ORIG_HEAD in am, merge, and rebase
17 +
18 +Ciaran McCreesh (1):
19 + Make git-add -i accept ranges like 7-
20 +
21 +Dmitry Kakurin (1):
22 + Fixed text file auto-detection: treat EOF character 032 at the end of
23 + file as printable
24 +
25 +Frederik Schwarzer (1):
26 + git-svn: typofix
27 +
28 +Ian Katz (1):
29 + tutorial: use prompt with user names in example, to clarify who is doing
30 + what
31 +
32 +Johannes Schindelin (6):
33 + Convert CR/LF to LF in tag signatures
34 + Add pretty format %aN which gives the author name, respecting .mailmap
35 + Move MERGE_RR from .git/rr-cache/ into .git/
36 + git-gui: MERGE_RR lives in .git/ directly with newer Git versions
37 + shortlog: support --pretty=format: option
38 + Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"
39 +
40 +João Abecasis (1):
41 + git-svn: find-rev and rebase for SVN::Mirror repositories
42 +
43 +Junio C Hamano (10):
44 + Introduce get_merge_bases_many()
45 + Introduce reduce_heads()
46 + Teach "am" and "rebase" to mark the original position with ORIG_HEAD
47 + branch --contains: default to HEAD
48 + branch --merged/--no-merged: allow specifying arbitrary commit
49 + Teach merge.log to "git-merge" again
50 + Update draft release notes for 1.6.0
51 + reduce_heads(): protect from duplicate input
52 + tutorial: clarify "pull" is "fetch + merge"
53 + Update draft release notes to 1.6.0
54 +
55 +Lukas Sandström (1):
56 + git-mailinfo: Fix getting the subject from the in-body [PATCH] line
57 +
58 +Mark Levedahl (2):
59 + git-submodule - make "submodule add" more strict, and document it
60 + git-submodule - register submodule URL if adding in place
61 +
62 +Mike Pape (1):
63 + We need to check for msys as well as Windows in add--interactive.
64 +
65 +Miklos Vajna (15):
66 + Move split_cmdline() to alias.c
67 + Move commit_list_count() to commit.c
68 + Move parse-options's skip_prefix() to git-compat-util.h
69 + Add new test to ensure git-merge handles pull.twohead and pull.octopus
70 + Move read_cache_unmerged() to read-cache.c
71 + git-fmt-merge-msg: make it usable from other builtins
72 + Introduce get_octopus_merge_bases() in commit.c
73 + Add new test to ensure git-merge handles more than 25 refs.
74 + Add new test case to ensure git-merge reduces octopus parents when
75 + possible
76 + Add new test case to ensure git-merge prepends the custom merge message
77 + git-commit-tree: make it usable from other builtins
78 + Fix t7601-merge-pull-config.sh on AIX
79 + Build in merge
80 + t6021: add a new test for git-merge-resolve
81 + Add a new test for git-merge-resolve
82 +
83 +Nicolas Pitre (1):
84 + restore legacy behavior for read_sha1_file()
85 +
86 +Olivier Marin (1):
87 + builtin-rerere: more carefully find conflict markers
88 +
89 +Pavel Roskin (1):
90 + t9600: allow testing with cvsps 2.2, including beta versions
91 +
92 +Pierre Habouzit (1):
93 + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
94 +
95 +Shawn O. Pearce (3):
96 + bash completion: Append space after file names have been completed
97 + bash completion: Resolve git show ref:path<tab> losing ref: portion
98 + bash completion: Remove dashed command completion support
99 +
100 +Soeren Finster (1):
101 + git-gui: Exit shortcut in MacOSX repaired
102 +
103 +Steffen Prohaska (3):
104 + Move code interpreting path relative to exec-dir to new function
105 + system_path()
106 + help.c: Add support for htmldir relative to git_exec_path()
107 + help (Windows): Display HTML in default browser using Windows' shell API
108 +
109 +Stephan Beyer (1):
110 + rerere: Separate libgit and builtin functions
111 +
112 +Sverre Hvammen Johansen (1):
113 + reduce_heads(): thinkofix
114 +
115 +Teemu Likonen (1):
116 + bash: Add long option completion for 'git send-email'
117 +
whats/in/2008/07/06.txt new
+90
@@ -0,0 +1,90 @@
1 +What's in git.git (Jul 2008, issue #06; Sat, 19)
2 +
3 + maint a1b6fb0 (GIT 1.5.6.4, 2008-07-19)
4 + master 09651dd (Getting closer to 1.6.0-rc0, 2008-07-19)
5 +------------------------------------------------------------------------
6 +
7 +* The 'maint' branch is at 1.5.6.4.
8 +
9 +* The 'master' branch has these since the last announcement
10 + in addition to what is already in 1.5.6.4.
11 +
12 +Alexander Gavrilov (3):
13 + Avoid rescanning unchanged entries in search for copies.
14 + Do not try to detect move/copy for entries below threshold.
15 + Support gitlinks in fast-import.
16 +
17 +Eric Raible (1):
18 + Teach lookup_prog not to select directories
19 +
20 +Eric Wong (1):
21 + t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory"
22 +
23 +Fabian Emmes (2):
24 + Testsuite: Unset CVS_SERVER
25 + testsuite for cvs co -c
26 +
27 +Johannes Sixt (1):
28 + builtin-clone: rewrite guess_dir_name()
29 +
30 +Junio C Hamano (9):
31 + git-rebase: report checkout failure
32 + t/aggregate-results: whitespace fix
33 + Update draft release notes for 1.6.0
34 + read-cache.c: typofix
35 + mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line
36 + builtin-remote.c: fix earlier "skip_prefix()" conversion
37 + t9001 (send-email): Do not use hardcoded /bin/sh in test
38 + .mailmap update
39 + Getting closer to 1.6.0-rc0
40 +
41 +Lars Noschinski (2):
42 + cvsserver: Add support for packed refs
43 + cvsserver: Add cvs co -c support
44 +
45 +Lukas Sandström (3):
46 + Make some strbuf_*() struct strbuf arguments const.
47 + Add some useful functions for strbuf manipulation.
48 + git-mailinfo: use strbuf's instead of fixed buffers
49 +
50 +Miklos Vajna (4):
51 + t0001-init.sh: change confusing directory name
52 + t1007-hash-object.sh: use quotes for the test description
53 + git-bisect: use dash-less form on git bisect log
54 + make remove-dashes: apply to scripts and programs as well, not just to
55 + builtins
56 +
57 +Nanako Shiraishi (3):
58 + cache-tree.c: make cache_tree_find() static
59 + builtin-describe.c: make a global variable "pattern" static
60 + parse-options.c: make check_typos() static
61 +
62 +Peter Harris (1):
63 + Add ANSI control code emulation for the Windows console
64 +
65 +Petr Baudis (5):
66 + Documentation/git-submodule.txt: Add Description section
67 + Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles
68 + Documentation/git-submodule.txt: Further clarify the description
69 + Documentation: How to ignore local changes in tracked files
70 + Documentation/git-merge.txt: Partial rewrite of How Merge Works
71 +
72 +René Scharfe (8):
73 + archive: remove args member from struct archiver
74 + add context pointer to read_tree_recursive()
75 + archive: add baselen member to struct archiver_args
76 + archive: centralize archive entry writing
77 + archive: unify file attribute handling
78 + archive: remove extra arguments parsing code
79 + archive: make zip compression level independent from core git
80 + archive: remove unused headers
81 +
82 +Stephan Beyer (4):
83 + t/test-lib.sh: exit with small negagive int is ok with test_must_fail
84 + t/: Use "test_must_fail git" instead of "! git"
85 + Make usage strings dash-less
86 + Link git-shell only to a subset of libgit.a
87 +
88 +SungHyun Nam (1):
89 + t/Makefile: use specified shell when running aggregation script
90 +
whats/in/2008/07/07.txt new
+51
@@ -0,0 +1,51 @@
1 +What's in git.git (Jul 2008, issue #07; Sun, 20)
2 +
3 + maint 2d9c572 (fix usage string for git grep, 2008-07-20)
4 + master 93310a4 (Merge branch 'ap/trackinfo', 2008-07-20)
5 +------------------------------------------------------------------------
6 +
7 +As announced in a separate message, the tip of master was tagged as
8 +1.6.0-rc0; for people who neglected futureproofing themselves so far, it
9 +would really be a good time to seriously consider doing so.
10 +
11 +* The 'maint' branch has these fixes since the last announcement.
12 +
13 +Jonathan Nieder (1):
14 + fix usage string for git grep
15 +
16 +Junio C Hamano (1):
17 + refresh-index: fix bitmask assignment
18 +
19 +
20 +* The 'master' branch has these since the last announcement
21 + in addition to the above.
22 +
23 +Avery Pennarun (1):
24 + Reword "your branch has diverged..." lines to reduce line length
25 +
26 +Dmitry Potapov (1):
27 + git-svn: fix git svn info to work without arguments
28 +
29 +Junio C Hamano (8):
30 + rerere.autoupdate: change the message when autoupdate is in effect
31 + builtin-add.c: restructure the code for maintainability
32 + git-add --all: add all files
33 + git-add --all: tests
34 + git-add --all: documentation
35 + Link shell with compat layer functions
36 + Move read_in_full() and write_in_full() to wrapper.c
37 + "needs update" considered harmful
38 +
39 +Lars Noschinski (1):
40 + cvsserver: Add testsuite for packed refs
41 +
42 +Michele Ballabio (2):
43 + builtin-merge.c: Fix option parsing
44 + builtin-push.c: Cleanup - use OPT_BIT() and remove some variables
45 +
46 +Miklos Vajna (1):
47 + Teach 'git merge' that some merge strategies no longer exist
48 +
49 +Nanako Shiraishi (1):
50 + git am --abort
51 +
whats/in/2008/07/08.txt renamed