What's cooking (2008/07 #02)
Junio C Hamano committed
Aug 5, 2008 at 21:44 UTC
72c1c8ac3295be5e0bac3100283e0185dd636399
1 file changed
+170
-256
whats-cooking.txt
+170
-256
@@ -1,6 +1,6 @@
1
-Subject: What's cooking in git.git (Jul 2008, issue #01; Tue, 01)
1
+Subject: What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
2
3
-What's cooking in git.git (Jul 2008, issue #01; Tue, 01)
3
+What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
4
--------------------------------------------------------
5
6
Here are the topics that have been cooking. Commits prefixed
@@ -18,7 +18,7 @@ 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.
21
+ * Port for MinGW.
22
23
* With the default Makefile settings, most of the programs will be
24
installed outside your $PATH, except for "git", "gitk", "git-gui" an=
@@ -47,17 +47,143 @@ n
47
----------------------------------------------------------------
48
[New Topics]
49
50
+* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit
51
+ - [PARKED improvement suggested not rolled in] git daemon: avoid
52
+ calling syslog() from a signal handler
53
+
54
+This will eventually appear in 'maint'; currently parked on 'pu', thoug=
55
+h.
56
+
57
+* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
58
+ - branch -r -v: do not spit out garbage
59
+ + stat_tracking_info(): clear object flags used during counting
60
+ + git-branch -v: show the remote tracking statistics
61
+ + git-status: show the remote tracking statistics
62
+ + Refactor "tracking statistics" code used by "git checkout"
63
+
64
+Makes the "your branch is ahead of the tracked one by N commits" logic =
65
+and
66
+messages available to other commands; status and branch are updated.
67
+
68
+* sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit
69
+ - stash: introduce 'stash save --keep-index' option
70
+
71
+One weakness of our "partial commit" workflow support used to be that t=
72
+he
73
+user can incrementally build what is to be committed in the index but t=
74
+hat
75
+state cannot be tested as a whole in the working tree. This allows you=
76
+ to
77
+temporarily stash the remaining changes in the working tree so that the
78
+index state before running "stash save --keep-index" can be seen in the
79
+working tree to be tested and then committed. A recommended workflow t=
80
+o
81
+use after that commit is made needs to be documented (and support needs=
82
+ to
83
+be added if necessary).
84
+
85
+* tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
86
+ + git-add--interactive: manual hunk editing mode
87
+ + git-add--interactive: remove hunk coalescing
88
+ + git-add--interactive: replace hunk recounting with apply --recount
89
+
90
+Adds 'e/dit' action to interactive add command.
91
+
92
+* am/stash-branch (Thu Jul 3 11:46:05 2008 +0530) 1 commit
93
+ + Implement "git stash branch <newbranch> <stash>"
94
+
95
+Creates a new branch out of the stashed state, after returning from the
96
+interrupt that forced you to create the stash in the first place.
97
+
98
+* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
99
+ - Ignore graft during object transfer [broken wrt shallow clones]
100
+
101
+Cloning or fetching from a repository from grafts did not send objects
102
+that are hidden by grafts, but the commits in the resulting repository =
103
+do
104
+need these to pass fsck. This fixes object transfer to ignore grafts.
105
+
106
+Another fix is needed to git-prune so that it ignores grafts but treats
107
+commits that are mentioned in grafts as reachable.
108
+
109
+* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
110
+ - Allow per-command pager config
111
+
112
+----------------------------------------------------------------
113
+[Will merge to master soon]
114
+
115
* js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
116
+ Add another fast-import example, this time for .zip files
117
53
-* js/apply-root (Tue Jul 1 00:44:47 2008 +0100) 1 commit
118
+* js/apply-root (Wed Jul 2 15:28:22 2008 -0700) 2 commits
119
+ + apply --root: thinkofix.
120
+ Teach "git apply" to prepend a prefix with "--root=3D<root>"
121
122
* db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
123
+ Only use GIT_CONFIG in "git config", not other programs
124
125
+* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
126
+ + Make default expiration period of reflog used for stash infinite
127
+ + Per-ref reflog expiry configuration
128
+
129
+As 1.6.0 will be a good time to make backward incompatible changes, the
130
+tip commit makes the default expiry period of stash 'never', unless you
131
+configure them to expire explicitly using gc.refs/stash.* variables.
132
+Needs consensus, but I am guessing that enough people would want stash
133
+that does not expire.
134
+
135
+* dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
136
+ + Eliminate an unnecessary chdir("..")
137
+ + Add support for GIT_CEILING_DIRECTORIES
138
+ + Fold test-absolute-path into test-path-utils
139
+ + Implement normalize_absolute_path
140
+
141
+This still feels "because we can", not "because we need to", but it cam=
142
+e
143
+from somebody who had the need to, and I do not think it hurts people
144
+without the environment variable set.
145
+
146
+* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
147
+ + rerere.autoupdate
148
+ + t4200: fix rerere test
149
+ + rerere: remove dubious "tail_optimization"
150
+ + git-rerere: detect unparsable conflicts
151
+ + rerere: rerere_created_at() and has_resolution() abstraction
152
+
153
+A new configuration will allow paths that have been resolved cleanly by
154
+rerere to be updated in the index automatically.
155
+
156
+To me, this is "because we can", but was something requested by Ingo, s=
157
+o
158
+presumably some people may feel it useful in their workflow.
159
+
160
----------------------------------------------------------------
60
-[Will merge to master soon]
161
+[Actively Cooking]
162
+
163
+* mv/merge-in-c (Tue Jul 1 04:37:50 2008 +0200) 15 commits
164
+ - [REJECT -- over-abuse of path-list] 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
+The last one is still not quite there, I am afraid.
184
+
185
+----------------------------------------------------------------
186
+[Graduated to "master"]
187
188
* j6t/mingw (Sat Nov 17 20:48:14 2007 +0100) 38 commits
189
+ compat/pread.c: Add a forward declaration to fix a warning
@@ -107,204 +233,6 @@ n
233
+ Compile some programs only conditionally.
234
+ Add compat/regex.[ch] and compat/fnmatch.[ch].
235
110
-No explanation necessary ;-)
111
-
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
151
- possible
152
- - Introduce reduce_heads()
153
- - Introduce get_merge_bases_many()
154
- - Add new test to ensure git-merge handles more than 25 refs.
155
- - Introduce get_octopus_merge_bases() in commit.c
156
- - git-fmt-merge-msg: make it usable from other builtins
157
- - Move read_cache_unmerged() to read-cache.c
158
- - Add new test to ensure git-merge handles pull.twohead and
159
- pull.octopus
160
- - Move parse-options's skip_prefix() to git-compat-util.h
161
- - Move commit_list_count() to commit.c
162
- - Move split_cmdline() to alias.c
163
-
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("..")
168
- + Add support for GIT_CEILING_DIRECTORIES
169
- + Fold test-absolute-path into test-path-utils
170
- + Implement normalize_absolute_path
171
-
172
-* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
173
- + rerere.autoupdate
174
- + t4200: fix rerere test
175
- + rerere: remove dubious "tail_optimization"
176
- + git-rerere: detect unparsable conflicts
177
- + rerere: rerere_created_at() and has_resolution() abstraction
178
-
179
-A new configuration will allow paths that have been resolved cleanly by
180
-rerere to be updated in the index automatically.
181
-
182
-* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
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.
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
-
236
----------------------------------------------------------------
237
[On Hold]
238
@@ -315,7 +243,9 @@ Allows us to feed a patch that touches the same path more than once.
243
This was previously in "will be in master soon" category, but it turns =
244
out
245
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.
246
+that happend in 1.5.6 timeframe, and we cannot do this just yet. Perha=
247
+ps
248
+in 1.7.0.
249
250
* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
251
+ Revert "Make clients ask for "git program" over ssh and local
@@ -336,6 +266,23 @@ hit due to tcl/tk's limitation, so I am holding this back for now.
266
----------------------------------------------------------------
267
[Stalled/Needs more work]
268
269
+* ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
270
+ - Migrate git-blame to parse-option partially.
271
+ + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
272
+ + parse-opt: fake short strings for callers to believe in.
273
+ + parse-opt: do not print errors on unknown options, return -2
274
+ intead.
275
+ + parse-opt: create parse_options_step.
276
+ + parse-opt: Export a non NORETURN usage dumper.
277
+ + parse-opt: have parse_options_{start,end}.
278
+
279
+I recall Pierre said something about cleaning up the last one when he
280
+finds time, but other than that vague recollection, I lost track of thi=
281
+s
282
+series. I am tempted to fork a few topics off of the pen=C3=BAltimo on=
283
+e to
284
+convert a few more commands as examples and merge the result to 'next'.
285
+
286
* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 7 commits
287
- blame: show "previous" information in --porcelain/--incremental
288
format
@@ -359,59 +306,26 @@ commit, which we should be able to separate out into an independent top=
306
ic
307
from the rest.
308
362
-----------------------------------------------------------------
363
-[Dropped for now]
364
-
365
-* sj/merge (Sat May 3 16:55:47 2008 -0700) 6 commits
366
- . Introduce fast forward option only
367
- . Head reduction before selecting merge strategy
368
- . Restructure git-merge.sh
369
- . Introduce -ff=3D<fast forward option>
370
- . New merge tests
371
- . Documentation for joining more than two histories
372
-
373
-This will interfere with Miklos's rewrite of merge to C.
374
-
375
-* js/rebase-i-sequencer (Sun Apr 27 02:55:50 2008 -0400) 17 commits
376
- . Use perl instead of tac
377
- . Fix t3404 assumption that `wc -l` does not use whitespace.
378
- . rebase -i: Use : in expr command instead of match.
379
- . rebase -i: update the implementation of 'mark' command
380
- . Add option --preserve-tags
381
- . Teach rebase interactive the tag command
382
- . Add option --first-parent
383
- . Do rebase with preserve merges with advanced TODO list
384
- . Select all lines with fake-editor
385
- . Unify the length of $SHORT* and the commits in the TODO list
386
- . Teach rebase interactive the merge command
387
- . Move redo merge code in a function
388
- . Teach rebase interactive the reset command
389
- . Teach rebase interactive the mark command
390
- . Move cleanup code into it's own function
391
- . Don't append default merge message to -m message
392
- . fake-editor: output TODO list if unchanged
393
-
394
-* jc/cherry-pick (Wed Feb 20 23:17:06 2008 -0800) 3 commits
395
- . WIP: rethink replay merge
396
- . Start using replay-tree merge in cherry-pick
397
- . revert/cherry-pick: start refactoring call to merge_recursive
398
-
399
-This is meant to improve cherry-pick's behaviour when renames are
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.
309
+* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
310
+ + Make "subtree" part more orthogonal to the rest of merge-
311
+ recursive.
312
+ + Teach git-pull to pass -X<option> to git-merge
313
+ + Teach git-merge to pass -X<option> to the backend strategy module
314
+ + git-merge-recursive-{ours,theirs}
315
+ + git-merge-file --ours, --theirs
316
404
-* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
405
- . git-am --forge: add Signed-off-by: line for the author
406
- . git-am: clean-up Signed-off-by: lines
407
- . stripspace: add --log-clean option to clean up signed-off-by:
408
- lines
409
- . stripspace: use parse_options()
410
- . Add "git am -s" test
411
- . git-am: refactor code to add signed-off-by line for the committer
317
+Punting a merge by discarding your own work in conflicting parts but st=
318
+ill
319
+salvaging the parts that are cleanly automerged. It is likely that thi=
320
+s
321
+will result in nonsense mishmash, but somehow often people want this, s=
322
+o
323
+here they are. The interface to the backends is updated so that you ca=
324
+n
325
+say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
326
413
-Just my toy at this moment.
327
+The -X<option> part may change, Dscho mentions that a single-letter -X
328
+that take stuck option is against syntax rules, and I think he's right.
329
415
-* jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
416
- . "git push": tellme-more protocol extension
330
+This is more "because we can", not "because we need to".
331