What's cooking in git.git (Jul 2008, issue #03; Mon, 07)
Junio C Hamano committed
Jul 20, 2008 at 22:58 UTC
4560aa9fd425c0e9bcf740240037deacf7437262
1 file changed
+110
-156
whatscooking.txt
+110
-156
@@ -1,4 +1,4 @@
1
-What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
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
@@ -45,26 +45,49 @@ n
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
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
-This will eventually appear in 'maint'; currently parked on 'pu', thoug=
53
-h.
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
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"
58
+* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
59
+ + Allow cherry-picking root commits
60
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.
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
67
- - stash: introduce 'stash save --keep-index' option
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
@@ -74,11 +97,14 @@ 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
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).
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
@@ -87,60 +113,75 @@ be added if necessary).
113
114
Adds 'e/dit' action to interactive add command.
115
90
-* am/stash-branch (Thu Jul 3 11:46:05 2008 +0530) 1 commit
91
- + Implement "git stash branch <newbranch> <stash>"
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
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.
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
96
-* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
97
- - Ignore graft during object transfer [broken wrt shallow clones]
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
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.
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
104
-Another fix is needed to git-prune so that it ignores grafts but treats
105
-commits that are mentioned in grafts as reachable.
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
107
-* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
108
- - Allow per-command pager config
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
----------------------------------------------------------------
111
-[Will merge to master soon]
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
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
-
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
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
-
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
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
-
185
* jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
186
+ rerere.autoupdate
187
+ t4200: fix rerere test
@@ -151,85 +192,10 @@ without the environment variable set.
192
A new configuration will allow paths that have been resolved cleanly by
193
rerere to be updated in the index automatically.
194
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"]
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
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].
198
+Meant for 'maint' as well.
199
200
----------------------------------------------------------------
201
[On Hold]
@@ -264,6 +230,17 @@ hit due to tcl/tk's limitation, so I am holding this back for now.
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.
@@ -304,26 +281,3 @@ commit, which we should be able to separate out into an independent top=
281
ic
282
from the rest.
283
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
-