What's cooking (2008/07 #03)

Junio C Hamano committed Aug 5, 2008 at 21:44 UTC ff9d22a66a47a9f5bb68f503bec0eec60c57c29c
1 file changed +111 -157
whats-cooking.txt
+111 -157
@@ -1,6 +1,6 @@
1 -Subject: What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
1 +Subject: What's cooking in git.git (Jul 2008, issue #03; Mon, 07)
2
3 -What's cooking in git.git (Jul 2008, issue #02; Sun, 06)
3 +What's cooking in git.git (Jul 2008, issue #03; Mon, 07)
4 --------------------------------------------------------
5
6 Here are the topics that have been cooking. Commits prefixed
@@ -47,26 +47,49 @@ 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
50 +* jc/rebase-orig-head (Mon Jul 7 00:16:38 2008 -0700) 1 commit
51 + + Teach "am" and "rebase" to mark the original position with
52 + ORIG_HEAD
53
54 -This will eventually appear in 'maint'; currently parked on 'pu', thoug=
55 -h.
54 +* sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
55 + . Migrate git-am to use git-sequencer
56 + . Add git-sequencer test suite (t3350)
57 + . Add git-sequencer prototype documentation
58 + . Add git-sequencer shell prototype
59
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"
60 +* js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
61 + + Allow cherry-picking root commits
62
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.
63 +* ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
64 + + Teach git-bundle to read revision arguments from stdin like git-
65 + rev-list.
66 +
67 +----------------------------------------------------------------
68 +[Will merge to master soon]
69 +
70 +* js/apply-root (Sun Jul 6 18:36:01 2008 -0700) 3 commits
71 + + git-apply --directory: make --root more similar to GNU diff
72 + + apply --root: thinkofix.
73 + + Teach "git apply" to prepend a prefix with "--root=3D<root>"
74 +
75 +* jc/reflog-expire (Sat Jun 28 22:24:49 2008 -0700) 2 commits
76 + + Make default expiration period of reflog used for stash infinite
77 + + Per-ref reflog expiry configuration
78 +
79 +As 1.6.0 will be a good time to make backward incompatible changes, the
80 +tip commit makes the default expiry period of stash 'never', unless you
81 +configure them to expire explicitly using gc.refs/stash.* variables.
82 +Needs consensus, but I am guessing that enough people would want stash
83 +that does not expire.
84 +
85 +* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
86 + + Allow per-command pager config
87 +
88 +----------------------------------------------------------------
89 +[Actively Cooking]
90
91 * sg/stash-k-i (Fri Jun 27 16:37:15 2008 +0200) 1 commit
69 - - stash: introduce 'stash save --keep-index' option
92 + + stash: introduce 'stash save --keep-index' option
93
94 One weakness of our "partial commit" workflow support used to be that t=
95 he
@@ -76,11 +99,14 @@ state cannot be tested as a whole in the working tree. This allows you=
99 to
100 temporarily stash the remaining changes in the working tree so that the
101 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).
102 +working tree to be tested and then committed.
103 +
104 +* am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
105 + + Add a test for "git stash branch"
106 + + Implement "git stash branch <newbranch> <stash>"
107 +
108 +Creates a new branch out of the stashed state, after returning from the
109 +interrupt that forced you to create the stash in the first place.
110
111 * tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
112 + git-add--interactive: manual hunk editing mode
@@ -89,60 +115,75 @@ be added if necessary).
115
116 Adds 'e/dit' action to interactive add command.
117
92 -* am/stash-branch (Thu Jul 3 11:46:05 2008 +0530) 1 commit
93 - + Implement "git stash branch <newbranch> <stash>"
118 +* jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
119 + + branch -r -v: do not spit out garbage
120 + + stat_tracking_info(): clear object flags used during counting
121 + + git-branch -v: show the remote tracking statistics
122 + + git-status: show the remote tracking statistics
123 + + Refactor "tracking statistics" code used by "git checkout"
124
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.
125 +Makes the "your branch is ahead of the tracked one by N commits" logic =
126 +and
127 +messages available to other commands; status and branch are updated.
128
98 -* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
99 - - Ignore graft during object transfer [broken wrt shallow clones]
129 +* jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
130 + + Make "subtree" part more orthogonal to the rest of merge-
131 + recursive.
132 + + Teach git-pull to pass -X<option> to git-merge
133 + + Teach git-merge to pass -X<option> to the backend strategy module
134 + + git-merge-recursive-{ours,theirs}
135 + + git-merge-file --ours, --theirs
136
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.
137 +Punting a merge by discarding your own work in conflicting parts but st=
138 +ill
139 +salvaging the parts that are cleanly automerged. It is likely that thi=
140 +s
141 +will result in nonsense mishmash, but somehow often people want this, s=
142 +o
143 +here they are. The interface to the backends is updated so that you ca=
144 +n
145 +say "git merge -Xours -Xsubtree=3Dfoo/bar/baz -s recursive other" now.
146
106 -Another fix is needed to git-prune so that it ignores grafts but treats
107 -commits that are mentioned in grafts as reachable.
147 +The -X<option> part may change, Dscho mentions that a single-letter -X
148 +that take stuck option is against syntax rules, and I think he's right.
149
109 -* jk/pager-config (Thu Jul 3 07:46:57 2008 -0400) 1 commit
110 - - Allow per-command pager config
150 +This is more "because we can", not "because we need to".
151 +
152 +* mv/merge-in-c (Mon Jul 7 19:24:20 2008 +0200) 15 commits
153 + - Build in merge
154 + + Fix t7601-merge-pull-config.sh on AIX
155 + + git-commit-tree: make it usable from other builtins
156 + + Add new test case to ensure git-merge prepends the custom merge
157 + message
158 + + Add new test case to ensure git-merge reduces octopus parents when
159 + possible
160 + + Introduce reduce_heads()
161 + + Introduce get_merge_bases_many()
162 + + Add new test to ensure git-merge handles more than 25 refs.
163 + + Introduce get_octopus_merge_bases() in commit.c
164 + + git-fmt-merge-msg: make it usable from other builtins
165 + + Move read_cache_unmerged() to read-cache.c
166 + + Add new test to ensure git-merge handles pull.twohead and
167 + pull.octopus
168 + + Move parse-options's skip_prefix() to git-compat-util.h
169 + + Move commit_list_count() to commit.c
170 + + Move split_cmdline() to alias.c
171
172 ----------------------------------------------------------------
113 -[Will merge to master soon]
173 +[Graduated to "master"]
174
175 * js/import-zip (Mon Jun 30 19:50:44 2008 +0100) 1 commit
176 + Add another fast-import example, this time for .zip files
177
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 -
178 * db/no-git-config (Mon Jun 30 03:37:47 2008 -0400) 1 commit
179 + Only use GIT_CONFIG in "git config", not other programs
180
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 -
181 * dr/ceiling (Mon May 19 23:49:34 2008 -0700) 4 commits
182 + Eliminate an unnecessary chdir("..")
183 + Add support for GIT_CEILING_DIRECTORIES
184 + Fold test-absolute-path into test-path-utils
185 + Implement normalize_absolute_path
186
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 -
187 * jc/rerere (Sun Jun 22 02:04:31 2008 -0700) 5 commits
188 + rerere.autoupdate
189 + t4200: fix rerere test
@@ -153,85 +194,10 @@ without the environment variable set.
194 A new configuration will allow paths that have been resolved cleanly by
195 rerere to be updated in the index automatically.
196
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 -----------------------------------------------------------------
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"]
197 +* js/maint-daemon-syslog (Thu Jul 3 16:27:24 2008 +0100) 1 commit
198 + + git daemon: avoid calling syslog() from a signal handler
199
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
190 - + Windows: Fix ntohl() related warnings about printf formatting
191 - + Windows: TMP and TEMP environment variables specify a temporary
192 - directory.
193 - + Windows: Make 'git help -a' work.
194 - + Windows: Work around an oddity when a pipe with no reader is
195 - written to.
196 - + Windows: Make the pager work.
197 - + When installing, be prepared that template_dir may be relative.
198 - + Windows: Use a relative default template_dir and ETC_GITCONFIG
199 - + Windows: Compute the fallback for exec_path from the program
200 - invocation.
201 - + Turn builtin_exec_path into a function.
202 - + Windows: Use a customized struct stat that also has the st_blocks
203 - member.
204 - + Windows: Add a custom implementation for utime().
205 - + Windows: Add a new lstat and fstat implementation based on Win32
206 - API.
207 - + Windows: Implement a custom spawnve().
208 - + Windows: Implement wrappers for gethostbyname(), socket(), and
209 - connect().
210 - + Windows: Work around incompatible sort and find.
211 - + Windows: Implement asynchronous functions as threads.
212 - + Windows: Disambiguate DOS style paths from SSH URLs.
213 - + Windows: A rudimentary poll() emulation.
214 - + Windows: Implement start_command().
215 - + Windows: A pipe() replacement whose ends are not inherited to
216 - children.
217 - + Windows: Wrap execve so that shell scripts can be invoked.
218 - + Windows: Implement setitimer() and sigaction().
219 - + Windows: Fix PRIuMAX definition.
220 - + Windows: Implement gettimeofday().
221 - + Make my_mktime() public and rename it to tm_to_time_t()
222 - + Windows: Work around misbehaved rename().
223 - + Windows: always chmod(, 0666) before unlink().
224 - + Windows: A minimal implemention of getpwuid().
225 - + Windows: Implement a wrapper of the open() function.
226 - + Windows: Strip ".exe" from the program name.
227 - + Windows: Handle absolute paths in
228 - safe_create_leading_directories().
229 - + Windows: Treat Windows style path names.
230 - + setup.c: Prepare for Windows directory separators.
231 - + Windows: Use the Windows style PATH separator ';'.
232 - + Add target architecture MinGW.
233 - + Compile some programs only conditionally.
234 - + Add compat/regex.[ch] and compat/fnmatch.[ch].
200 +Meant for 'maint' as well.
201
202 ----------------------------------------------------------------
203 [On Hold]
@@ -266,6 +232,17 @@ hit due to tcl/tk's limitation, so I am holding this back for now.
232 ----------------------------------------------------------------
233 [Stalled/Needs more work]
234
235 +* jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
236 + - [BROKEN wrt shallow clones] Ignore graft during object transfer
237 +
238 +Cloning or fetching from a repository from grafts did not send objects
239 +that are hidden by grafts, but the commits in the resulting repository =
240 +do
241 +need these to pass fsck. This fixes object transfer to ignore grafts.
242 +
243 +Another fix is needed to git-prune so that it ignores grafts but treats
244 +commits that are mentioned in grafts as reachable.
245 +
246 * ph/parseopt-step-blame (Tue Jun 24 11:12:12 2008 +0200) 7 commits
247 - Migrate git-blame to parse-option partially.
248 + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
@@ -306,26 +283,3 @@ commit, which we should be able to separate out into an independent top=
283 ic
284 from the rest.
285
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 -
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 -
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 -
330 -This is more "because we can", not "because we need to".
331 -