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 -