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