What's cooking (2015/08 #05)

Junio C Hamano committed Aug 28, 2015 at 14:04 UTC 517a1bb65de527fafbb82e9b582a4f551590c348
1 file changed +276 -410
whats-cooking.txt
+276 -410
@@ -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, #04; Tue, 25)
4 -X-master-at: 33f2c4ff7b9ac02cd9010d504e847b912b35baf6
5 -X-next-at: f2c83a76d16e5fd4c4f2e37c6ad65b3ba13dc31e
3 +Subject: What's cooking in git.git (Aug 2015, #05; Fri, 28)
4 +X-master-at: aecce6d0eff68a7144e32247d2e02d9974772ab1
5 +X-next-at: bcd55f746af0c6584187e548b53df1562e68a14d
6
7 -What's cooking in git.git (Aug 2015, #04; Tue, 25)
7 +What's cooking in git.git (Aug 2015, #05; Fri, 28)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -19,393 +19,196 @@ of the repositories listed at
19 --------------------------------------------------
20 [Graduated to "master"]
21
22 -* cb/open-noatime-clear-errno (2015-08-12) 1 commit
23 - (merged to 'next' on 2015-08-17 at 6aa43a1)
24 - + git_open_noatime: return with errno=0 on success
25 -
26 - When trying to see that an object does not exist, a state errno
27 - leaked from our "first try to open a packfile with O_NOATIME and
28 - then if it fails retry without it" logic on a system that refuses
29 - O_NOATIME. This confused us and caused us to die, saying that the
30 - packfile is unreadable, when we should have just reported that the
31 - object does not exist in that packfile to the caller.
32 -
33 -
34 -* dt/notes-multiple (2015-08-11) 2 commits
35 - (merged to 'next' on 2015-08-12 at 0052055)
36 - + notes: handle multiple worktrees
37 - + worktrees: add find_shared_symref
38 -
39 - When linked worktree is used, simultaneous "notes merge" instances
40 - for the same ref in refs/notes/* are prevented from stomping on
41 - each other.
42 -
43 -
44 -* dt/refs-pseudo (2015-08-11) 6 commits
45 - (merged to 'next' on 2015-08-12 at 7078eb6)
46 - + pseudoref: check return values from read_ref()
47 - (merged to 'next' on 2015-08-03 at 3eafd33)
48 - + sequencer: replace write_cherry_pick_head with update_ref
49 - + bisect: use update_ref
50 - + pseudorefs: create and use pseudoref update and delete functions
51 - + refs: add ref_type function
52 - + refs: introduce pseudoref and per-worktree ref concepts
53 -
54 - To prepare for allowing a different "ref" backend to be plugged in
55 - to the system, update_ref()/delete_ref() have been taught about
56 - ref-like things like MERGE_HEAD that are per-worktree (they will
57 - always be written to the filesystem inside $GIT_DIR).
58 -
59 -
60 -* ee/clean-remove-dirs (2015-08-11) 1 commit
61 - (merged to 'next' on 2015-08-12 at fc41b09)
62 - + t7300-clean: require POSIXPERM for chmod 0 test
63 -
64 - Test updates for Windows.
65 -
66 -
67 -* jc/finalize-temp-file (2015-08-10) 1 commit
68 - (merged to 'next' on 2015-08-12 at 6fe62fe)
69 - + sha1_file.c: rename move_temp_to_file() to finalize_object_file()
70 -
71 - Long overdue micro clean-up.
72 -
73 -
74 -* jh/strbuf-read-use-read-in-full (2015-08-10) 1 commit
75 - (merged to 'next' on 2015-08-12 at db16247)
76 - + strbuf_read(): skip unnecessary strbuf_grow() at eof
77 -
78 - strbuf_read() used to have one extra iteration (and an unnecessary
79 - strbuf_grow() of 8kB), which was eliminated.
80 -
81 -
82 -* jk/git-path (2015-08-10) 16 commits
83 - (merged to 'next' on 2015-08-12 at 7ebe864)
84 - + memoize common git-path "constant" files
85 - + get_repo_path: refactor path-allocation
86 - + find_hook: keep our own static buffer
87 - + refs.c: remove_empty_directories can take a strbuf
88 - + refs.c: avoid git_path assignment in lock_ref_sha1_basic
89 - + refs.c: avoid repeated git_path calls in rename_tmp_log
90 - + refs.c: simplify strbufs in reflog setup and writing
91 - + path.c: drop git_path_submodule
92 - + refs.c: remove extra git_path calls from read_loose_refs
93 - + remote.c: drop extraneous local variable from migrate_file
94 - + prefer mkpathdup to mkpath in assignments
95 - + prefer git_pathdup to git_path in some possibly-dangerous cases
96 - + add_to_alternates_file: don't add duplicate entries
97 - + t5700: modernize style
98 - + cache.h: complete set of git_path_submodule helpers
99 - + cache.h: clarify documentation for git_path, et al
100 - (this branch is used by sb/submodule-helper.)
101 -
102 - git_path() and mkpath() are handy helper functions but it is easy
103 - to misuse, as the callers need to be careful to keep the number of
104 - active results below 4. Their uses have been reduced.
105 -
106 -
107 -* jk/guess-repo-name-regression-fix (2015-08-10) 2 commits
108 - (merged to 'next' on 2015-08-12 at 4cba33c)
109 - + clone: use computed length in guess_dir_name
110 - + clone: add tests for output directory
111 - (this branch is used by ps/guess-repo-name-at-root.)
22 +* as/docfix-reflog-expire-unreachable (2015-08-21) 1 commit
23 + (merged to 'next' on 2015-08-25 at eb75d55)
24 + + Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable
25
113 - "git clone $URL" in recent releases of Git contains a regression in
114 - the code that invents a new repository name incorrectly based on
115 - the $URL. This has been corrected.
26 + Docfix.
27
28
118 -* jk/long-error-messages (2015-08-11) 2 commits
119 - (merged to 'next' on 2015-08-12 at 36303cd)
120 - + vreportf: avoid intermediate buffer
121 - + vreportf: report to arbitrary filehandles
29 +* cc/trailers-corner-case-fix (2015-08-21) 1 commit
30 + (merged to 'next' on 2015-08-25 at ac25d80)
31 + + trailer: ignore first line of message
32
123 - The codepath to produce error messages had a hard-coded limit to
124 - the size of the message, primarily to avoid memory allocation while
125 - calling die().
33 + "interpret-trailers" helper mistook a single-liner log message that
34 + has a colon as the end of existing trailer.
35
36
128 -* jk/negative-hiderefs (2015-08-07) 2 commits
129 - (merged to 'next' on 2015-08-12 at bdc478d)
130 - + refs: support negative transfer.hideRefs
131 - + docs/config.txt: reorder hideRefs config
37 +* dt/untracked-sparse (2015-08-19) 1 commit
38 + (merged to 'next' on 2015-08-25 at 2501a7e)
39 + + t7063: use --force-untracked-cache to speed up a bit
40 + (this branch is used by dt/untracked-subdir.)
41
133 - A negative !ref entry in multi-value transfer.hideRefs
134 - configuration can be used to say "don't hide this one".
42 + Test update.
43
44
137 -* jk/test-with-x (2015-08-07) 2 commits
138 - (merged to 'next' on 2015-08-12 at 06576a1)
139 - + test-lib: disable trace when test is not verbose
140 - + test-lib: turn off "-x" tracing during chain-lint check
45 +* dt/untracked-subdir (2015-08-19) 2 commits
46 + (merged to 'next' on 2015-08-25 at ab4fd04)
47 + + untracked cache: fix entry invalidation
48 + + untracked-cache: fix subdirectory handling
49 + (this branch uses dt/untracked-sparse.)
50
142 - Running tests with the "-x" option to make them verbose had some
143 - unpleasant interactions with other features of the test suite.
51 + The experimental untracked-cache feature were buggy when paths with
52 + a few levels of subdirectories are involved.
53
54
146 -* mh/tempfile (2015-08-12) 16 commits
147 - (merged to 'next' on 2015-08-12 at 80efcb7)
148 - + credential-cache--daemon: use tempfile module
149 - + credential-cache--daemon: delete socket from main()
150 - + gc: use tempfile module to handle gc.pid file
151 - + lock_repo_for_gc(): compute the path to "gc.pid" only once
152 - + diff: use tempfile module
153 - + setup_temporary_shallow(): use tempfile module
154 - + write_shared_index(): use tempfile module
155 - + register_tempfile(): new function to handle an existing temporary file
156 - + tempfile: add several functions for creating temporary files
157 - + prepare_tempfile_object(): new function, extracted from create_tempfile()
158 - + tempfile: a new module for handling temporary files
159 - + commit_lock_file(): use get_locked_file_path()
160 - + lockfile: add accessor get_lock_file_path()
161 - + lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
162 - + create_bundle(): duplicate file descriptor to avoid closing it twice
163 - + lockfile: move documentation to lockfile.h and lockfile.c
55 +* ep/http-configure-ssl-version (2015-08-17) 1 commit
56 + (merged to 'next' on 2015-08-19 at aab726b)
57 + + http: add support for specifying the SSL version
58
165 - The "lockfile" API has been rebuilt on top of a new "tempfile" API.
59 + A new configuration variable http.sslVersion can be used to specify
60 + what specific version of SSL/TLS to use to make a connection.
61
62
168 -* mm/pull-upload-pack (2015-07-30) 1 commit
169 - (merged to 'next' on 2015-08-12 at 14d2a52)
170 - + pull.sh: quote $upload_pack when passing it to git-fetch
63 +* jc/calloc-pathspec (2015-08-20) 1 commit
64 + (merged to 'next' on 2015-08-25 at 877490c)
65 + + ps_matched: xcalloc() takes nmemb and then element size
66
172 - "git pull" in recent releases of Git has a regression in the code
173 - that allows custom path to the --upload-pack=<program>. This has
174 - been corrected.
67 + Minor code cleanup.
68
176 - Note that this is irrelevant for 'master' with "git pull" rewritten
177 - in C.
69
70 +* jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
71 + (merged to 'next' on 2015-08-19 at 3f0c693)
72 + + send-email: provide whitelist of SMTP AUTH mechanisms
73
180 -* nd/dwim-wildcards-as-pathspecs (2015-08-11) 1 commit
181 - (merged to 'next' on 2015-08-12 at bb73f4d)
182 - + t2019: skip test requiring '*' in a file name non Windows
74 + "git send-email" learned a new option --smtp-auth to limit the SMTP
75 + AUTH mechanisms to be used to a subset of what the system library
76 + supports.
77
184 - Test updates for Windows.
78
79 +* po/po-readme (2015-08-17) 1 commit
80 + (merged to 'next' on 2015-08-19 at 1899e59)
81 + + po/README: Update directions for l10n contributors
82
187 -* ps/guess-repo-name-at-root (2015-08-10) 3 commits
188 - (merged to 'next' on 2015-08-12 at 088860f)
189 - + clone: abort if no dir name could be guessed
190 - + clone: do not use port number as dir name
191 - + clone: do not include authentication data in guessed dir
192 - (this branch uses jk/guess-repo-name-regression-fix.)
83 + Doc updates for i18n.
84
194 - "git clone $URL", when cloning from a site whose sole purpose is to
195 - host a single repository (hence, no path after <scheme>://<site>/),
196 - tried to use the site name as the new repository name, but did not
197 - remove username or password when <site> part was of the form
198 - <user>@<pass>:<host>. The code is taught to redact these.
85
86 +* pt/am-builtin-abort-fix (2015-08-19) 1 commit
87 + (merged to 'next' on 2015-08-19 at 729e682)
88 + + am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
89
201 -* ps/t1509-chroot-test-fixup (2015-08-05) 2 commits
202 - (merged to 'next' on 2015-08-12 at 6d10ea5)
203 - + tests: fix cleanup after tests in t1509-root-worktree
204 - + tests: fix broken && chains in t1509-root-worktree
90 + "git am" that was recently reimplemented in C had a performance
91 + regression in "git am --abort" that goes back to the version before
92 + an attempted (and failed) patch application.
93
206 - t1509 test that requires a dedicated VM environment had some
207 - bitrot, which has been corrected.
94
95 +* sg/help-group (2015-08-25) 1 commit
96 + (merged to 'next' on 2015-08-25 at 907e5a8)
97 + + generate-cmdlist: re-implement as shell script
98
210 -* pt/am-builtin-options (2015-08-12) 3 commits
211 - (merged to 'next' on 2015-08-12 at e57f754)
212 - + am: let --signoff override --no-signoff
213 - + am: let command-line options override saved options
214 - + test_terminal: redirect child process' stdin to a pty
215 - (this branch is used by jc/am-state-fix.)
99 + We rewrote one of the build scripts in Perl but this reimplements
100 + in Bourne shell.
101
217 - After "git am --opt1" stops, running "git am --opt2" pays attention
218 - to "--opt2" only for the patch that caused the original invocation
219 - to stop.
102
103 +* sg/t3020-typofix (2015-08-20) 1 commit
104 + (merged to 'next' on 2015-08-25 at 051d6c0)
105 + + t3020: fix typo in test description
106
222 -* sb/check-return-from-read-ref (2015-08-03) 1 commit
223 - (merged to 'next' on 2015-08-12 at 4a1c801)
224 - + transport-helper: die on errors reading refs.
107
108 +* sg/wt-status-header-inclusion (2015-08-21) 1 commit
109 + (merged to 'next' on 2015-08-25 at fa5b2b2)
110 + + wt-status: move #include "pathspec.h" to the header
111
227 -* tb/complete-rebase-i-edit-todo (2015-08-05) 1 commit
228 - (merged to 'next' on 2015-08-12 at 9606c21)
229 - + completion: offer '--edit-todo' during interactive rebase
112
231 - The command-line completion script (in contrib/) has been updated.
113 +* ss/fix-config-fd-leak (2015-08-14) 1 commit
114 + (merged to 'next' on 2015-08-19 at 80d4880)
115 + + config: close config file handle in case of error
116
117 --------------------------------------------------
118 [New Topics]
119
236 -* dt/untracked-sparse (2015-08-19) 1 commit
237 - (merged to 'next' on 2015-08-25 at 2501a7e)
238 - + t7063: use --force-untracked-cache to speed up a bit
239 - (this branch is used by dt/untracked-subdir.)
120 +* ah/pack-objects-usage-strings (2015-08-28) 1 commit
121 + - pack-objects: place angle brackets around placeholders in usage strings
122
241 - Test update.
123 + Usage string fix.
124
243 - Will merge to 'master'.
244 -
245 -
246 -* as/docfix-reflog-expire-unreachable (2015-08-21) 1 commit
247 - (merged to 'next' on 2015-08-25 at eb75d55)
248 - + Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable
249 -
250 - Will merge to 'master'.
251 -
252 -
253 -* cc/trailers-corner-case-fix (2015-08-21) 1 commit
254 - (merged to 'next' on 2015-08-25 at ac25d80)
255 - + trailer: ignore first line of message
125 + Will merge to 'next'.
126
257 - "interpret-trailers" helper mistook a single-liner log message that
258 - has a colon as the end of existing trailer.
127
260 - Will merge to 'master'.
128 +* ah/read-tree-usage-string (2015-08-28) 1 commit
129 + - read-tree: replace bracket set with parentheses to clarify usage
130
131 + Usage string fix.
132
263 -* jc/am-state-fix (2015-08-25) 5 commits
264 - (merged to 'next' on 2015-08-25 at 4efcd88)
265 - + write_file(): drop caller-supplied LF from calls to create a one-liner file
266 - + write_file_v(): do not leave incomplete line at the end
267 - + write_file(): drop "fatal" parameter
268 - + builtin/am: make sure state files are text
269 - + builtin/am: introduce write_state_*() helper functions
133 + Will merge to 'next'.
134
271 - Recent reimplementation of "git am" changed the format of state
272 - files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
273 - primarily because write_file() API was cumbersome to use and it was
274 - easy to mistakenly make text files with incomplete lines. Update
275 - write_file() interface to make it harder to misuse.
135
277 - Will merge to 'master'.
136 +* ah/reflog-typofix-in-error (2015-08-28) 1 commit
137 + - reflog: add missing single quote to error message
138
139 + Error string fix.
140
280 -* jc/calloc-pathspec (2015-08-20) 1 commit
281 - (merged to 'next' on 2015-08-25 at 877490c)
282 - + ps_matched: xcalloc() takes nmemb and then element size
141 + Will merge to 'next'.
142
284 - Will merge to 'master'.
143
144 +* ah/submodule-typofix-in-error (2015-08-28) 1 commit
145 + - git-submodule: remove extraneous space from error message
146
287 -* jc/log-p-cc (2015-08-25) 4 commits
288 - (merged to 'next' on 2015-08-25 at 2d6a6d4)
289 - + builtin/log.c: minor reformat
290 - + log: show merge commit when --cc is given
291 - + log: when --cc is given, default to -p unless told otherwise
292 - + log: rename "tweak" helpers
147 + Error string fix.
148
294 - "git log --cc" did not show any patch, even though most of the time
295 - the user meant "git log --cc -p -m" to see patch output for commits
296 - with a single parent, and combined diff for merge commits. The
297 - command is taught to DWIM "--cc" (without "--raw" and other forms
298 - of output specification) to "--cc -p -m".
149 + Will merge to 'next'.
150
300 - Will merge to 'master'.
151
152 +* br/svn-doc-include-paths-config (2015-08-26) 1 commit
153 + - git-svn doc: mention "svn-remote.<name>.include-paths"
154
303 -* jk/fix-alias-pager-config-key-warnings (2015-08-24) 1 commit
304 - (merged to 'next' on 2015-08-25 at 89eac5a)
305 - + config: silence warnings for command names with invalid keys
155 + Will merge to 'next'.
156
307 - Because the configuration system does not allow "alias.0foo" and
308 - "pager.0foo" as the configuration key, the user cannot use '0foo'
309 - as a custom command name anyway, but "git 0foo" tried to look these
310 - keys up and emitted useless warnings before saying '0foo is not a
311 - git command'. These warning messages have been squelched.
157
313 - Will merge to 'master'.
158 +* dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update (2015-08-28) 1 commit
159 + - commit: don't rewrite shared index unnecessarily
160
161 + When re-priming the cache-tree opportunistically while committing
162 + the in-core index as-is, we mistakenly invalidated the in-core
163 + index too aggressively, causing the experimental split-index code
164 + to unnecessarily rewrite the on-disk index file(s).
165
316 -* jk/rev-list-has-no-notes (2015-08-24) 1 commit
317 - (merged to 'next' on 2015-08-25 at 73cb2ad)
318 - + rev-list: make it obvious that we do not support notes
166 + Will merge to 'next'.
167
320 - "git rev-list" does not take "--notes" option, but did not complain
321 - when one is given.
168
323 - Will merge to 'master'.
169 +* dt/refs-bisection (2015-08-28) 5 commits
170 + - bisect: make bisection refs per-worktree
171 + - refs: make refs/worktree/* per-worktree
172 + - SQUASH???
173 + - path: optimize common dir checking
174 + - refs: clean up common_list
175
176 + Move the refs used during a "git bisect" session to per-worktree
177 + hierarchy refs/worktree/* so that independent bisect sessions can
178 + be done in different worktrees.
179
326 -* kn/for-each-tag (2015-08-25) 15 commits
327 - - SQUASH??? a tag longer than 15 bytes break alignment but keeps SP before the message
328 - - tag.c: implement '--merged' and '--no-merged' options
329 - - tag.c: implement '--format' option
330 - - tag.c: use 'ref-filter' APIs
331 - - tag.c: use 'ref-filter' data structures
332 - - ref-filter: add option to match literal pattern
333 - - ref-filter: add support to sort by version
334 - - ref-filter: support printing N lines from tag annotation
335 - - ref-filter: add option to filter out tags, branches and remotes
336 - - ref-filter: implement an `align` atom
337 - - utf8: add function to align a string into given strbuf
338 - - ref-filter: introduce ref_formatting_state and ref_formatting_stack
339 - - ref-filter: move `struct atom_value` to ref-filter.c
340 - - Merge 'jk/git-path' into kn/for-each-tag
341 - - Merge 'kn/for-each-tag-branch' into kn/for-each-tag
342 - (this branch uses kn/for-each-tag-branch.)
180 + Will merge to 'next' after squashing the update in.
181
344 - The "ref-filter" code was taught about many parts of what "tag -l"
345 - does and then "tag -l" is reimplemented in terms of "ref-filter".
182
347 - Almost there...
183 +* ld/p4-import-labels (2015-08-28) 3 commits
184 + - git-p4: fix P4 label import for unprocessed commits
185 + - git-p4: do not terminate creating tag for unknown commit
186 + - git-p4: failing test for ignoring invalid p4 labels
187
188
350 -* nd/fixup-linked-gitdir (2015-08-25) 1 commit
351 - - setup: update the right file in multiple checkouts
189 +* ls/p4-fold-case-client-specs (2015-08-28) 1 commit
190 + - git-p4: honor core.ignorecase when using P4 client specs
191
353 - The code in "multiple-worktree" support that attempted to recover
354 - from an inconsistent state updated an incorrect file.
192 + On case insensitive systems, "git p4" did not work well with client
193 + specs.
194
195 Will merge to 'next'.
196
197 +* rs/archive-zip-many (2015-08-28) 3 commits
198 + - archive-zip: support more than 65535 entries
199 + - archive-zip: use a local variable to store the creator version
200 + - t5004: test ZIP archives with many entries
201
359 -* nd/ita-cleanup (2015-08-25) 6 commits
360 - - grep: make it clear i-t-a entries are ignored
361 - - checkout(-index): do not checkout i-t-a entries
362 - - apply: make sure check_preimage() does not leave empty file on error
363 - - apply: fix adding new files on i-t-a entries
364 - - Add and use convenient macro ce_intent_to_add()
365 - - blame: remove obsolete comment
366 -
367 - Paths that have been told the index about with "add -N" are not yet
368 - in the index, but various commands behaved as if they already are.
369 -
370 - Some commits need better explanation.
371 -
372 - Waiting for a reroll.
373 -
374 -
375 -* sg/describe-contains (2015-08-25) 1 commit
376 - - describe --contains: default to HEAD when no commit-ish is given
377 -
378 - "git describe" without argument defaulted to describe the HEAD
379 - commit, but "git describe --contains" didn't. Arguably, in a
380 - repository used for active development, such defaulting would not
381 - be very useful as the tip of branch is typically not tagged, but it
382 - is better to be consistent.
202 + "git archive" did not use zip64 extension when creating an archive
203 + with more than 64k entries, which nobody should need, right ;-)?
204
205 Will merge to 'next'.
206
207
387 -* sg/help-group (2015-08-25) 1 commit
388 - (merged to 'next' on 2015-08-25 at 907e5a8)
389 - + generate-cmdlist: re-implement as shell script
390 -
391 - We rewrote one of the build scripts in Perl but this reimplements
392 - in Bourne shell.
393 -
394 - Will merge to 'master'.
395 -
396 -
397 -* sg/t3020-typofix (2015-08-20) 1 commit
398 - (merged to 'next' on 2015-08-25 at 051d6c0)
399 - + t3020: fix typo in test description
400 -
401 - Will merge to 'master'.
402 -
208 +* rt/remove-hold-lockfile-for-append (2015-08-28) 1 commit
209 + - lockfile: remove function "hold_lock_file_for_append"
210
404 -* sg/wt-status-header-inclusion (2015-08-21) 1 commit
405 - (merged to 'next' on 2015-08-25 at fa5b2b2)
406 - + wt-status: move #include "pathspec.h" to the header
407 -
408 - Will merge to 'master'.
211 + Will merge to 'next'.
212
213 --------------------------------------------------
214 [Stalled]
@@ -480,7 +283,7 @@ of the repositories listed at
283 worse, atoi()). Introduce a set of wrappers that try to be more
284 careful.
285
483 - Expecting a reroll.
286 + Waiting for a reroll.
287 ($gmane/268058).
288
289
@@ -507,7 +310,7 @@ of the repositories listed at
310
311 This is the first two commits in a three-patch series $gmane/266962
312
510 - Expecting a reroll.
313 + Waiting for a reroll.
314 with updated log message ($gmane/268061).
315
316
@@ -532,7 +335,7 @@ of the repositories listed at
335 - show-index: uniform error messages for index read
336
337 The tip was RFC.
535 - Expecting a reroll.
338 + Waiting for a reroll.
339
340
341 * jk/log-missing-default-HEAD (2015-06-03) 1 commit
@@ -551,7 +354,7 @@ of the repositories listed at
354 Introduce "branch^{/!-<pattern>}" notation to name a commit
355 reachable from branch that does not match the given pattern.
356
554 - Expecting a reroll.
357 + Waiting for a reroll.
358
359
360 * mk/utf8-no-iconv-warn (2015-06-08) 1 commit
@@ -563,7 +366,7 @@ of the repositories listed at
366 iconv support when the specified encoding is not available, but the
367 patch does not go there.
368
566 - Expecting a reroll.
369 + Waiting for a reroll.
370
371
372 * ak/format-patch-odir-config (2015-06-19) 1 commit
@@ -572,7 +375,7 @@ of the repositories listed at
375 Reroll exists but didn't pick it up as it seemed to be still
376 collecting review comments.
377
575 - Expecting a reroll.
378 + Waiting for a reroll.
379 ($gmane/272180).
380
381
@@ -672,82 +475,157 @@ of the repositories listed at
475 --------------------------------------------------
476 [Cooking]
477
675 -* db/push-sign-if-asked (2015-08-19) 9 commits
676 - - push: add a config option push.gpgSign for default signed pushes
677 - - push: support signing pushes iff the server supports it
678 - - builtin/send-pack.c: use parse_options API
679 - - config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
680 - - transport: remove git_transport_options.push_cert
681 - - gitremote-helpers.txt: document pushcert option
682 - - Documentation/git-send-pack.txt: document --signed
683 - - Documentation/git-send-pack.txt: wrap long synopsis line
684 - - Documentation/git-push.txt: document when --signed may fail
478 +* jc/am-state-fix (2015-08-25) 5 commits
479 + (merged to 'next' on 2015-08-25 at 4efcd88)
480 + + write_file(): drop caller-supplied LF from calls to create a one-liner file
481 + + write_file_v(): do not leave incomplete line at the end
482 + + write_file(): drop "fatal" parameter
483 + + builtin/am: make sure state files are text
484 + + builtin/am: introduce write_state_*() helper functions
485
686 - The client side codepaths in "git push" have been cleaned up
687 - and the user can request to perform an optional "signed push",
688 - i.e. sign only when the other end accepts signed push.
486 + Recent reimplementation of "git am" changed the format of state
487 + files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
488 + primarily because write_file() API was cumbersome to use and it was
489 + easy to mistakenly make text files with incomplete lines. Update
490 + write_file() interface to make it harder to misuse.
491
690 - I think this is ready for 'next', but did I miss comments that need
691 - to be addressed before it happens?
492 + Will merge to 'master'.
493
494
694 -* dk/gc-idx-wo-pack (2015-08-17) 3 commits
695 - - DONTMERGE: log message, grace-period and tests $gmane/276058
696 - - gc: remove stale .idx files without corresponding .pack file
697 - - prepare_packed_git(): refactor garbage reporting in pack directory
495 +* jc/log-p-cc (2015-08-25) 4 commits
496 + (merged to 'next' on 2015-08-25 at 2d6a6d4)
497 + + builtin/log.c: minor reformat
498 + + log: show merge commit when --cc is given
499 + + log: when --cc is given, default to -p unless told otherwise
500 + + log: rename "tweak" helpers
501
699 - Having a leftover .idx file without correspoinding .pack file in
700 - the repository hurts performance; "git gc" learned to prune them.
502 + "git log --cc" did not show any patch, even though most of the time
503 + the user meant "git log --cc -p -m" to see patch output for commits
504 + with a single parent, and combined diff for merge commits. The
505 + command is taught to DWIM "--cc" (without "--raw" and other forms
506 + of output specification) to "--cc -p -m".
507
702 - Expecting a reroll.
508 + Will merge to 'master'.
509
510
705 -* ep/http-configure-ssl-version (2015-08-17) 1 commit
706 - (merged to 'next' on 2015-08-19 at aab726b)
707 - + http: add support for specifying the SSL version
511 +* jk/fix-alias-pager-config-key-warnings (2015-08-24) 1 commit
512 + (merged to 'next' on 2015-08-25 at 89eac5a)
513 + + config: silence warnings for command names with invalid keys
514
709 - A new configuration variable http.sslVersion can be used to specify
710 - what specific version of SSL/TLS to use to make a connection.
515 + Because the configuration system does not allow "alias.0foo" and
516 + "pager.0foo" as the configuration key, the user cannot use '0foo'
517 + as a custom command name anyway, but "git 0foo" tried to look these
518 + keys up and emitted useless warnings before saying '0foo is not a
519 + git command'. These warning messages have been squelched.
520
521 Will merge to 'master'.
522
523
715 -* jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
716 - (merged to 'next' on 2015-08-19 at 3f0c693)
717 - + send-email: provide whitelist of SMTP AUTH mechanisms
524 +* jk/rev-list-has-no-notes (2015-08-24) 1 commit
525 + (merged to 'next' on 2015-08-25 at 73cb2ad)
526 + + rev-list: make it obvious that we do not support notes
527
719 - "git send-email" learned a new option --smtp-auth to limit the SMTP
720 - AUTH mechanisms to be used to a subset of what the system library
721 - supports.
528 + "git rev-list" does not take "--notes" option, but did not complain
529 + when one is given.
530
531 Will merge to 'master'.
532
533
726 -* po/po-readme (2015-08-17) 1 commit
727 - (merged to 'next' on 2015-08-19 at 1899e59)
728 - + po/README: Update directions for l10n contributors
534 +* kn/for-each-tag (2015-08-25) 15 commits
535 + - SQUASH??? a tag longer than 15 bytes break alignment but keeps SP before the message
536 + - tag.c: implement '--merged' and '--no-merged' options
537 + - tag.c: implement '--format' option
538 + - tag.c: use 'ref-filter' APIs
539 + - tag.c: use 'ref-filter' data structures
540 + - ref-filter: add option to match literal pattern
541 + - ref-filter: add support to sort by version
542 + - ref-filter: support printing N lines from tag annotation
543 + - ref-filter: add option to filter out tags, branches and remotes
544 + - ref-filter: implement an `align` atom
545 + - utf8: add function to align a string into given strbuf
546 + - ref-filter: introduce ref_formatting_state and ref_formatting_stack
547 + - ref-filter: move `struct atom_value` to ref-filter.c
548 + - Merge 'jk/git-path' into kn/for-each-tag
549 + - Merge 'kn/for-each-tag-branch' into kn/for-each-tag
550 + (this branch uses kn/for-each-tag-branch.)
551 +
552 + The "ref-filter" code was taught about many parts of what "tag -l"
553 + does and then "tag -l" is reimplemented in terms of "ref-filter".
554 +
555 + Almost there...
556 + Waiting for a reroll.
557 + ($gmane/276615, $gmane/276529, $gmane/276607, $gmane/276606, etc.)
558 +
559 +
560 +* nd/fixup-linked-gitdir (2015-08-25) 1 commit
561 + (merged to 'next' on 2015-08-26 at 7b8a1aa)
562 + + setup: update the right file in multiple checkouts
563 +
564 + The code in "multiple-worktree" support that attempted to recover
565 + from an inconsistent state updated an incorrect file.
566
567 Will merge to 'master'.
568
569
733 -* pt/am-builtin-abort-fix (2015-08-19) 1 commit
734 - (merged to 'next' on 2015-08-19 at 729e682)
735 - + am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
570 +* nd/ita-cleanup (2015-08-25) 6 commits
571 + - grep: make it clear i-t-a entries are ignored
572 + - checkout(-index): do not checkout i-t-a entries
573 + - apply: make sure check_preimage() does not leave empty file on error
574 + - apply: fix adding new files on i-t-a entries
575 + - Add and use convenient macro ce_intent_to_add()
576 + - blame: remove obsolete comment
577
737 - "git am" that was recently reimplemented in C had a performance
738 - regression in "git am --abort" that goes back to the version before
739 - an attempted (and failed) patch application.
578 + Paths that have been told the index about with "add -N" are not yet
579 + in the index, but various commands behaved as if they already are.
580 +
581 + Some commits need better explanation.
582 +
583 + Waiting for a reroll.
584 +
585 +
586 +* sg/describe-contains (2015-08-25) 1 commit
587 + (merged to 'next' on 2015-08-26 at a7c66d9)
588 + + describe --contains: default to HEAD when no commit-ish is given
589 +
590 + "git describe" without argument defaulted to describe the HEAD
591 + commit, but "git describe --contains" didn't. Arguably, in a
592 + repository used for active development, such defaulting would not
593 + be very useful as the tip of branch is typically not tagged, but it
594 + is better to be consistent.
595
596 Will merge to 'master'.
597
598
744 -* ss/fix-config-fd-leak (2015-08-14) 1 commit
745 - (merged to 'next' on 2015-08-19 at 80d4880)
746 - + config: close config file handle in case of error
599 +* db/push-sign-if-asked (2015-08-19) 9 commits
600 + (merged to 'next' on 2015-08-26 at a7a32e9)
601 + + push: add a config option push.gpgSign for default signed pushes
602 + + push: support signing pushes iff the server supports it
603 + + builtin/send-pack.c: use parse_options API
604 + + config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
605 + + transport: remove git_transport_options.push_cert
606 + + gitremote-helpers.txt: document pushcert option
607 + + Documentation/git-send-pack.txt: document --signed
608 + + Documentation/git-send-pack.txt: wrap long synopsis line
609 + + Documentation/git-push.txt: document when --signed may fail
610 +
611 + The client side codepaths in "git push" have been cleaned up
612 + and the user can request to perform an optional "signed push",
613 + i.e. sign only when the other end accepts signed push.
614
615 Will merge to 'master'.
616
617
618 +* dk/gc-idx-wo-pack (2015-08-17) 3 commits
619 + - DONTMERGE: log message, grace-period and tests $gmane/276058
620 + - gc: remove stale .idx files without corresponding .pack file
621 + - prepare_packed_git(): refactor garbage reporting in pack directory
622 +
623 + Having a leftover .idx file without correspoinding .pack file in
624 + the repository hurts performance; "git gc" learned to prune them.
625 +
626 + Waiting for a reroll.
627 +
628 +
629 * bb/remote-get-url (2015-08-05) 1 commit
630 - remote: add get-url subcommand
631
@@ -759,19 +637,19 @@ of the repositories listed at
637
638
639 * jk/notes-merge-config (2015-08-17) 6 commits
762 - - notes: teach git-notes about notes.<name>.mergeStrategy option
763 - - notes: add notes.mergeStrategy option to select default strategy
764 - - notes: add tests for --commit/--abort/--strategy exclusivity
765 - - notes: extract parse_notes_merge_strategy to notes-utils
766 - - notes: extract enum notes_merge_strategy to notes-utils.h
767 - - notes: document cat_sort_uniq rewriteMode
640 + (merged to 'next' on 2015-08-26 at 6dd2286)
641 + + notes: teach git-notes about notes.<name>.mergeStrategy option
642 + + notes: add notes.mergeStrategy option to select default strategy
643 + + notes: add tests for --commit/--abort/--strategy exclusivity
644 + + notes: extract parse_notes_merge_strategy to notes-utils
645 + + notes: extract enum notes_merge_strategy to notes-utils.h
646 + + notes: document cat_sort_uniq rewriteMode
647
648 "git notes merge" can be told with "--strategy=<how>" option how to
649 automatically handle conflicts; this can now be configured by
650 setting notes.merge configuration variable.
651
773 - I think this is ready for 'next', but did I miss comments that need
774 - to be addressed before it happens?
652 + Will merge to 'master'.
653
654
655 * hv/submodule-config (2015-08-19) 4 commits
@@ -788,10 +666,9 @@ of the repositories listed at
666 Will merge to 'master'.
667
668
791 -* sb/submodule-helper (2015-08-25) 7 commits
669 +* sb/submodule-helper (2015-08-26) 6 commits
670 - submodule: helper to run foreach in parallel
671 - thread-utils: add a threaded task queue
794 - - FIXUP submodule: implement `module_clone` as a builtin helper
672 - submodule: implement `module_clone` as a builtin helper
673 - submodule: implement `module_name` as a builtin helper
674 - submodule: implement `module_list` as a builtin helper
@@ -802,18 +679,6 @@ of the repositories listed at
679 incrementally. These early part looks promising.
680
681
805 -* dt/untracked-subdir (2015-08-19) 2 commits
806 - (merged to 'next' on 2015-08-25 at ab4fd04)
807 - + untracked cache: fix entry invalidation
808 - + untracked-cache: fix subdirectory handling
809 - (this branch uses dt/untracked-sparse.)
810 -
811 - The experimental untracked-cache feature were buggy when paths with
812 - a few levels of subdirectories are involved.
813 -
814 - Will merge to 'master'.
815 -
816 -
682 * ad/cygwin-wants-rename (2015-08-07) 1 commit
683 - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
684
@@ -861,32 +726,33 @@ of the repositories listed at
726
727
728 * jc/rerere (2015-07-24) 21 commits
864 - - rerere: un-nest merge() further
865 - - rerere: use "struct rerere_id" instead of "char *" for conflict ID
866 - - rerere: call conflict-ids IDs
867 - - rerere: further clarify do_rerere_one_path()
868 - - rerere: further de-dent do_plain_rerere()
869 - - rerere: refactor "replay" part of do_plain_rerere()
870 - - rerere: explain the remainder
871 - - rerere: explain "rerere forget" codepath
872 - - rerere: explain the primary codepath
873 - - rerere: explain MERGE_RR management helpers
874 - - rerere: fix benign off-by-one non-bug and clarify code
875 - - rerere: explain the rerere I/O abstraction
876 - - rerere: do not leak mmfile[] for a path with multiple stage #1 entries
877 - - rerere: stop looping unnecessarily
878 - - rerere: drop want_sp parameter from is_cmarker()
879 - - rerere: report autoupdated paths only after actually updating them
880 - - rerere: write out each record of MERGE_RR in one go
881 - - rerere: lift PATH_MAX limitation
882 - - rerere: plug conflict ID leaks
883 - - rerere: handle conflicts with multiple stage #1 entries
884 - - rerere: fix an off-by-one non-bug
729 + (merged to 'next' on 2015-08-26 at 8ae15ef)
730 + + rerere: un-nest merge() further
731 + + rerere: use "struct rerere_id" instead of "char *" for conflict ID
732 + + rerere: call conflict-ids IDs
733 + + rerere: further clarify do_rerere_one_path()
734 + + rerere: further de-dent do_plain_rerere()
735 + + rerere: refactor "replay" part of do_plain_rerere()
736 + + rerere: explain the remainder
737 + + rerere: explain "rerere forget" codepath
738 + + rerere: explain the primary codepath
739 + + rerere: explain MERGE_RR management helpers
740 + + rerere: fix benign off-by-one non-bug and clarify code
741 + + rerere: explain the rerere I/O abstraction
742 + + rerere: do not leak mmfile[] for a path with multiple stage #1 entries
743 + + rerere: stop looping unnecessarily
744 + + rerere: drop want_sp parameter from is_cmarker()
745 + + rerere: report autoupdated paths only after actually updating them
746 + + rerere: write out each record of MERGE_RR in one go
747 + + rerere: lift PATH_MAX limitation
748 + + rerere: plug conflict ID leaks
749 + + rerere: handle conflicts with multiple stage #1 entries
750 + + rerere: fix an off-by-one non-bug
751 (this branch is used by jc/rerere-multi.)
752
887 - Code clean-up and minor fixes (so far).
753 + Code clean-up and minor fixes.
754
889 - Will merge to 'next'.
755 + Will merge to 'master'.
756
757
758 * jc/rerere-multi (2015-07-30) 7 commits