What's cooking (2012/09 #05)

Junio C Hamano committed Sep 14, 2012 at 14:19 UTC 9ec05bb8e349747361acfb4763f3853b237f2fe4
1 file changed +342 -319
whats-cooking.txt
+342 -319
@@ -1,102 +1,175 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2012, #04; Tue, 11)
4 -X-master-at: 53284de77712b2234c739afa3aa5f024fc89fc83
5 -X-next-at: 3d3ef136b706abc4576b503995d88da2409d0bcf
3 +Subject: What's cooking in git.git (Sep 2012, #05; Fri, 14)
4 +X-master-at: 1084f3b844d80d84d2d318bc562b78514cd78028
5 +X-next-at: d6bdd97b1590ffc7218c72138a0a58a80c655529
6
7 -What's cooking in git.git (Sep 2012, #04; Tue, 11)
7 +What's cooking in git.git (Sep 2012, #05; Fri, 14)
8 --------------------------------------------------
9
10 -Here are the topics that have been cooking. Commits prefixed with '-' are
11 -only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.
10 +Here are the topics that have been cooking. Commits prefixed with
11 +'-' are only in 'pu' (proposed updates) while commits prefixed with
12 +'+' are in 'next'.
13
13 -The fifth batch of topics have graduated to 'master'. Many fixes
14 -that are already in 'master' have been merged to v1.7.11.6. 'maint'
15 -has acquired more such fixes and will be tagged as v1.7.12.1
16 -hopefully in a few days.
14 +The topic descriptions are indented in this issue as an experiment;
15 +it is slightly harder to edit for me and I personally find it harder
16 +to read, but perhaps that is because I am used to reading in the
17 +previous format. There are wider gaps between topics that may turn
18 +out to be sufficient to visually identify where each entry begins
19 +and ends. We'll see.
20
21 I'm planning to keep this cycle reasonably short and aim for tagging
22 the result as 1.8.0 at the end of 9th week, on October 21st, after
23 which I'd disappear for a few weeks. http://tinyurl.com/gitCal is
24 where you can always find my rough tagging schedule at.
25
26 +I think we can start thinking about feature freeze once the topics
27 +in 'next' that are scheduled to graduate to 'master' already are
28 +fully cooked. For any late-coming topic, there always is the next
29 +cycle ;-)
30 +
31 You can find the changes described here in the integration branches of the
32 repositories listed at
33
34 http://git-blame.blogspot.com/p/git-public-repositories.html
35
36 --------------------------------------------------
29 -[New Topics]
37 +[Graduated to "master"]
38
31 -* dg/run-command-child-cleanup (2012-09-11) 1 commit
32 - - run-command.c: fix broken list iteration in clear_child_for_cleanup
39 +* dj/fetch-all-tags (2012-09-07) 1 commit
40 + (merged to 'next' on 2012-09-11 at 083a029)
41 + + fetch --all: pass --tags/--no-tags through to each remote
42
34 -Will merge to 'next' after obtaining a Sign-off.
43 + "git fetch --all", when passed "--no-tags", did not honor the
44 + "--no-tags" option while fetching from individual remotes (the same
45 + issue existed with "--tags", but combination "--all --tags" makes
46 + much less sense than "--all --no-tags").
47
36 -* jc/maint-blame-no-such-path (2012-09-10) 1 commit
37 - - blame $path: avoid getting fooled by case insensitive filesystems
48
39 -"git blame MAKEFILE" run in a history that has "Makefile" but not
40 -"MAKEFILE" should say "No such file MAKEFILE in HEAD", but got
41 -confused on a case insensitive filesystem.
49 +* mh/abspath (2012-09-10) 9 commits
50 + (merged to 'next' on 2012-09-11 at 5e29b53)
51 + + t0060: split absolute path test in two to exercise some of it on Windows
52 + + t0060: verify that real_path() removes extra slashes
53 + + real_path(): properly handle nonexistent top-level paths
54 + + t0060: verify that real_path() works correctly with absolute paths
55 + + real_path(): reject the empty string
56 + + t0060: verify that real_path() fails if passed the empty string
57 + + absolute_path(): reject the empty string
58 + + t0060: verify that absolute_path() fails if passed the empty string
59 + + t0060: move tests of real_path() from t0000 to here
60
43 -* sl/autoconf (2012-09-11) 2 commits
44 - - build: don't duplicate substitution of make variables
45 - - build: improve GIT_CONF_SUBST signature
61
47 -* cn/branch-set-upstream-to (2012-09-11) 2 commits
48 - - completion: complete branch name for "branch --set-upstream-to="
49 - - completion: add --set-upstream-to and --unset-upstream
62 +* nd/checkout-option-parsing-fix (2012-09-11) 3 commits
63 + (merged to 'next' on 2012-09-11 at 3d3ef13)
64 + + checkout: reorder option handling
65 + + checkout: move more parameters to struct checkout_opts
66 + + checkout: pass "struct checkout_opts *" as const pointer
67 +
68 + The option parsing of "git checkout" had error checking, dwim and
69 + defaulting missing options, all mixed in the code, and issuing an
70 + appropriate error message with useful context was getting harder.
71 + Reorganize the code and allow giving a proper diagnosis when the
72 + user says "git checkout -b -t foo bar" (e.g. "-t" is not a good name
73 + for a branch).
74 +
75 +
76 +* nd/i18n-status (2012-09-06) 1 commit
77 + (merged to 'next' on 2012-09-11 at 7cfa224)
78 + + status: remove i18n legos
79 +
80 +
81 +* rj/path-cleanup (2012-09-04) 5 commits
82 + (merged to 'next' on 2012-09-11 at 9e8da84)
83 + + Call mkpathdup() rather than xstrdup(mkpath(...))
84 + + Call git_pathdup() rather than xstrdup(git_path("..."))
85 + + path.c: Use vsnpath() in the implementation of git_path()
86 + + path.c: Don't discard the return value of vsnpath()
87 + + path.c: Remove the 'git_' prefix from a file scope function
88
51 -Will merge to 'next'.
89 +
90 +* rj/tap-fix (2012-09-02) 6 commits
91 + (merged to 'next' on 2012-09-11 at 4104358)
92 + + test-lib.sh: Suppress the "passed all ..." message if no tests run
93 + + test-lib.sh: Add check for invalid use of 'skip_all' facility
94 + + test-lib.sh: Fix some shell coding style violations
95 + + t4016-*.sh: Skip all tests rather than each test
96 + + t3902-*.sh: Skip all tests rather than each test
97 + + t3300-*.sh: Fix a TAP parse error
98 +
99 +
100 +* sn/ls-remote-get-url-doc (2012-09-07) 1 commit
101 + (merged to 'next' on 2012-09-11 at 9d09780)
102 + + ls-remote: document the '--get-url' option
103
104 --------------------------------------------------
54 -[Graduated to "master"]
105 +[New Topics]
106 +
107 +* jw/doc-commit-title (2012-09-13) 1 commit
108 + (merged to 'next' on 2012-09-14 at d6bdd97)
109 + + Documentation: describe subject more precisely
110 +
111 + Update parts of document that talked about "first line of commit
112 + log" to say "title of commit" with definition of what that "title"
113 + is.
114 +
115 + Will merge to 'master' as part of the seventh batch.
116 +
117 +
118 +* nd/maint-diffstat-summary (2012-09-14) 1 commit
119 + (merged to 'next' on 2012-09-14 at 994217d)
120 + + Revert diffstat back to English
121 +
122 + Earlier we made the diffstat summary line that shows the number of
123 + lines added/deleted localizable, but it was found irritating having
124 + to see them in various languages on a list whose discussion language
125 + is English.
126 +
127 + The original had trivial thinko in reverting Q_(), which has been
128 + fixed.
129 +
130 + Will merge to 'master' as part of the seventh batch.
131 +
132 +
133 +* nd/fetch-status-alignment (2012-09-14) 1 commit
134 + - fetch: align per-ref summary report in UTF-8 locales
135 +
136 + Will merge to 'next'.
137
56 -* jc/maint-ident-missing-human-name (2012-08-31) 1 commit
57 - (merged to 'next' on 2012-09-07 at 0e99b20)
58 - + split_ident_line(): make best effort when parsing author/committer line
59 -
60 -"git show --format='%ci'" did not give timestamp correctly for
61 -commits created without human readable name on "committer" line.
62 -
63 -* jc/merge-bases (2012-08-31) 9 commits
64 - (merged to 'next' on 2012-09-07 at ab0974d)
65 - + reduce_heads(): reimplement on top of remove_redundant()
66 - + merge-base: "--is-ancestor A B"
67 - + get_merge_bases_many(): walk from many tips in parallel
68 - + in_merge_bases(): use paint_down_to_common()
69 - + merge_bases_many(): split out the logic to paint history
70 - + in_merge_bases(): omit unnecessary redundant common ancestor reduction
71 - + http-push: use in_merge_bases() for fast-forward check
72 - + receive-pack: use in_merge_bases() for fast-forward check
73 - + in_merge_bases(): support only one "other" commit
74 -
75 -Optimise the "merge-base" computation a bit, and also update its
76 -users that do not need the full merge-base information to call a
77 -cheaper subset.
78 -
79 -* jk/argv-array (2012-09-02) 4 commits
80 - (merged to 'next' on 2012-09-07 at 98dbd14)
81 - + submodule: use argv_array instead of hand-building arrays
82 - + fetch: use argv_array instead of hand-building arrays
83 - + argv-array: fix bogus cast when freeing array
84 - + argv-array: add pop function
85 - (this branch is used by dj/fetch-all-tags.)
86 -
87 -Use argv-array API in "git fetch" implementation.
88 -
89 -* nd/i18n-index-pack (2012-08-31) 1 commit
90 - (merged to 'next' on 2012-09-07 at bbcece1)
91 - + i18n: mark more index-pack strings for translation
92 -
93 -* rj/test-regex (2012-09-02) 1 commit
94 - (merged to 'next' on 2012-09-07 at e7e3527)
95 - + test-regex: Add a test to check for a bug in the regex routines
96 -
97 -Git ships with a fall-back regexp implementation for platforms with
98 -buggy regexp library; give people a tool to see if they should be
99 -using it on their platform.
138 +
139 +* mv/cherry-pick-s (2012-09-14) 1 commit
140 + - cherry-pick: don't forget -s on failure
141 +
142 + Will merge to 'next'.
143 +
144 +
145 +* jc/maint-log-grep-all-match (2012-09-14) 9 commits
146 + - t7810-grep: test --all-match with multiple --grep and --author options
147 + - t7810-grep: test interaction of multiple --grep and --author options
148 + - t7810-grep: test multiple --author with --all-match
149 + - t7810-grep: test multiple --grep with and without --all-match
150 + - t7810-grep: bring log --grep tests in common form
151 + (merged to 'next' on 2012-09-14 at 86b848c)
152 + + log: document use of multiple commit limiting options
153 + + log --grep/--author: honor --all-match honored for multiple --grep patterns
154 + + grep: show --debug output only once
155 + + grep: teach --debug option to dump the parse tree
156 +
157 + Fix a long-standing bug in "git log --grep" when multiple "--grep"
158 + are used together with "--all-match" and "--author" or "--committer".
159 +
160 + Will merge to 'next' after eyeballing the tests
161 + Help in reviewing them is appreciated.
162 +
163 +
164 +* jk/config-warn-on-inaccessible-paths (2012-09-13) 1 commit
165 + (merged to 'next' on 2012-09-14 at a9bba78)
166 + + attr: failure to open a .gitattributes file is OK with ENOTDIR
167 +
168 + The attribute system may be asked for a path whose leading
169 + directories do not exist in the current working tree. In addition
170 + to ENOENT, ENOTDIR must be ignored.
171 +
172 + Will merge to 'master' as part of the seventh batch.
173
174 --------------------------------------------------
175 [Stalled]
@@ -108,8 +181,9 @@ using it on their platform.
181 - gnome-keyring: port to generic helper implementation
182 - contrib: add generic credential helper
183
111 -Attempts to refactor to share code among OSX keychain, Gnome keyring
112 -and Win32 credential helpers.
184 + Attempts to refactor to share code among OSX keychain, Gnome keyring
185 + and Win32 credential helpers.
186 +
187
188 * jc/maint-name-rev (2012-09-04) 7 commits
189 - describe --contains: use "name-rev --weight"
@@ -120,28 +194,30 @@ and Win32 credential helpers.
194 - name_rev: clarify the logic to assign a new tip-name to a commit
195 - name-rev: lose unnecessary typedef
196
123 -"git name-rev" names the given revision based on a ref that can be
124 -reached in the smallest number of steps from the rev, but that is
125 -not useful when the caller wants to know which tag is the oldest one
126 -that contains the rev. This teaches a new mode to the command that
127 -uses the oldest ref among those which contain the rev.
197 + "git name-rev" names the given revision based on a ref that can be
198 + reached in the smallest number of steps from the rev, but that is
199 + not useful when the caller wants to know which tag is the oldest one
200 + that contains the rev. This teaches a new mode to the command that
201 + uses the oldest ref among those which contain the rev.
202
129 -I am not sure if this is worth it; for one thing, even with the help
130 -from notes-cache, it seems to make the "describe --contains" even
131 -slower. Also the command will be unusably slow for a user who does
132 -not have a write access (hence unable to create or update the
133 -notes-cache).
203 + I am not sure if this is worth it; for one thing, even with the help
204 + from notes-cache, it seems to make the "describe --contains" even
205 + slower. Also the command will be unusably slow for a user who does
206 + not have a write access (hence unable to create or update the
207 + notes-cache).
208 +
209 + Needs another round to at least find a better name for the option,
210 + and possibly a cheaper but still better than the current "close to
211 + the tip" heuristics.
212
135 -Needs another round to at least find a better name for the option,
136 -and possibly a cheaper but still better than the current "close to
137 -the tip" heuristics.
213
214 * ms/contrib-thunderbird-updates (2012-08-31) 2 commits
215 - [SQUASH] minimum fixup
216 - Thunderbird: fix appp.sh format problems
217
143 -Update helper to send out format-patch output using Thunderbird.
144 -Seems to have design regression for silent users.
218 + Update helper to send out format-patch output using Thunderbird.
219 + Seems to have design regression for silent users.
220 +
221
222 * as/check-ignore (2012-09-02) 10 commits
223 . fixup: decl-after-stmt etc.
@@ -155,48 +231,59 @@ Seems to have design regression for silent users.
231 . Improve documentation and comments regarding directory traversal API
232 . Update directory listing API doc to match code
233
158 -Will be rerolled.
234 + Will be rerolled.
235 +
236
237 * jx/test-real-path (2012-08-27) 1 commit
238 - test: set the realpath of CWD as TRASH_DIRECTORY
239
163 -Running tests with the "trash" directory elsewhere with the "--root"
164 -option did not work well if the directory was specified by a symbolic
165 -link pointing at it.
240 + Running tests with the "trash" directory elsewhere with the "--root"
241 + option did not work well if the directory was specified by a symbolic
242 + link pointing at it.
243 +
244 + Seems broken as it makes $(pwd) and TRASH_DIRECTORY inconsistent.
245 + Needs rerolling.
246
167 -Seems broken as it makes $(pwd) and TRASH_DIRECTORY inconsistent.
168 -Needs rerolling.
247
248 * jc/maint-push-refs-all (2012-08-27) 2 commits
249 - get_fetch_map(): tighten checks on dest refs
250 - [BROKEN] fetch/push: allow refs/*:refs/*
251
174 -Allows pushing and fetching everything including refs/stash.
175 -This is broken (see the log message there).
252 + Allows pushing and fetching everything including refs/stash.
253 + This is broken (see the log message there).
254 +
255 + Not ready.
256 +
257
258 * er/doc-fast-import-done (2012-08-22) 1 commit
259 - fast-import: document the --done option
260
180 -Parked in 'pu' in case ESR responds with "Sorry, forgot to sign-off".
261 + Parked in 'pu' in case ESR responds with "Sorry, forgot to sign-off".
262 +
263
264 * jc/add-delete-default (2012-08-13) 1 commit
265 - git add: notice removal of tracked paths by default
266
185 -"git add dir/" updated modified files and added new files, but does
186 -not notice removed files, which may be "Huh?" to some users. They
187 -can of course use "git add -A dir/", but why should they?
267 + "git add dir/" updated modified files and added new files, but does
268 + not notice removed files, which may be "Huh?" to some users. They
269 + can of course use "git add -A dir/", but why should they?
270 +
271 + Resurrected from graveyard, as I thought it was a worthwhile thing
272 + to do in the longer term.
273 +
274 + Waiting for comments.
275
189 -Resurrected from graveyard, as I thought it was a worthwhile thing
190 -to do in the longer term; waiting for comments.
276
277 * tx/relative-in-the-future (2012-08-16) 2 commits
278 - date: show relative dates in the future
279 - date: refactor the relative date logic from presentation
280
196 -Not my itch; rewritten an earlier submission by Tom Xue into
197 -somewhat more maintainable form, though it breaks existing i18n.
281 + Not my itch; rewritten an earlier submission by Tom Xue into
282 + somewhat more maintainable form, though it breaks existing i18n.
283 +
284 + Waiting for a voluteer to fix it up.
285 + Otherwise may discard.
286
199 -Anybody interested in fixing it up? Otherwise may discard.
287
288 * tg/index-v5 (2012-08-17) 13 commits
289 . p0002-index.sh: add perf test for the index formats
@@ -213,9 +300,10 @@ Anybody interested in fixing it up? Otherwise may discard.
300 . read-cache.c: Re-read index if index file changed
301 . Move index v2 specific functions to their own file
302
216 -A GSoC project. Was waiting for comments from mentors and
217 -stakeholders, but nothing seems to be happening, other than breakage
218 -fixes on Cygwin. May discard.
303 + A GSoC project. Was waiting for comments from mentors and
304 + stakeholders, but nothing seems to be happening, other than breakage
305 + fixes on Cygwin. May discard.
306 +
307
308 * mz/rebase-range (2012-07-18) 7 commits
309 . rebase (without -p): correctly calculate patches to rebase
@@ -226,10 +314,11 @@ fixes on Cygwin. May discard.
314 . git-rebase--interactive.sh: extract function for adding "pick" line
315 . git-rebase--am.sh: avoid special-casing --keep-empty
316
229 -Expecting a reroll.
317 + Expecting a reroll.
318 +
319 + Performance concerns from Windows folks. Also the series lacks
320 + proper sign-offs.
321
231 -Performance concerns from Windows folks. Also the series lacks
232 -proper sign-offs.
322
323 * mb/remote-default-nn-origin (2012-07-11) 6 commits
324 - Teach get_default_remote to respect remote.default.
@@ -239,14 +328,15 @@ proper sign-offs.
328 - Teach remote.c about the remote.default configuration setting.
329 - Rename remote.c's default_remote_name static variables.
330
242 -When the user does not specify what remote to interact with, we
243 -often attempt to use 'origin'. This can now be customized via a
244 -configuration variable.
331 + When the user does not specify what remote to interact with, we
332 + often attempt to use 'origin'. This can now be customized via a
333 + configuration variable.
334 +
335 + Expecting a reroll.
336
246 -Expecting a reroll.
337 + "The first remote becomes the default" bit is better done as a
338 + separate step.
339
248 -"The first remote becomes the default" bit is better done as a
249 -separate step.
340
341 * jc/split-blob (2012-04-03) 6 commits
342 - chunked-object: streaming checkout
@@ -256,252 +346,183 @@ separate step.
346 - new representation types in the packstream
347 - packfile: use varint functions
348
259 -Not ready.
260 -
261 -I finished the streaming checkout codepath, but as explained in
262 -127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
263 -these are still early steps of a long and painful journey. At least
264 -pack-objects and fsck need to learn the new encoding for the series
265 -to be usable locally, and then index-pack/unpack-objects needs to
266 -learn it to be used remotely.
267 -
268 -Given that I heard a lot of noise that people want large files, and
269 -that I was asked by somebody at GitTogether'11 privately for an
270 -advice on how to pay developers (not me) to help adding necessary
271 -support, I am somewhat dissapointed that the original patch series
272 -that was sent long time ago still remains here without much comments
273 -and updates from the developer community. I even made the interface
274 -to the logic that decides where to split chunks easily replaceable,
275 -and I deliberately made the logic in the original patch extremely
276 -stupid to entice others, especially the "bup" fanbois, to come up
277 -with a better logic, thinking that giving people an easy target to
278 -shoot for, they may be encouraged to help out. The plan is not
279 -working :-<.
349 + Not ready.
350 +
351 + I finished the streaming checkout codepath, but as explained in
352 + 127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
353 + these are still early steps of a long and painful journey. At least
354 + pack-objects and fsck need to learn the new encoding for the series
355 + to be usable locally, and then index-pack/unpack-objects needs to
356 + learn it to be used remotely.
357 +
358 + Given that I heard a lot of noise that people want large files, and
359 + that I was asked by somebody at GitTogether'11 privately for an
360 + advice on how to pay developers (not me) to help adding necessary
361 + support, I am somewhat dissapointed that the original patch series
362 + that was sent long time ago still remains here without much comments
363 + and updates from the developer community. I even made the interface
364 + to the logic that decides where to split chunks easily replaceable,
365 + and I deliberately made the logic in the original patch extremely
366 + stupid to entice others, especially the "bup" fanbois, to come up
367 + with a better logic, thinking that giving people an easy target to
368 + shoot for, they may be encouraged to help out. The plan is not
369 + working :-<.
370
371 --------------------------------------------------
372 [Cooking]
373
284 -* jc/ll-merge-binary-ours (2012-09-08) 2 commits
285 - - attr: "binary" attribute should choose built-in "binary" merge driver
286 - - merge: teach -Xours/-Xtheirs to binary ll-merge driver
287 -
288 -"git merge -Xtheirs" did not help content-level merge of binary
289 -files; it should just take their version. Also "*.jpg binary" in
290 -the attributes did not imply they should use the binary ll-merge
291 -driver.
292 -
293 -Will merge to 'next'.
294 -
295 -* jc/mailinfo-RE (2012-09-09) 1 commit
296 - - mailinfo: strip "RE: " prefix
297 -
298 -We strip the prefix from "Re: subject" and also from a less common
299 -"re: subject", but left even less common "RE: subject" intact.
374 +* dg/run-command-child-cleanup (2012-09-11) 1 commit
375 + (merged to 'next' on 2012-09-12 at aa5f9e2)
376 + + run-command.c: fix broken list iteration in clear_child_for_cleanup
377
301 -Will merge to 'next'.
378 + The code to wait for subprocess and remove it from our internal queue
379 + wasn't quite right.
380
303 -* js/compat-mkdir (2012-09-08) 1 commit
304 - (merged to 'next' on 2012-09-11 at 376b3d5)
305 - + Document MKDIR_WO_TRAILING_SLASH in Makefile
381 + Will merge to 'master' as part of the seventh batch.
382
307 -Finishing touches to recently added wrapper for mkdir() that do not
308 -want to see trailing slashes.
383
310 -Will merge to 'master' as part of the sixth batch.
384 +* jc/maint-blame-no-such-path (2012-09-11) 2 commits
385 + (merged to 'next' on 2012-09-14 at 84064d5)
386 + + blame: allow "blame file" in the middle of a conflicted merge
387 + + blame $path: avoid getting fooled by case insensitive filesystems
388
312 -* mh/string-list (2012-09-10) 6 commits
313 - - api-string-list.txt: initialize the string_list the easy way
314 - - string_list: add a function string_list_longest_prefix()
315 - - string_list: add a new function, string_list_remove_duplicates()
316 - - string_list: add a new function, filter_string_list()
317 - - string_list: add two new functions for splitting strings
318 - - string_list: add function string_list_append_nodup()
319 - (this branch is used by mh/fetch-filter-refs.)
389 + "git blame MAKEFILE" run in a history that has "Makefile" but not
390 + "MAKEFILE" should say "No such file MAKEFILE in HEAD", but got
391 + confused on a case insensitive filesystem and failed to do so.
392
321 -Looked sensible.
322 -Will merge to 'next'.
323 -
324 -* pw/p4-submit-conflicts (2012-09-10) 12 commits
325 - - git-p4: add submit --conflict option and config varaiable
326 - - git p4: add submit --prepare-p4-only option
327 - - git p4: add submit --dry-run option
328 - - git p4: accept -v for --verbose
329 - - git p4: revert deleted files after submit cancel
330 - - git p4: rearrange submit template construction
331 - - git p4: test clean-up after failed submit, fix added files
332 - - git p4: standardize submit cancel due to unchanged template
333 - - git p4: move conflict prompt into run, add [q]uit input
334 - - git p4: remove submit failure options [a]pply and [w]rite
335 - - git p4: gracefully fail if some commits could not be applied
336 - - git p4 test: remove bash-ism of combined export/assignment
393 + Even during a conflicted merge, "git blame $path" always meant to
394 + blame uncommitted changes to the "working tree" version; make it
395 + more useful by showing cleanly merged parts as coming from the other
396 + branch that is being merged.
397
338 -Rerolled.
339 -Waiting for comments.
398 + Will merge to 'master' as part of the seventh batch.
399
341 -* kd/cvsimport-avoid-invalid-tag (2012-09-06) 1 commit
342 - (merged to 'next' on 2012-09-11 at 6a8f834)
343 - + cvsimport: strip all inappropriate tag strings
400
345 -"cvsimport" tried to create a tag taken from CVS without
346 -sufficiently sanitizing it, causing the import to fail when an
347 -invalid character in the tagname made underlying "git tag" to fail.
401 +* sl/autoconf (2012-09-11) 2 commits
402 + (merged to 'next' on 2012-09-12 at 6ebe199)
403 + + build: don't duplicate substitution of make variables
404 + + build: improve GIT_CONF_SUBST signature
405
349 -Will merge to 'master' as part of the sixth batch.
406 + Reduces repetition in configure.ac.
407
351 -* mh/abspath (2012-09-10) 9 commits
352 - (merged to 'next' on 2012-09-11 at 5e29b53)
353 - + t0060: split absolute path test in two to exercise some of it on Windows
354 - + t0060: verify that real_path() removes extra slashes
355 - + real_path(): properly handle nonexistent top-level paths
356 - + t0060: verify that real_path() works correctly with absolute paths
357 - + real_path(): reject the empty string
358 - + t0060: verify that real_path() fails if passed the empty string
359 - + absolute_path(): reject the empty string
360 - + t0060: verify that absolute_path() fails if passed the empty string
361 - + t0060: move tests of real_path() from t0000 to here
408 + Will merge to 'master' as part of the seventh batch.
409
363 -Will merge to 'master' as part of the sixth batch.
410
365 -* nd/i18n-status (2012-09-06) 1 commit
366 - (merged to 'next' on 2012-09-11 at 7cfa224)
367 - + status: remove i18n legos
411 +* cn/branch-set-upstream-to (2012-09-11) 2 commits
412 + (merged to 'next' on 2012-09-12 at e162318)
413 + + completion: complete branch name for "branch --set-upstream-to="
414 + + completion: add --set-upstream-to and --unset-upstream
415
369 -Will merge to 'master' as part of the sixth batch.
416 + Finishing touches to the recently graduated topic to introduce
417 + "git branch --set-upstream-to" option.
418
371 -* nd/log-n-doc (2012-09-06) 1 commit
372 - (merged to 'next' on 2012-09-11 at 7fba349)
373 - + doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt
419 + Will merge to 'master' as part of the seventh batch.
420
375 -Will merge to 'master' as part of the sixth batch.
421
377 -* nd/maint-remote-remove (2012-09-06) 1 commit
378 - (merged to 'next' on 2012-09-11 at b1564c3)
379 - + remote: prefer subcommand name 'remove' to 'rm'
422 +* jc/ll-merge-binary-ours (2012-09-12) 3 commits
423 + (merged to 'next' on 2012-09-12 at 9a7a6b3)
424 + + ll-merge: warn about inability to merge binary files only when we can't
425 + + attr: "binary" attribute should choose built-in "binary" merge driver
426 + + merge: teach -Xours/-Xtheirs to binary ll-merge driver
427
381 -Will merge to 'master' as part of the sixth batch.
428 + "git merge -Xtheirs" did not help content-level merge of binary
429 + files; it should just take their version. Also "*.jpg binary" in
430 + the attributes did not imply they should use the binary ll-merge
431 + driver.
432
383 -* sb/send-email-reconfirm-fix (2012-09-06) 1 commit
384 - (merged to 'next' on 2012-09-11 at f868e60)
385 - + send-email: initial_to and initial_reply_to are both optional
433 + Will merge to 'master' as part of the seventh batch.
434
387 -Will merge to 'master' as part of the sixth batch.
435
389 -* sn/ls-remote-get-url-doc (2012-09-07) 1 commit
390 - (merged to 'next' on 2012-09-11 at 9d09780)
391 - + ls-remote: document the '--get-url' option
436 +* jc/mailinfo-RE (2012-09-09) 1 commit
437 + (merged to 'next' on 2012-09-12 at 131edbf)
438 + + mailinfo: strip "RE: " prefix
439
393 -Will merge to 'master' as part of the sixth batch.
440 + We strip the prefix from "Re: subject" and also from a less common
441 + "re: subject", but left even less common "RE: subject" intact.
442
395 -* dj/fetch-all-tags (2012-09-07) 1 commit
396 - (merged to 'next' on 2012-09-11 at 083a029)
397 - + fetch --all: pass --tags/--no-tags through to each remote
443 + Will merge to 'master' as part of the seventh batch.
444
399 -"git fetch --all", when passed "--no-tags", did not honor the
400 -"--no-tags" option while fetching from individual remotes (the same
401 -issue existed with "--tags", but combination "--all --tags" makes
402 -much less sense than "--all --no-tags").
445
404 -Will merge to 'master' as part of the sixth batch.
446 +* mh/string-list (2012-09-12) 6 commits
447 + (merged to 'next' on 2012-09-14 at b4c50bc)
448 + + api-string-list.txt: initialize the string_list the easy way
449 + + string_list: add a function string_list_longest_prefix()
450 + + string_list: add a new function, string_list_remove_duplicates()
451 + + string_list: add a new function, filter_string_list()
452 + + string_list: add two new functions for splitting strings
453 + + string_list: add function string_list_append_nodup()
454 + (this branch is used by mh/fetch-filter-refs.)
455
406 -* rj/tap-fix (2012-09-02) 6 commits
407 - (merged to 'next' on 2012-09-11 at 4104358)
408 - + test-lib.sh: Suppress the "passed all ..." message if no tests run
409 - + test-lib.sh: Add check for invalid use of 'skip_all' facility
410 - + test-lib.sh: Fix some shell coding style violations
411 - + t4016-*.sh: Skip all tests rather than each test
412 - + t3902-*.sh: Skip all tests rather than each test
413 - + t3300-*.sh: Fix a TAP parse error
456 + Will merge to 'master' as part of the seventh batch.
457
415 -Will merge to 'master' as part of the sixth batch.
458
417 -* jc/maint-checkout-fileglob-doc (2012-09-10) 3 commits
418 - (merged to 'next' on 2012-09-11 at 929948d)
419 - + gitcli: contrast wildcard given to shell and to git
420 - + gitcli: formatting fix
421 - + Document file-glob for "git checkout -- '*.c'"
459 +* pw/p4-submit-conflicts (2012-09-10) 12 commits
460 + - git-p4: add submit --conflict option and config varaiable
461 + - git p4: add submit --prepare-p4-only option
462 + - git p4: add submit --dry-run option
463 + - git p4: accept -v for --verbose
464 + - git p4: revert deleted files after submit cancel
465 + - git p4: rearrange submit template construction
466 + - git p4: test clean-up after failed submit, fix added files
467 + - git p4: standardize submit cancel due to unchanged template
468 + - git p4: move conflict prompt into run, add [q]uit input
469 + - git p4: remove submit failure options [a]pply and [w]rite
470 + - git p4: gracefully fail if some commits could not be applied
471 + - git p4 test: remove bash-ism of combined export/assignment
472
423 -Updated with help from Peff.
473 + Waiting for comments.
474
425 -Will merge to 'master' as part of the sixth batch.
475
476 * jc/xprm-generation (2012-09-04) 1 commit
477 - test-generation: compute generation numbers and clock skews
478
430 -* rj/path-cleanup (2012-09-04) 5 commits
431 - (merged to 'next' on 2012-09-11 at 9e8da84)
432 - + Call mkpathdup() rather than xstrdup(mkpath(...))
433 - + Call git_pathdup() rather than xstrdup(git_path("..."))
434 - + path.c: Use vsnpath() in the implementation of git_path()
435 - + path.c: Don't discard the return value of vsnpath()
436 - + path.c: Remove the 'git_' prefix from a file scope function
437 -
438 -Will merge to 'master' as part of the sixth batch.
479
480 * rs/archive-zip-utf8 (2012-09-04) 1 commit
481 (merged to 'next' on 2012-09-11 at 3b1f071)
482 + archive-zip: support UTF-8 paths
483
444 -Need help from people on platforms on which Zip matters to see
445 -compatiblity with other people's zip implementations.
446 -
447 -Will merge to 'master' as part of the sixth batch.
448 -
449 -* nd/checkout-option-parsing-fix (2012-09-11) 3 commits
450 - (merged to 'next' on 2012-09-11 at 3d3ef13)
451 - + checkout: reorder option handling
452 - + checkout: move more parameters to struct checkout_opts
453 - + checkout: pass "struct checkout_opts *" as const pointer
454 -
455 -The option parsing of "git checkout" had error checking, dwim and
456 -defaulting missing options, all mixed in the code, and issuing an
457 -appropriate error message with useful context was getting harder.
458 -Reorganize the code and allow giving a proper diagnosis when the
459 -user says "git checkout -b -t foo bar" (e.g. "-t" is not a good name
460 -for a branch).
461 -
462 -Will merge to 'master' as part of the sixth batch.
463 -
464 -* js/compat-itimer (2012-09-08) 1 commit
465 - (merged to 'next' on 2012-09-11 at 1f6c3a9)
466 - + Add a no-op setitimer() wrapper
467 -
468 -Pieces to support compilation on __TANDEM.
469 -
470 -Will merge to 'master' as part of the sixth batch.
471 -
472 -* mh/fetch-filter-refs (2012-09-10) 14 commits
473 - - fetch-pack: eliminate spurious error messages
474 - - cmd_fetch_pack(): simplify computation of return value
475 - - fetch-pack: report missing refs even if no existing refs were received
476 - - cmd_fetch_pack(): return early if finish_connect() fails
477 - - filter_refs(): simplify logic
478 - - filter_refs(): build refs list as we go
479 - - filter_refs(): delete matched refs from sought list
480 - - fetch_pack(): update sought->nr to reflect number of unique entries
481 - - filter_refs(): do not check the same sought_pos twice
482 - - Change fetch_pack() and friends to take string_list arguments
483 - - fetch_pack(): reindent function decl and defn
484 - - Rename static function fetch_pack() to http_fetch_pack()
485 - - t5500: add tests of fetch-pack --all --depth=N $URL $REF
486 - - t5500: add tests of error output for missing refs
484 + Need help from people on platforms on which Zip matters to see
485 + compatiblity with other people's zip implementations.
486 +
487 + Will merge to 'master' as part of the sixth batch.
488 +
489 +
490 +* mh/fetch-filter-refs (2012-09-12) 14 commits
491 + (merged to 'next' on 2012-09-14 at 567afe4)
492 + + fetch-pack: eliminate spurious error messages
493 + + cmd_fetch_pack(): simplify computation of return value
494 + + fetch-pack: report missing refs even if no existing refs were received
495 + + cmd_fetch_pack(): return early if finish_connect() fails
496 + + filter_refs(): simplify logic
497 + + filter_refs(): build refs list as we go
498 + + filter_refs(): delete matched refs from sought list
499 + + fetch_pack(): update sought->nr to reflect number of unique entries
500 + + filter_refs(): do not check the same sought_pos twice
501 + + Change fetch_pack() and friends to take string_list arguments
502 + + fetch_pack(): reindent function decl and defn
503 + + Rename static function fetch_pack() to http_fetch_pack()
504 + + t5500: add tests of fetch-pack --all --depth=N $URL $REF
505 + + t5500: add tests of error output for missing refs
506 (this branch uses mh/string-list.)
507
489 -Code simplification and clarification.
508 + Code simplification and clarification.
509 +
510 + Will merge to 'master' as part of the seventh batch.
511
491 -Will merge to 'next'.
512
513 * jl/submodule-rm (2012-08-27) 1 commit
514 - Teach rm to remove submodules unless they contain a git directory
515
496 -"git rm submodule" cannot blindly remove a submodule directory as
497 -its working tree may have local changes, and worse yet, it may even
498 -have its repository embedded in it. Teach it some special cases
499 -where it is safe to remove a submodule, specifically, when there is
500 -no local changes in the submodule working tree, and its repository
501 -is not embedded in its working tree but is elsewhere and uses the
502 -gitfile mechanism to point at it.
516 + "git rm submodule" cannot blindly remove a submodule directory as
517 + its working tree may have local changes, and worse yet, it may even
518 + have its repository embedded in it. Teach it some special cases
519 + where it is safe to remove a submodule, specifically, when there is
520 + no local changes in the submodule working tree, and its repository
521 + is not embedded in its working tree but is elsewhere and uses the
522 + gitfile mechanism to point at it.
523 +
524 + Replacement sent but was still iffy around conflicted merge cases.
525
504 -Replacement sent but was still iffy around conflicted merge cases.
526
527 * fa/remote-svn (2012-08-28) 16 commits
528 - Add a test script for remote-svn
@@ -522,8 +543,9 @@ Replacement sent but was still iffy around conflicted merge cases.
543 - Implement a remote helper for svn in C
544 (this branch is used by fa/vcs-svn.)
545
525 -A GSoC project. Looked promising.
526 -Waiting for comments from mentors and stakeholders.
546 + A GSoC project. Looked promising.
547 + Waiting for comments from mentors and stakeholders.
548 +
549
550 * fa/vcs-svn (2012-08-28) 4 commits
551 - vcs-svn: remove repo_tree
@@ -532,13 +554,14 @@ Waiting for comments from mentors and stakeholders.
554 - svndump: move struct definitions to .h
555 (this branch uses fa/remote-svn.)
556
535 -A GSoC project. Looked promising.
536 -Waiting for comments from mentors and stakeholders.
557 + A GSoC project. Looked promising.
558 + Waiting for comments from mentors and stakeholders.
559 +
560
561 * jk/no-more-pre-exec-callback (2012-06-05) 1 commit
562 - pager: drop "wait for output to run less" hack
563
541 -(Originally merged to 'next' on 2012-07-23)
564 + (Originally merged to 'next' on 2012-07-23)
565
543 -Will defer until the end of the 2012.
544 -while waiting for older "less" to go extinct.
566 + Will defer until the end of the 2012.
567 + while waiting for older "less" to go extinct.