What's cooking in git.git (Jul 2008, issue #01; Tue, 01)
Junio C Hamano committed
Jul 20, 2008 at 22:58 UTC
fa2de9f0710f44d59f9c98837691be16fc5528b3
1 file changed
+202
-126
whatscooking.txt
+202
-126
@@ -1,4 +1,4 @@
1
-What's cooking in git.git (Jun 2008, issue #04; Mon, 30)
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
@@ -9,20 +9,25 @@ 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
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
14
-already bug-free --- that is what cooking them in 'next' is for) and 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
20
- installed outside your $PATH, except for "git", "gitk", "git-gui" and
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
23
- line has been deprecated since early 2006 (and officially announced in
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
25
- output from "git --exec-path" to the $PATH will still be supported in
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.
@@ -32,119 +37,25 @@ good set of feature enhancements. Bigger changes will be:
37
* default pack and idx versions will be updated as scheduled for some
38
time ago.
39
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
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
----------------------------------------------------------------
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.
46
+[New Topics]
47
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
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
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.
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
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"
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
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.
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
@@ -196,8 +107,42 @@ say "git merge -Xours -s recursive other" now.
107
108
No explanation necessary ;-)
109
199
-* mv/merge-in-c (Mon Jun 30 03:39:58 2008 +0200) 13 commits
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
@@ -214,7 +159,7 @@ No explanation necessary ;-)
159
- Move commit_list_count() to commit.c
160
- Move split_cmdline() to alias.c
161
217
-The last one is still in flux.
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("..")
@@ -236,28 +181,154 @@ rerere to be updated in the index automatically.
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.
239
- - parse-opt: do not pring errors on unknown options, return -2
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
251
-* ph/mergetool (Mon Jun 16 17:33:41 2008 -0600) 1 commit
252
- + Remove the use of '--' in merge program invocation
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
254
-Waiting for success reports from people who use various backends.
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
260
-This would be the right thing to do for command line use, but gitk will be
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
----------------------------------------------------------------
@@ -273,13 +344,17 @@ hit due to tcl/tk's limitation, so I am holding this back for now.
344
+ rev-list --children
345
+ revision traversal: --children option
346
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
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
282
-commit, which we should be able to separate out into an independent topic
356
+commit, which we should be able to separate out into an independent top=
357
+ic
358
from the rest.
359
360
----------------------------------------------------------------
@@ -289,7 +364,7 @@ from the rest.
364
. Introduce fast forward option only
365
. Head reduction before selecting merge strategy
366
. Restructure git-merge.sh
292
- . Introduce -ff=<fast forward option>
367
+ . Introduce -ff=3D<fast forward option>
368
. New merge tests
369
. Documentation for joining more than two histories
370
@@ -320,7 +395,8 @@ This will interfere with Miklos's rewrite of merge to C.
395
. revert/cherry-pick: start refactoring call to merge_recursive
396
397
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
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