What's cooking (2015/08 #03)

Junio C Hamano committed Aug 17, 2015 at 15:24 UTC 5b81d5442affcf1cac45443a6e93063684999298
1 file changed +301 -453
whats-cooking.txt
+301 -453
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2015, #02; Wed, 12)
4 -X-master-at: 130be8eeb8b9b7c89751c3cab3bc54dc6f2d43e6
5 -X-next-at: dc45ae627aaa61b73b573b0f51469393f122b5f6
3 +Subject: What's cooking in git.git (Aug 2015, #03; Mon, 17)
4 +X-master-at: 44e02239f41177b6a7567e86db2cd18f7949d941
5 +X-next-at: ab17608326e73d8e92eba73c51dac99aa92984ba
6
7 -What's cooking in git.git (Aug 2015, #02; Wed, 12)
7 +What's cooking in git.git (Aug 2015, #03; Mon, 17)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -23,401 +23,107 @@ of the repositories listed at
23 --------------------------------------------------
24 [Graduated to "master"]
25
26 -* ad/bisect-cleanup (2015-08-03) 6 commits
27 - (merged to 'next' on 2015-08-03 at 13b9314)
28 - + bisect: don't mix option parsing and non-trivial code
29 - + bisect: simplify the addition of new bisect terms
30 - + bisect: replace hardcoded "bad|good" by variables
31 - + Documentation/bisect: revise overall content
32 - + Documentation/bisect: move getting help section to the end
33 - + bisect: correction of typo
34 - (this branch is used by ad/bisect-terms.)
35 -
36 - Originally merged to 'next' on 2015-07-09
37 -
38 - Code and documentation clean-up to "git bisect".
39 -
40 -
41 -* dt/reflog-tests (2015-07-28) 2 commits
42 - (merged to 'next' on 2015-08-03 at 9d2fa1a)
43 - + tests: remove some direct access to .git/logs
44 - + t/t7509: remove unnecessary manipulation of reflog
45 -
46 - Tests that assume how reflogs are represented on the filesystem too
47 - much have been corrected.
48 -
49 -
50 -* dt/unpack-trees-cache-tree-revalidate (2015-07-28) 1 commit
51 - (merged to 'next' on 2015-08-03 at 5b0d620)
52 - + unpack-trees: populate cache-tree on successful merge
53 -
54 - The code to perform multi-tree merges has been taught to repopulate
55 - the cache-tree upon a successful merge into the index, so that
56 - subsequent "diff-index --cached" (hence "status") and "write-tree"
57 - (hence "commit") will go faster.
58 -
59 - The same logic in "git checkout" may now be removed, but that is a
60 - separate issue.
61 -
62 -
63 -* es/worktree-add (2015-07-20) 5 commits
64 - (merged to 'next' on 2015-08-03 at 9771a44)
65 - + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire"
66 - + Documentation/git-worktree: wordsmith worktree-related manpages
67 - + Documentation/config: fix stale "git prune --worktree" reference
68 - + Documentation/git-worktree: fix incorrect reference to file "locked"
69 - + Documentation/git-worktree: consistently use term "linked working tree"
70 - (this branch is used by dt/notes-multiple and es/worktree-add-cleanup.)
71 -
72 - Originally merged to 'next' on 2015-07-20
73 -
74 - Remove remaining cruft from "git checkout --to", which
75 - transitioned to "git worktree add".
76 -
77 -
78 -* es/worktree-add-cleanup (2015-08-05) 25 commits
79 - (merged to 'next' on 2015-08-12 at 9168b42)
80 - + Documentation/git-worktree: fix duplicated 'from'
81 - + Documentation/config: mention "now" and "never" for 'expire' settings
82 - + Documentation/git-worktree: fix broken 'linkgit' invocation
83 - + checkout: drop intimate knowledge of newly created worktree
84 - + worktree: populate via "git reset --hard" rather than "git checkout"
85 - + worktree: avoid resolving HEAD unnecessarily
86 - + worktree: make setup of new HEAD distinct from worktree population
87 - + worktree: detect branch-name/detached and error conditions locally
88 - + worktree: add_worktree: construct worktree-population command locally
89 - + worktree: elucidate environment variables intended for child processes
90 - + worktree: make branch creation distinct from worktree population
91 - + worktree: add: suppress auto-vivication with --detach and no <branch>
92 - + worktree: make --detach mutually exclusive with -b/-B
93 - + worktree: introduce options container
94 - + worktree: simplify new branch (-b/-B) option checking
95 - + worktree: improve worktree setup message
96 - + branch: publish die_if_checked_out()
97 - + checkout: teach check_linked_checkout() about symbolic link HEAD
98 - + checkout: check_linked_checkout: simplify symref parsing
99 - + checkout: check_linked_checkout: improve "already checked out" aesthetic
100 - + checkout: generalize die_if_checked_out() branch name argument
101 - + checkout: die_if_checked_out: simplify strbuf management
102 - + checkout: improve die_if_checked_out() robustness
103 - + checkout: name check_linked_checkouts() more meaningfully
104 - + checkout: avoid resolving HEAD unnecessarily
105 - (this branch is used by dt/notes-multiple; uses es/worktree-add.)
106 -
107 - Originally merged to 'next' on 2015-07-29
108 -
109 - The "new-worktree-mode" hack in "checkout" that was added in
110 - nd/multiple-work-trees topic has been removed by updating the
111 - implementation of new "worktree add".
112 -
113 -
114 -* pt/am-builtin (2015-08-04) 46 commits
115 - (merged to 'next' on 2015-08-12 at 10d0c56)
116 - + git-am: add am.threeWay config variable
117 - + builtin-am: remove redirection to git-am.sh
118 - + builtin-am: check for valid committer ident
119 - + builtin-am: implement legacy -b/--binary option
120 - + builtin-am: implement -i/--interactive
121 - + builtin-am: support and auto-detect mercurial patches
122 - + builtin-am: support and auto-detect StGit series files
123 - + builtin-am: support and auto-detect StGit patches
124 - + builtin-am: rerere support
125 - + builtin-am: invoke post-applypatch hook
126 - + builtin-am: invoke pre-applypatch hook
127 - + builtin-am: invoke applypatch-msg hook
128 - + builtin-am: support automatic notes copying
129 - + builtin-am: invoke post-rewrite hook
130 - + builtin-am: implement -S/--gpg-sign, commit.gpgsign
131 - + builtin-am: implement --committer-date-is-author-date
132 - + builtin-am: implement --ignore-date
133 - + builtin-am: pass git-apply's options to git-apply
134 - + builtin-am: implement --[no-]scissors
135 - + builtin-am: support --keep-cr, am.keepcr
136 - + builtin-am: implement --[no-]message-id, am.messageid
137 - + builtin-am: implement -k/--keep, --keep-non-patch
138 - + builtin-am: implement -u/--utf8
139 - + builtin-am: handle stray state directory
140 - + builtin-am: bypass git-mailinfo when --rebasing
141 - + builtin-am: implement --rebasing mode
142 - + builtin-am: implement --3way
143 - + cache-tree: introduce write_index_as_tree()
144 - + builtin-am: implement -s/--signoff
145 - + builtin-am: exit with user friendly message on failure
146 - + builtin-am: implement -q/--quiet
147 - + builtin-am: reject patches when there's a session in progress
148 - + builtin-am: implement --abort
149 - + builtin-am: implement --skip
150 - + builtin-am: don't parse mail when resuming
151 - + builtin-am: implement --resolved/--continue
152 - + builtin-am: refuse to apply patches if index is dirty
153 - + builtin-am: implement committing applied patch
154 - + builtin-am: apply patch with git-apply
155 - + builtin-am: extract patch and commit info with git-mailinfo
156 - + builtin-am: auto-detect mbox patches
157 - + builtin-am: split out mbox/maildir patches with git-mailsplit
158 - + builtin-am: implement patch queue mechanism
159 - + builtin-am: implement skeletal builtin am
160 - + wrapper: implement xfopen()
161 - + wrapper: implement xopen()
162 - (this branch is used by pt/am-builtin-options.)
163 -
164 - Originally merged to 'next' on 2015-07-23
165 -
166 - Rewrite "am" in "C".
167 -
168 -
169 -* sb/parse-options-codeformat (2015-07-29) 1 commit
170 - (merged to 'next' on 2015-08-03 at f81993b)
171 - + parse-options: align curly braces for all options
172 -
173 -
174 -* sb/remove-unused-var-from-builtin-add (2015-07-31) 1 commit
175 - (merged to 'next' on 2015-08-03 at f5e568e)
176 - + add: remove dead code
177 -
178 ---------------------------------------------------
179 -[New Topics]
180 -
181 -* bb/remote-get-url (2015-08-05) 1 commit
182 - - remote: add get-url subcommand
183 -
184 - "git remote" learned "get-url" subcommand to show the URL for a
185 - given remote name used for fetching and pushing.
186 -
187 - Waiting for a reroll.
188 - ($gmane/275401)
189 -
190 -
191 -* cb/open-noatime-clear-errno (2015-08-12) 1 commit
192 - - git_open_noatime: return with errno=0 on success
193 -
194 - When trying to see that an object does not exist, a state errno
195 - leaked from our "first try to open a packfile with O_NOATIME and
196 - then if it fails retry without it" logic on a system that refuses
197 - O_NOATIME. This confused us and caused us to die, saying that the
198 - packfile is unreadable, when we should have just reported that the
199 - object does not exist in that packfile to the caller.
200 -
201 - Will merge to 'next'.
202 -
203 -
204 -* jk/guess-repo-name-regression-fix (2015-08-10) 2 commits
205 - (merged to 'next' on 2015-08-12 at 4cba33c)
206 - + clone: use computed length in guess_dir_name
207 - + clone: add tests for output directory
208 - (this branch is used by ps/guess-repo-name-at-root.)
209 -
210 - "git clone $URL" in recent releases of Git contains a regression in
211 - the code that invents a new repository name incorrectly based on
212 - the $URL. This has been corrected.
213 -
214 - Will merge to 'master'.
215 -
216 -
217 -* ps/guess-repo-name-at-root (2015-08-10) 3 commits
218 - (merged to 'next' on 2015-08-12 at 088860f)
219 - + clone: abort if no dir name could be guessed
220 - + clone: do not use port number as dir name
221 - + clone: do not include authentication data in guessed dir
222 - (this branch uses jk/guess-repo-name-regression-fix.)
223 -
224 - "git clone $URL", when cloning from a site whose sole purpose is to
225 - host a single repository (hence, no path after <scheme>://<site>/),
226 - tried to use the site name as the new repository name, but did not
227 - remove username or password when <site> part was of the form
228 - <user>@<pass>:<host>. The code is taught to redact these.
229 -
230 - Will merge to 'master'.
231 -
232 -
233 -* jk/notes-merge-config (2015-08-05) 4 commits
234 - - SQUASH???
235 - - notes: add notes.merge option to select default strategy
236 - - notes: add tests for --commit/--abort/--strategy exclusivity
237 - - notes: document cat_sort_uniq rewriteMode
238 -
239 - "git notes merge" can be told with "--strategy=<how>" option how to
240 - automatically handle conflicts; this can now be configured by
241 - setting notes.merge configuration variable.
242 -
243 - The last step to add more specific notes.$ref.merge looked
244 - questionable. What is queued is v3, v4 exists, but needs an
245 - update.
246 -
247 - Waiting for a reroll.
248 - ($gmane/275749)
249 -
250 -
251 -* mk/submodule-gitdir-path (2015-08-05) 2 commits
252 - - path: implement common_dir handling in git_path_submodule()
253 - - submodule refactor: use git_path_submodule() in add_submodule_odb()
254 -
255 - The submodule code has been taught to work better with separate
256 - work trees created via "git worktree add".
257 -
258 - Waiting for a review.
259 - ($gmane/275340).
260 -
261 -
262 -* mm/pull-upload-pack (2015-07-30) 1 commit
263 - (merged to 'next' on 2015-08-12 at 14d2a52)
264 - + pull.sh: quote $upload_pack when passing it to git-fetch
265 -
266 - "git pull" in recent releases of Git has a regression in the code
267 - that allows custom path to the --upload-pack=<program>. This has
268 - been corrected.
26 +* dt/untracked-sparse (2015-07-31) 1 commit
27 + (merged to 'next' on 2015-08-12 at 234434d)
28 + + untracked-cache: support sparse checkout
29 + (this branch is used by dt/untracked-subdir.)
30
270 - Will merge to 'maint'.
31 + Allow untracked cache (experimental) to be used when sparse
32 + checkout (experimental) is also in use.
33
272 - Note that this is irrelevant for 'master' with "git pull" rewritten
273 - in C.
34
35 +* kd/pull-rebase-autostash (2015-07-22) 1 commit
36 + (merged to 'next' on 2015-08-12 at de88e8e)
37 + + pull: allow dirty tree when rebase.autostash enabled
38
276 -* ps/t1509-chroot-test-fixup (2015-08-05) 2 commits
277 - (merged to 'next' on 2015-08-12 at 6d10ea5)
278 - + tests: fix cleanup after tests in t1509-root-worktree
279 - + tests: fix broken && chains in t1509-root-worktree
39 + "git pull --rebase" has been taught to pay attention to
40 + rebase.autostash configuration.
41
281 - t1509 test that requires a dedicated VM environment had some
282 - bitrot, which has been corrected.
42
284 - Will merge to 'master'.
43 +* mh/get-remote-group-fix (2015-07-28) 4 commits
44 + (merged to 'next' on 2015-08-12 at b77820e)
45 + + get_remote_group(): use skip_prefix()
46 + + get_remote_group(): eliminate superfluous call to strcspn()
47 + + get_remote_group(): rename local variable "space" to "wordlen"
48 + + get_remote_group(): handle remotes with single-character names
49
50 + An off-by-one error made "git remote" to mishandle a remote with a
51 + single letter nickname.
52
287 -* pt/am-builtin-options (2015-08-12) 3 commits
288 - (merged to 'next' on 2015-08-12 at e57f754)
289 - + am: let --signoff override --no-signoff
290 - + am: let command-line options override saved options
291 - + test_terminal: redirect child process' stdin to a pty
53
293 - After "git am --opt1" stops, running "git am --opt2" pays attention
294 - to "--opt2" only for the patch that caused the original invocation
295 - to stop.
54 +* ta/docfix-index-format-tech (2015-07-28) 1 commit
55 + (merged to 'next' on 2015-08-12 at 662d88a)
56 + + typofix for index-format.txt
57
297 - Will merge to 'master'.
58 +--------------------------------------------------
59 +[New Topics]
60
61 +* db/push-sign-if-asked (2015-08-17) 7 commits
62 + - DONTMERGE: dropped bits to add config; needs tests
63 + - push: support signed pushes iff the server supports it
64 + - transport: remove git_transport_options.push_cert
65 + - gitremote-helpers.txt: document pushcert option
66 + - Documentation/git-send-pack.txt: document --signed
67 + - Documentation/git-send-pack.txt: wrap long synopsis line
68 + - Documentation/git-push.txt: document when --signed may fail
69
300 -* sb/remove-get-pathspec (2015-08-03) 1 commit
301 - - builtin/mv: remove get_pathspec()
70 + The client side codepaths in "git push" have been cleaned up
71 + and the user can request to perform an optional "signed push",
72 + i.e. sign only when the other end accepts signed push.
73
74 Expecting a reroll.
304 - ($gmane/275224)
305 -
306 -
307 -* sb/submodule-helper (2015-08-07) 1 commit
308 - - submodule: implement `module_list` as a builtin helper
309 -
310 - The beginning of "git submodule" rewritten in C.
311 -
312 -
313 -* tb/complete-rebase-i-edit-todo (2015-08-05) 1 commit
314 - (merged to 'next' on 2015-08-12 at 9606c21)
315 - + completion: offer '--edit-todo' during interactive rebase
316 -
317 - The command-line completion script (in contrib/) has been updated.
318 -
319 - Will merge to 'master'.
320 -
321 -
322 -* dt/untracked-subdir (2015-08-07) 2 commits
323 - - DONTMERGE: wait for Duy to Ack or comment
324 - - untracked-cache: fix subdirectory handling
325 - (this branch uses dt/untracked-sparse.)
326 -
327 - Waiting for a review.
75
76
330 -* jk/test-with-x (2015-08-07) 2 commits
331 - (merged to 'next' on 2015-08-12 at 06576a1)
332 - + test-lib: disable trace when test is not verbose
333 - + test-lib: turn off "-x" tracing during chain-lint check
77 +* dk/gc-idx-wo-pack (2015-08-17) 3 commits
78 + - DONTMERGE: log message, grace-period and tests $gmane/276058
79 + - gc: remove stale .idx files without corresponding .pack file
80 + - prepare_packed_git(): refactor garbage reporting in pack directory
81
335 - Running tests with the "-x" option to make them verbose had some
336 - unpleasant interactions with other features of the test suite.
82 + Having a leftover .idx file without correspoinding .pack file in
83 + the repository hurts performance; "git gc" learned to prune them.
84
338 - Will merge to 'master'.
339 -
340 -
341 -* ad/cygwin-wants-rename (2015-08-07) 1 commit
342 - - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
343 -
344 - Will hold.
345 - ($gmane/275680).
346 -
347 -
348 -* bc/connect-plink (2015-08-11) 1 commit
349 - - t5601-clone: remove broken and pointless check for plink.exe
350 -
351 - Test updates for Windows.
352 -
353 - Seems controversial.
354 - Will hold.
355 - for now ($gmane/275758).
356 -
357 -
358 -* ee/clean-remove-dirs (2015-08-11) 1 commit
359 - (merged to 'next' on 2015-08-12 at fc41b09)
360 - + t7300-clean: require POSIXPERM for chmod 0 test
85 + Expecting a reroll.
86
362 - Test updates for Windows.
87
364 - Will merge to 'master'.
88 +* ep/http-configure-ssl-version (2015-08-17) 1 commit
89 + - http: add support for specifying the SSL version
90
91 + A new configuration variable http.sslVersion can be used to specify
92 + what specific version of SSL/TLS to use to make a connection.
93
367 -* jc/finalize-temp-file (2015-08-10) 1 commit
368 - (merged to 'next' on 2015-08-12 at 6fe62fe)
369 - + sha1_file.c: rename move_temp_to_file() to finalize_object_file()
94 + Will merge to 'next'.
95
371 - Long overdue micro clean-up.
96
373 - Will merge to 'master'.
97 +* jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
98 + - send-email: provide whitelist of SMTP AUTH mechanisms
99
100 + "git send-email" learned a new option --smtp-auth to limit the SMTP
101 + AUTH mechanisms to be used to a subset of what the system library
102 + supports.
103
376 -* jk/git-path (2015-08-10) 16 commits
377 - (merged to 'next' on 2015-08-12 at 7ebe864)
378 - + memoize common git-path "constant" files
379 - + get_repo_path: refactor path-allocation
380 - + find_hook: keep our own static buffer
381 - + refs.c: remove_empty_directories can take a strbuf
382 - + refs.c: avoid git_path assignment in lock_ref_sha1_basic
383 - + refs.c: avoid repeated git_path calls in rename_tmp_log
384 - + refs.c: simplify strbufs in reflog setup and writing
385 - + path.c: drop git_path_submodule
386 - + refs.c: remove extra git_path calls from read_loose_refs
387 - + remote.c: drop extraneous local variable from migrate_file
388 - + prefer mkpathdup to mkpath in assignments
389 - + prefer git_pathdup to git_path in some possibly-dangerous cases
390 - + add_to_alternates_file: don't add duplicate entries
391 - + t5700: modernize style
392 - + cache.h: complete set of git_path_submodule helpers
393 - + cache.h: clarify documentation for git_path, et al
104 + Will merge to 'next'.
105
395 - git_path() and mkpath() are handy helper functions but it is easy
396 - to misuse, as the callers need to be careful to keep the number of
397 - active results below 4. Their uses have been reduced.
106
399 - Will merge to 'master'.
107 +* po/po-readme (2015-08-17) 1 commit
108 + - po/README: Update directions for l10n contributors
109
110 + Will merge to 'next'.
111
402 -* jk/long-error-messages (2015-08-11) 2 commits
403 - (merged to 'next' on 2015-08-12 at 36303cd)
404 - + vreportf: avoid intermediate buffer
405 - + vreportf: report to arbitrary filehandles
112
407 - The codepath to produce error messages had a hard-coded limit to
408 - the size of the message, primarily to avoid memory allocation while
409 - calling die().
113 +* pt/am-builtin-abort-fix (2015-08-17) 1 commit
114 + - am --abort: merge ORIG_HEAD tree into index
115
411 - Will merge to 'master'.
116 + "git am" that has recently reimplemented in C had a performance
117 + regression in "git am --abort" that goes back to the version before
118 + an attempted (and failed) patch application.
119
120 + Will merge to 'next'.
121
414 -* nd/dwim-wildcards-as-pathspecs (2015-08-11) 1 commit
415 - (merged to 'next' on 2015-08-12 at bb73f4d)
416 - + t2019: skip test requiring '*' in a file name non Windows
122
418 - Test updates for Windows.
123 +* ss/fix-config-fd-leak (2015-08-14) 1 commit
124 + - config: close config file handle in case of error
125
420 - Will merge to 'master'.
126 + Will merge to 'next'.
127
128 --------------------------------------------------
129 [Stalled]
@@ -679,6 +385,236 @@ of the repositories listed at
385 --------------------------------------------------
386 [Cooking]
387
388 +* bb/remote-get-url (2015-08-05) 1 commit
389 + - remote: add get-url subcommand
390 +
391 + "git remote" learned "get-url" subcommand to show the URL for a
392 + given remote name used for fetching and pushing.
393 +
394 + Waiting for a reroll.
395 + ($gmane/275401)
396 +
397 +
398 +* cb/open-noatime-clear-errno (2015-08-12) 1 commit
399 + (merged to 'next' on 2015-08-17 at 6aa43a1)
400 + + git_open_noatime: return with errno=0 on success
401 +
402 + When trying to see that an object does not exist, a state errno
403 + leaked from our "first try to open a packfile with O_NOATIME and
404 + then if it fails retry without it" logic on a system that refuses
405 + O_NOATIME. This confused us and caused us to die, saying that the
406 + packfile is unreadable, when we should have just reported that the
407 + object does not exist in that packfile to the caller.
408 +
409 + Will merge to 'master'.
410 +
411 +
412 +* jk/guess-repo-name-regression-fix (2015-08-10) 2 commits
413 + (merged to 'next' on 2015-08-12 at 4cba33c)
414 + + clone: use computed length in guess_dir_name
415 + + clone: add tests for output directory
416 + (this branch is used by ps/guess-repo-name-at-root.)
417 +
418 + "git clone $URL" in recent releases of Git contains a regression in
419 + the code that invents a new repository name incorrectly based on
420 + the $URL. This has been corrected.
421 +
422 + Will merge to 'master'.
423 +
424 +
425 +* ps/guess-repo-name-at-root (2015-08-10) 3 commits
426 + (merged to 'next' on 2015-08-12 at 088860f)
427 + + clone: abort if no dir name could be guessed
428 + + clone: do not use port number as dir name
429 + + clone: do not include authentication data in guessed dir
430 + (this branch uses jk/guess-repo-name-regression-fix.)
431 +
432 + "git clone $URL", when cloning from a site whose sole purpose is to
433 + host a single repository (hence, no path after <scheme>://<site>/),
434 + tried to use the site name as the new repository name, but did not
435 + remove username or password when <site> part was of the form
436 + <user>@<pass>:<host>. The code is taught to redact these.
437 +
438 + Will merge to 'master'.
439 +
440 +
441 +* jk/notes-merge-config (2015-08-14) 4 commits
442 + - notes: teach git-notes about notes.<ref>.mergestrategy option
443 + - notes: add notes.mergestrategy option to select default strategy
444 + - notes: add tests for --commit/--abort/--strategy exclusivity
445 + - notes: document cat_sort_uniq rewriteMode
446 +
447 + "git notes merge" can be told with "--strategy=<how>" option how to
448 + automatically handle conflicts; this can now be configured by
449 + setting notes.merge configuration variable.
450 +
451 + The latest reroll (v8) hasn't been picked up.
452 + Expecting a reroll.
453 + ($gmane/276068)
454 +
455 +
456 +* mk/submodule-gitdir-path (2015-08-05) 2 commits
457 + - path: implement common_dir handling in git_path_submodule()
458 + - submodule refactor: use git_path_submodule() in add_submodule_odb()
459 +
460 + The submodule code has been taught to work better with separate
461 + work trees created via "git worktree add".
462 +
463 + Waiting for a review.
464 + ($gmane/275340).
465 +
466 +
467 +* mm/pull-upload-pack (2015-07-30) 1 commit
468 + (merged to 'next' on 2015-08-12 at 14d2a52)
469 + + pull.sh: quote $upload_pack when passing it to git-fetch
470 +
471 + "git pull" in recent releases of Git has a regression in the code
472 + that allows custom path to the --upload-pack=<program>. This has
473 + been corrected.
474 +
475 + Will merge to 'maint'.
476 +
477 + Note that this is irrelevant for 'master' with "git pull" rewritten
478 + in C.
479 +
480 +
481 +* ps/t1509-chroot-test-fixup (2015-08-05) 2 commits
482 + (merged to 'next' on 2015-08-12 at 6d10ea5)
483 + + tests: fix cleanup after tests in t1509-root-worktree
484 + + tests: fix broken && chains in t1509-root-worktree
485 +
486 + t1509 test that requires a dedicated VM environment had some
487 + bitrot, which has been corrected.
488 +
489 + Will merge to 'master'.
490 +
491 +
492 +* pt/am-builtin-options (2015-08-12) 3 commits
493 + (merged to 'next' on 2015-08-12 at e57f754)
494 + + am: let --signoff override --no-signoff
495 + + am: let command-line options override saved options
496 + + test_terminal: redirect child process' stdin to a pty
497 +
498 + After "git am --opt1" stops, running "git am --opt2" pays attention
499 + to "--opt2" only for the patch that caused the original invocation
500 + to stop.
501 +
502 + Will merge to 'master'.
503 +
504 +
505 +* sb/remove-get-pathspec (2015-08-03) 1 commit
506 + - builtin/mv: remove get_pathspec()
507 +
508 + Expecting a reroll.
509 + ($gmane/275224)
510 +
511 +
512 +* sb/submodule-helper (2015-08-07) 1 commit
513 + - submodule: implement `module_list` as a builtin helper
514 +
515 + The beginning of "git submodule" rewritten in C.
516 +
517 +
518 +* tb/complete-rebase-i-edit-todo (2015-08-05) 1 commit
519 + (merged to 'next' on 2015-08-12 at 9606c21)
520 + + completion: offer '--edit-todo' during interactive rebase
521 +
522 + The command-line completion script (in contrib/) has been updated.
523 +
524 + Will merge to 'master'.
525 +
526 +
527 +* dt/untracked-subdir (2015-08-07) 2 commits
528 + - DONTMERGE: wait for Duy to Ack or comment
529 + - untracked-cache: fix subdirectory handling
530 +
531 + Waiting for a review cycle to conclude.
532 + ($gmane/276019).
533 +
534 +
535 +* jk/test-with-x (2015-08-07) 2 commits
536 + (merged to 'next' on 2015-08-12 at 06576a1)
537 + + test-lib: disable trace when test is not verbose
538 + + test-lib: turn off "-x" tracing during chain-lint check
539 +
540 + Running tests with the "-x" option to make them verbose had some
541 + unpleasant interactions with other features of the test suite.
542 +
543 + Will merge to 'master'.
544 +
545 +
546 +* ad/cygwin-wants-rename (2015-08-07) 1 commit
547 + - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
548 +
549 + Will hold.
550 + ($gmane/275680).
551 +
552 +
553 +* ee/clean-remove-dirs (2015-08-11) 1 commit
554 + (merged to 'next' on 2015-08-12 at fc41b09)
555 + + t7300-clean: require POSIXPERM for chmod 0 test
556 +
557 + Test updates for Windows.
558 +
559 + Will merge to 'master'.
560 +
561 +
562 +* jc/finalize-temp-file (2015-08-10) 1 commit
563 + (merged to 'next' on 2015-08-12 at 6fe62fe)
564 + + sha1_file.c: rename move_temp_to_file() to finalize_object_file()
565 +
566 + Long overdue micro clean-up.
567 +
568 + Will merge to 'master'.
569 +
570 +
571 +* jk/git-path (2015-08-10) 16 commits
572 + (merged to 'next' on 2015-08-12 at 7ebe864)
573 + + memoize common git-path "constant" files
574 + + get_repo_path: refactor path-allocation
575 + + find_hook: keep our own static buffer
576 + + refs.c: remove_empty_directories can take a strbuf
577 + + refs.c: avoid git_path assignment in lock_ref_sha1_basic
578 + + refs.c: avoid repeated git_path calls in rename_tmp_log
579 + + refs.c: simplify strbufs in reflog setup and writing
580 + + path.c: drop git_path_submodule
581 + + refs.c: remove extra git_path calls from read_loose_refs
582 + + remote.c: drop extraneous local variable from migrate_file
583 + + prefer mkpathdup to mkpath in assignments
584 + + prefer git_pathdup to git_path in some possibly-dangerous cases
585 + + add_to_alternates_file: don't add duplicate entries
586 + + t5700: modernize style
587 + + cache.h: complete set of git_path_submodule helpers
588 + + cache.h: clarify documentation for git_path, et al
589 +
590 + git_path() and mkpath() are handy helper functions but it is easy
591 + to misuse, as the callers need to be careful to keep the number of
592 + active results below 4. Their uses have been reduced.
593 +
594 + Will merge to 'master'.
595 +
596 +
597 +* jk/long-error-messages (2015-08-11) 2 commits
598 + (merged to 'next' on 2015-08-12 at 36303cd)
599 + + vreportf: avoid intermediate buffer
600 + + vreportf: report to arbitrary filehandles
601 +
602 + The codepath to produce error messages had a hard-coded limit to
603 + the size of the message, primarily to avoid memory allocation while
604 + calling die().
605 +
606 + Will merge to 'master'.
607 +
608 +
609 +* nd/dwim-wildcards-as-pathspecs (2015-08-11) 1 commit
610 + (merged to 'next' on 2015-08-12 at bb73f4d)
611 + + t2019: skip test requiring '*' in a file name non Windows
612 +
613 + Test updates for Windows.
614 +
615 + Will merge to 'master'.
616 +
617 +
618 * sg/config-name-only (2015-08-10) 2 commits
619 (merged to 'next' on 2015-08-12 at c658fe4)
620 + completion: list variable names reliably with 'git config --name-only'
@@ -742,26 +678,6 @@ of the repositories listed at
678 Will merge to 'master'.
679
680
745 -* mh/get-remote-group-fix (2015-07-28) 4 commits
746 - (merged to 'next' on 2015-08-12 at b77820e)
747 - + get_remote_group(): use skip_prefix()
748 - + get_remote_group(): eliminate superfluous call to strcspn()
749 - + get_remote_group(): rename local variable "space" to "wordlen"
750 - + get_remote_group(): handle remotes with single-character names
751 -
752 - An off-by-one error made "git remote" to mishandle a remote with a
753 - single letter nickname.
754 -
755 - Will merge to 'master'.
756 -
757 -
758 -* ta/docfix-index-format-tech (2015-07-28) 1 commit
759 - (merged to 'next' on 2015-08-12 at 662d88a)
760 - + typofix for index-format.txt
761 -
762 - Will merge to 'master'.
763 -
764 -
681 * dt/notes-multiple (2015-08-11) 2 commits
682 (merged to 'next' on 2015-08-12 at 0052055)
683 + notes: handle multiple worktrees
@@ -792,27 +708,6 @@ of the repositories listed at
708 Will merge to 'master'.
709
710
795 -* dt/untracked-sparse (2015-07-31) 1 commit
796 - (merged to 'next' on 2015-08-12 at 234434d)
797 - + untracked-cache: support sparse checkout
798 - (this branch is used by dt/untracked-subdir.)
799 -
800 - Allow untracked cache (experimental) to be used when sparse
801 - checkout (experimental) is also in use.
802 -
803 - Will merge to 'master'.
804 -
805 -
806 -* kd/pull-rebase-autostash (2015-07-22) 1 commit
807 - (merged to 'next' on 2015-08-12 at de88e8e)
808 - + pull: allow dirty tree when rebase.autostash enabled
809 -
810 - "git pull --rebase" has been taught to pay attention to
811 - rebase.autostash configuration.
812 -
813 - Will merge to 'master'.
814 -
815 -
711 * kn/for-each-tag-branch (2015-08-03) 11 commits
712 (merged to 'next' on 2015-08-03 at d9e94b9)
713 + for-each-ref: add '--contains' option
@@ -835,7 +730,7 @@ of the repositories listed at
730 series or two.
731
732
838 -* jc/rerere (2015-07-30) 21 commits
733 +* jc/rerere (2015-07-24) 21 commits
734 - rerere: un-nest merge() further
735 - rerere: use "struct rerere_id" instead of "char *" for conflict ID
736 - rerere: call conflict-ids IDs
@@ -862,7 +757,7 @@ of the repositories listed at
757 Code clean-up and minor fixes (so far).
758
759
865 -* jc/rerere-multi (2015-07-31) 7 commits
760 +* jc/rerere-multi (2015-07-30) 7 commits
761 . t4200: rerere a merge with two identical conflicts
762 . WIP
763 . rerere: allow multiple variants to exist
@@ -885,50 +780,3 @@ of the repositories listed at
780 has been deprecated since October 2007.
781
782 Will keep in 'next' during the 2.6 cycle.
888 -
889 ---------------------------------------------------
890 -[Discarded]
891 -
892 -* tf/gitweb-project-listing (2015-03-19) 4 commits
893 - - gitweb: make category headings into links when they are directories
894 - - gitweb: optionally set project category from its pathname
895 - - gitweb: add a link under the search box to clear a project filter
896 - - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
897 -
898 - Update gitweb to make it more pleasant to deal with a hierarchical
899 - forest of repositories.
900 -
901 - A fresh restart will not be rejected, but ejected from my tree for
902 - now.
903 -
904 -
905 -* jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
906 - - "-" and "@{-1}" on various programs
907 -
908 - Lose special case code to make a lone dash "-" mean the previous
909 - branch aka "@{-1}" from a handful subcommands, and instead support
910 - the notation throughout the system by reimplementing it at the
911 - revisions layer.
912 -
913 - Needs tests, documentation updates, etc. Also does only a half-way
914 - job dealing with range notation, which needs to be fixed before the
915 - series goes anywhere.
916 -
917 -
918 -* jc/push-tags-also (2015-05-29) 1 commit
919 - - push --tags: push tags *in addition to* other stuff
920 -
921 - "git fetch --tags" learned to fetch tags in addition to other stuff
922 - a few years ago, but "git push --tags" didn't. Now it does.
923 -
924 - A change to push out more than before always invites "what if the
925 - user makes a mistake" worries.
926 -
927 - Will discard.
928 -
929 -
930 -* nd/pathspec-strip-fix (2015-04-18) 1 commit
931 - - pathspec: adjust prefixlen after striping trailing slash
932 -
933 - Does not quite fix ($gmane/267614).
934 - Will discard.