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