What's cooking (2008/07 #01)

Junio C Hamano committed Aug 5, 2008 at 21:44 UTC 4915eac8b03121c7c9a2889bca25192cd3fb3045
1 file changed +203 -127
whats-cooking.txt
+203 -127
@@ -1,6 +1,6 @@
1 -Subject: What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
1 +Subject: What's cooking in git.git (Jul 2008, issue #01; Tue, 01)
2
3 -What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
3 +What's cooking in git.git (Jul 2008, issue #01; Tue, 01)
4 --------------------------------------------------------
5
6 Here are the topics that have been cooking. Commits prefixed
@@ -11,20 +11,25 @@ The topics list the commits in reverse chronological order. The topics
11 meant to be applied to the maintenance series have "maint-" in their
12 names.
13
14 -It already is beginning to become clear what 1.6.0 will look like. What's
14 +It already is beginning to become clear what 1.6.0 will look like. Wha=
15 +t's
16 already in 'next' all are well intentioned (I do not guarantee they are
16 -already bug-free --- that is what cooking them in 'next' is for) and are
17 +already bug-free --- that is what cooking them in 'next' is for) and ar=
18 +e
19 good set of feature enhancements. Bigger changes will be:
20
21 * MinGW will be in.
22
23 * With the default Makefile settings, most of the programs will be
22 - installed outside your $PATH, except for "git", "gitk", "git-gui" and
24 + installed outside your $PATH, except for "git", "gitk", "git-gui" an=
25 +d
26 some server side programs that need to be accessible for technical
27 reasons. Invoking a git subcommand as "git-xyzzy" from the command
25 - line has been deprecated since early 2006 (and officially announced in
28 + line has been deprecated since early 2006 (and officially announced =
29 +in
30 1.5.4 release notes); use of them from your scripts after adding
27 - output from "git --exec-path" to the $PATH will still be supported in
31 + output from "git --exec-path" to the $PATH will still be supported i=
32 +n
33 1.6.0, but users are again strongly encouraged to adjust their
34 scripts to use "git xyzzy" form, as we will stop installing
35 "git-xyzzy" hardlinks for built-in commands in later releases.
@@ -34,119 +39,25 @@ good set of feature enhancements. Bigger changes will be:
39 * default pack and idx versions will be updated as scheduled for some
40 time ago.
41
37 -----------------------------------------------------------------
38 -[Will merge to master soon]
39 -
40 -* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
41 - + Keep some git-* programs in $(bindir)
42 - + Move all dashed-form commands to libexecdir
43 -
44 -Scheduled for 1.6.0. We'll leave server-side programs in $(bindir) so
45 -that ssh clients can ask for "git-program" and find them on the $PATH.
46 -Next major release after 1.6.0 would most likely remove the hardlinks to
47 -built-in commands, but not yet.
48 -
49 -* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
50 - + merge: remove deprecated summary and diffstat options and config
51 - variables
52 -
53 -* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 4 commits
54 - + Revert "Make clients ask for "git program" over ssh and local
55 - transport"
56 - + Make clients ask for "git program" over ssh and local transport
57 - + Prepare execv_git_cmd() for removal of builtins from the
58 - filesystem
59 - + git-shell: accept "git foo" form
42 + * GIT_CONFIG, which was only documented as affecting "git config", but
43 + actually affected all git commands, now only affects "git config".
44 + GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
45 + not different from GIT_CONFIG in a useful way, is removed.
46
47 ----------------------------------------------------------------
62 -[Actively Cooking]
63 -
64 -* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits
65 - + fetch: give a hint to the user when local refs fail to update
66 - + fetch: report local storage errors in status table
67 -
68 -When the remote used to have "foo" branch but now has "foo/bar", fetch
69 -refuses to delete the existing remote tracking branch "foo" to create a
70 -new remote tracking branch "foo/bar", but the error message was
71 -confusing.
72 -
73 -* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit
74 - + Allow "git-reset path" when unambiguous
75 -
76 -We used to require "git-reset -- path" even when there is no ambiguity
77 -(i.e. path cannot be mistaken as a valid tree-ish and it is a filename in
78 -the work tree).
79 -
80 -* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits
81 - + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
82 - + clone: respect url.insteadOf setting in global configs
83 -
84 -"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig. I think
85 -Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (even
86 -though it feels very scary), and it would make the solution much simpler,
87 -but it came late and it is already past my bedtime, so...
88 -
89 -* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits
90 - + git-send-email: prevent undefined variable warnings if no
91 - encryption is set
92 - + git-send-email: add support for TLS via Net::SMTP::SSL
93 -
94 -* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit
95 - + git-send-email: Accept fifos as well as files
96 -
97 -Two minor send-email feature enhancements for 1.6.0.
48 +[New Topics]
49
99 -* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits
100 - + Fix t4017-diff-retval for white-space from wc
101 - + Update sample pre-commit hook to use "diff --check"
102 - + diff --check: detect leftover conflict markers
103 - + Teach "diff --check" about new blank lines at end
104 - + checkdiff: pass diff_options to the callback
105 - + check_and_emit_line(): rename and refactor
106 - + diff --check: explain why we do not care whether old side is
107 - binary
50 +* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
51 + + Add another fast-import example, this time for .zip files
52
109 -Allows us to replace the sample pre-commit hook that was not aware of the
110 -line termination convention per path nor newer whitespace breakage rules.
53 +* js/apply-root (Tue Jul 1 00:44:47 2008 +0100) 1 commit
54 + + Teach "git apply" to prepend a prefix with "--root=3D<root>"
55
112 -* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits
113 - + pack.indexversion config option now defaults to 2
114 - + repack.usedeltabaseoffset config option now defaults to "true"
56 +* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
57 + + Only use GIT_CONFIG in "git config", not other programs
58
116 -Updates the default value for pack.indexversion to 2 and use delta-base
117 -offset encoding of the packfiles by default.
118 -
119 -* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit
120 - + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
121 -
122 -A good ingredient for implementing "apply --edit".
123 -
124 -* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit
125 - + git-apply: handle a patch that touches the same path more than
126 - once better
127 -
128 -Allows us to feed a patch that touches the same path more than once.
129 -
130 -* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
131 - - Make default expiration period of reflog used for stash infinite
132 - - Per-ref reflog expiry configuration
133 -
134 -As 1.6.0 will be a good time to make backward incompatible changes, the
135 -tip commit makes the default expiry period of stash 'never', unless you
136 -configure them to expire explicitly using gc.refs/stash.* variables.
137 -Needs consensus, but I am guessing that enough people would want stash
138 -that does not expire.
139 -
140 -* jc/merge-theirs (Sat Jun 28 17:28:22 2008 -0700) 3 commits
141 - + Teach git-merge to pass -X<option> to the backend strategy module
142 - + git-merge-recursive-{ours,theirs}
143 - + git-merge-file --ours, --theirs
144 -
145 -Punting a merge by discarding your own work in conflicting parts but still
146 -salvaging the parts that are cleanly automerged. It is likely that this
147 -will result in nonsense mishmash, but somehow often people want this, so
148 -here they are. The interface to the backends is updated so that you can
149 -say "git merge -Xours -s recursive other" now.
59 +----------------------------------------------------------------
60 +[Will merge to master soon]
61
62 * j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
63 + compat/pread.c: Add a forward declaration to fix a warning
@@ -198,8 +109,42 @@ say "git merge -Xours -s recursive other" now.
109
110 No explanation necessary ;-)
111
201 -* mv/merge-in-c (Mon Jun 30 03:39:58 2008 +0200) 13 commits
112 +----------------------------------------------------------------
113 +[Actively Cooking]
114 +
115 +* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
116 + - Make default expiration period of reflog used for stash infinite
117 + - Per-ref reflog expiry configuration
118 +
119 +As 1.6.0 will be a good time to make backward incompatible changes, the
120 +tip commit makes the default expiry period of stash 'never', unless you
121 +configure them to expire explicitly using gc.refs/stash.* variables.
122 +Needs consensus, but I am guessing that enough people would want stash
123 +that does not expire.
124 +
125 +We may want to change the commit topology used to represent a stash, as
126 +proposed in $gmane/85055 by Nana earlier.
127 +
128 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 4 commits
129 + - Make "subtree" part more orthogonal to the rest of merge-
130 + recursive.
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 +* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 14 commits
146 - Build in merge
147 + - git-commit-tree: make it usable from other builtins
148 - Add new test case to ensure git-merge prepends the custom merge
149 message
150 - Add new test case to ensure git-merge reduces octopus parents when
@@ -216,7 +161,7 @@ No explanation necessary ;-)
161 - Move commit_list_count() to commit.c
162 - Move split_cmdline() to alias.c
163
219 -The last one is still in flux.
164 +I think this is getting there. Will be in 'next' soon.
165
166 * dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
167 + Eliminate an unnecessary chdir("..")
@@ -238,28 +183,154 @@ rerere to be updated in the index automatically.
183 - Migrate git-blame to parse-option partially.
184 - parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
185 - parse-opt: fake short strings for callers to believe in.
241 - - parse-opt: do not pring errors on unknown options, return -2
186 + - parse-opt: do not print errors on unknown options, return -2
187 intead.
188 - parse-opt: create parse_options_step.
189 - parse-opt: Export a non NORETURN usage dumper.
190 - parse-opt: have parse_options_{start,end}.
191
192 +I recall Pierre said something about cleaning up the last one when he
193 +finds time, but other than that vague recollection, I lost track of thi=
194 +s
195 +series. I am tempted to fork a few topics off of the pen=C3=BAltimo on=
196 +e to
197 +convert a few more commands as examples and merge the result to 'next'.
198 +
199 ----------------------------------------------------------------
200 [Graduated to "master"]
201
202 +* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
203 + + Remove the use of '--' in merge program invocation
204 +
205 +I got tired of waiting for success reports from people who use various
206 +backends. We will hear breakages if this breaks things anyway, and if =
207 +it
208 +does, it is a fairly simple single patch to revert.
209 +
210 +* nd/dashless (Tue Jun 24 19:58:11 2008 -0700) 2 commits
211 + + Keep some git-* programs in $(bindir)
212 + + Move all dashed-form commands to libexecdir
213 +
214 +We'll leave server-side programs in $(bindir) so that ssh clients can a=
215 +sk
216 +for "git-program" and find them on the $PATH. Next major release after
217 +1.6.0 would most likely remove the hardlinks to built-in commands, but =
218 +not
219 +yet.
220 +
221 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
222 + + Prepare execv_git_cmd() for removal of builtins from the
223 + filesystem
224 + + git-shell: accept "git foo" form
225 +
226 +The botched "client asks 'git foo'" is not included. It will be long
227 +after everybody runs 1.6.0.
228 +
229 +* jk/maint-fetch-ref-hier (Fri Jun 27 00:01:41 2008 -0400) 2 commits
230 + + fetch: give a hint to the user when local refs fail to update
231 + + fetch: report local storage errors in status table
232 +
233 +When the remote used to have "foo" branch but now has "foo/bar", fetch
234 +refuses to delete the existing remote tracking branch "foo" to create a
235 +new remote tracking branch "foo/bar", but the error message was
236 +confusing.
237 +
238 +Need to backmerge to 'maint' after a while.
239 +
240 +* jc/maint-reset (Wed Jun 25 18:16:36 2008 -0700) 1 commit
241 + + Allow "git-reset path" when unambiguous
242 +
243 +We used to require "git-reset -- path" even when there is no ambiguity
244 +(i.e. path cannot be mistaken as a valid tree-ish and it is a filename =
245 +in
246 +the work tree).
247 +
248 +Need to backmerge to 'maint' after a while.
249 +
250 +* js/maint-clone-insteadof (Fri Jun 27 13:55:23 2008 +0100) 2 commits
251 + + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
252 + + clone: respect url.insteadOf setting in global configs
253 +
254 +"git clone" did not honor "url.InsteadOf" in $HOME/.gitconfig. I think
255 +Daniel's "Let's get rid of internal use of GIT_CONFIG" makes sense (eve=
256 +n
257 +though it feels very scary), and it would make the solution much simple=
258 +r,
259 +but these two are independently good fix for now. I'll queue GIT_CONFI=
260 +G
261 +one in 'next' and when it graduates the unsetenv() solution in these wi=
262 +ll
263 +become no-op.
264 +
265 +* tr/send-email-ssl (Thu Jun 26 23:03:21 2008 +0200) 2 commits
266 + + git-send-email: prevent undefined variable warnings if no
267 + encryption is set
268 + + git-send-email: add support for TLS via Net::SMTP::SSL
269 +
270 +* kb/send-email-fifo (Wed Jun 25 15:44:40 2008 -0700) 1 commit
271 + + git-send-email: Accept fifos as well as files
272 +
273 +Two minor send-email feature enhancements.
274 +
275 +* jc/checkdiff (Sun Jun 29 16:49:06 2008 -0400) 7 commits
276 + + Fix t4017-diff-retval for white-space from wc
277 + + Update sample pre-commit hook to use "diff --check"
278 + + diff --check: detect leftover conflict markers
279 + + Teach "diff --check" about new blank lines at end
280 + + checkdiff: pass diff_options to the callback
281 + + check_and_emit_line(): rename and refactor
282 + + diff --check: explain why we do not care whether old side is
283 + binary
284 +
285 +Allows us to replace the sample pre-commit hook that was not aware of t=
286 +he
287 +line termination convention per path nor newer whitespace breakage rule=
288 +s.
289 +
290 +* np/pack-default (Wed Jun 25 00:25:53 2008 -0400) 2 commits
291 + + pack.indexversion config option now defaults to 2
292 + + repack.usedeltabaseoffset config option now defaults to "true"
293 +
294 +Updates the default value for pack.indexversion to 2 and use delta-base
295 +offset encoding of the packfiles by default.
296 +
297 +* js/apply-recount (Fri Jun 27 18:43:09 2008 +0100) 1 commit
298 + + Allow git-apply to recount the lines in a hunk (AKA recountdiff)
299 +
300 +A good ingredient for implementing "apply --edit".
301 +
302 +* dz/apply-again (Fri Jun 27 14:39:12 2008 -0400) 1 commit
303 + + git-apply: handle a patch that touches the same path more than
304 + once better
305 +
306 +Allows us to feed a patch that touches the same path more than once.
307 +
308 ----------------------------------------------------------------
309 [On Hold]
310
253 -* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
254 - + Remove the use of '--' in merge program invocation
311 +* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
312 + + merge: remove deprecated summary and diffstat options and config
313 + variables
314 +
315 +This was previously in "will be in master soon" category, but it turns =
316 +out
317 +that the synonyms to the ones this one deletes are fairly new invention
318 +that happend in 1.5.6 timeframe, and we cannot do this just yet.
319 +
320 +* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
321 + + Revert "Make clients ask for "git program" over ssh and local
322 + transport"
323 + + Make clients ask for "git program" over ssh and local transport
324
256 -Waiting for success reports from people who use various backends.
325 +This is the "botched" one. Will be resurrected during 1.7.0 or 1.8.0
326 +timeframe.
327
328 * jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
329 - diff: enable "too large a rename" warning when -M/-C is explicitly
330 asked for
331
262 -This would be the right thing to do for command line use, but gitk will be
332 +This would be the right thing to do for command line use, but gitk will=
333 + be
334 hit due to tcl/tk's limitation, so I am holding this back for now.
335
336 ----------------------------------------------------------------
@@ -275,13 +346,17 @@ hit due to tcl/tk's limitation, so I am holding this back for now.
346 + rev-list --children
347 + revision traversal: --children option
348
278 -The blame that finds where each line in the original lines moved to. This
279 -may help a GSoC project that wants to gather statistical overview of the
280 -history. The final presentation may need tweaking (see the log message of
349 +The blame that finds where each line in the original lines moved to. T=
350 +his
351 +may help a GSoC project that wants to gather statistical overview of th=
352 +e
353 +history. The final presentation may need tweaking (see the log message=
354 + of
355 the commit ""git-blame --reverse" on the series).
356
357 The tip two commits are for peeling to see what's behind the blamed
284 -commit, which we should be able to separate out into an independent topic
358 +commit, which we should be able to separate out into an independent top=
359 +ic
360 from the rest.
361
362 ----------------------------------------------------------------
@@ -291,7 +366,7 @@ from the rest.
366 . Introduce fast forward option only
367 . Head reduction before selecting merge strategy
368 . Restructure git-merge.sh
294 - . Introduce -ff=<fast forward option>
369 + . Introduce -ff=3D<fast forward option>
370 . New merge tests
371 . Documentation for joining more than two histories
372
@@ -322,7 +397,8 @@ This will interfere with Miklos's rewrite of merge to C.
397 . revert/cherry-pick: start refactoring call to merge_recursive
398
399 This is meant to improve cherry-pick's behaviour when renames are
325 -involved, by not using merge-recursive (whose d/f conflict resolution is
400 +involved, by not using merge-recursive (whose d/f conflict resolution i=
401 +s
402 quite broken), but unfortunately has stalled for some time now.
403
404 * jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits