What's cooking (2015/08 #04)
Junio C Hamano committed
Aug 25, 2015 at 16:21 UTC
a41223870171cf93d4f9bb7d33bdb030974dccbf
1 file changed
+546
-412
whats-cooking.txt
+546
-412
@@ -1,20 +1,16 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Aug 2015, #03; Mon, 17)
4
-X-master-at: 44e02239f41177b6a7567e86db2cd18f7949d941
5
-X-next-at: ab17608326e73d8e92eba73c51dac99aa92984ba
3
+Subject: What's cooking in git.git (Aug 2015, #04; Tue, 25)
4
+X-master-at: 33f2c4ff7b9ac02cd9010d504e847b912b35baf6
5
+X-next-at: f2c83a76d16e5fd4c4f2e37c6ad65b3ba13dc31e
6
7
-What's cooking in git.git (Aug 2015, #03; Mon, 17)
7
+What's cooking in git.git (Aug 2015, #04; Tue, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
11
'-' are only in 'pu' (proposed updates) while commits prefixed with
12
'+' are in 'next'.
13
14
-The second batch of topics have graduated to 'master'. Most
15
-notably, the rewritten "git am" is in. Also "worktree add" is
16
-getting improved.
17
-
14
You can find the changes described here in the integration branches
15
of the repositories listed at
16
@@ -23,111 +19,415 @@ of the repositories listed at
19
--------------------------------------------------
20
[Graduated to "master"]
21
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.)
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
31
- Allow untracked cache (experimental) to be used when sparse
32
- checkout (experimental) is also in use.
78
+ strbuf_read() used to have one extra iteration (and an unnecessary
79
+ strbuf_grow() of 8kB), which was eliminated.
80
81
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
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
39
- "git pull --rebase" has been taught to pay attention to
40
- rebase.autostash configuration.
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
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
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.)
112
50
- An off-by-one error made "git remote" to mishandle a remote with a
51
- single letter nickname.
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.
116
+
117
+
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
122
+
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().
126
+
127
+
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
132
+
133
+ A negative !ref entry in multi-value transfer.hideRefs
134
+ configuration can be used to say "don't hide this one".
135
136
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
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
141
+
142
+ Running tests with the "-x" option to make them verbose had some
143
+ unpleasant interactions with other features of the test suite.
144
+
145
+
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
164
+
165
+ The "lockfile" API has been rebuilt on top of a new "tempfile" API.
166
+
167
+
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
171
+
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.
175
+
176
+ Note that this is irrelevant for 'master' with "git pull" rewritten
177
+ in C.
178
+
179
+
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
183
+
184
+ Test updates for Windows.
185
+
186
+
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.)
193
+
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.
199
+
200
+
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
205
+
206
+ t1509 test that requires a dedicated VM environment had some
207
+ bitrot, which has been corrected.
208
+
209
+
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.)
216
+
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.
220
+
221
+
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.
225
+
226
+
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
230
+
231
+ The command-line completion script (in contrib/) has been updated.
232
233
--------------------------------------------------
234
[New Topics]
235
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
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.)
240
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.
241
+ Test update.
242
74
- Expecting a reroll.
243
+ Will merge to 'master'.
244
245
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
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
82
- Having a leftover .idx file without correspoinding .pack file in
83
- the repository hurts performance; "git gc" learned to prune them.
250
+ Will merge to 'master'.
251
85
- Expecting a reroll.
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
256
88
-* ep/http-configure-ssl-version (2015-08-17) 1 commit
89
- - http: add support for specifying the SSL version
257
+ "interpret-trailers" helper mistook a single-liner log message that
258
+ has a colon as the end of existing trailer.
259
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.
260
+ Will merge to 'master'.
261
94
- Will merge to 'next'.
262
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
270
97
-* jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
98
- - send-email: provide whitelist of SMTP AUTH mechanisms
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.
276
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.
277
+ Will merge to 'master'.
278
104
- Will merge to 'next'.
279
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
283
107
-* po/po-readme (2015-08-17) 1 commit
108
- - po/README: Update directions for l10n contributors
284
+ Will merge to 'master'.
285
110
- Will merge to 'next'.
286
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
293
113
-* pt/am-builtin-abort-fix (2015-08-17) 1 commit
114
- - am --abort: merge ORIG_HEAD tree into index
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".
299
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.
300
+ Will merge to 'master'.
301
+
302
+
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
306
+
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.
312
+
313
+ Will merge to 'master'.
314
+
315
+
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
319
+
320
+ "git rev-list" does not take "--notes" option, but did not complain
321
+ when one is given.
322
+
323
+ Will merge to 'master'.
324
+
325
+
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.)
343
+
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".
346
+
347
+ Almost there...
348
+
349
+
350
+* nd/fixup-linked-gitdir (2015-08-25) 1 commit
351
+ - setup: update the right file in multiple checkouts
352
+
353
+ The code in "multiple-worktree" support that attempted to recover
354
+ from an inconsistent state updated an incorrect file.
355
356
Will merge to 'next'.
357
358
123
-* ss/fix-config-fd-leak (2015-08-14) 1 commit
124
- - config: close config file handle in case of error
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.
383
384
Will merge to 'next'.
385
386
+
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
+
403
+
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'.
409
+
410
--------------------------------------------------
411
[Stalled]
412
413
+* sb/remove-get-pathspec (2015-08-03) 1 commit
414
+ - builtin/mv: remove get_pathspec()
415
+
416
+ Will discard.
417
+ ($gmane/276104)
418
+
419
+
420
+* mk/submodule-gitdir-path (2015-08-05) 2 commits
421
+ - path: implement common_dir handling in git_path_submodule()
422
+ - submodule refactor: use git_path_submodule() in add_submodule_odb()
423
+
424
+ The submodule code has been taught to work better with separate
425
+ work trees created via "git worktree add".
426
+
427
+ Waiting for a review.
428
+ ($gmane/275340).
429
+
430
+
431
* nd/list-files (2015-02-09) 21 commits
432
- t3080: tests for git-list-files
433
- list-files: -M aka diff-cached
@@ -235,19 +535,6 @@ of the repositories listed at
535
Expecting a reroll.
536
537
238
-* hv/submodule-config (2015-06-15) 4 commits
239
- - do not die on error of parsing fetchrecursesubmodules option
240
- - use new config API for worktree configurations of submodules
241
- - extract functions for submodule config set and lookup
242
- - implement submodule config API for lookup of .gitmodules values
243
-
244
- The gitmodules API accessed from the C code learned to cache stuff
245
- lazily.
246
-
247
- Needs another reroll?
248
- ($gmane/273743)
249
-
250
-
538
* jk/log-missing-default-HEAD (2015-06-03) 1 commit
539
- log: diagnose empty HEAD more clearly
540
@@ -293,417 +580,259 @@ of the repositories listed at
580
- bisect: allow setting any user-specified in 'git bisect start'
581
- bisect: add 'git bisect terms' to view the current terms
582
- bisect: add the terms old/new
296
- - bisect: sanity check on terms
297
-
298
- The use of 'good/bad' in "git bisect" made it confusing to use when
299
- hunting for a state change that is not a regression (e.g. bugfix).
300
- The command learned 'old/new' and then allows the end user to
301
- say e.g. "bisect start --term-old=fast --term=new=slow" to find a
302
- performance regression.
303
-
304
- Michael's idea to make 'good/bad' more intelligent does have
305
- certain attractiveness ($gname/272867), and makes some of the work
306
- on this topic a moot point.
307
-
308
- Will hold.
309
-
310
-
311
-* mh/notes-allow-reading-treeish (2015-07-13) 1 commit
312
- - notes: allow treeish expressions as notes ref
313
-
314
- Some "git notes" operations, e.g. "git log --notes=<note>", should
315
- be able to read notes from any tree-ish that is shaped like a notes
316
- tree, but the notes infrastructure required that the argument must
317
- be a ref under refs/notes/. Loosen it to require a valid ref only
318
- when the operation would update the notes (in which case we must
319
- have a place to store the updated notes tree, iow, a ref).
320
-
321
- Needs update to docs.
322
- ($gmane/273928)
323
-
324
-
325
-* jc/diff-b-m (2015-02-23) 5 commits
326
- . WIPWIP
327
- . WIP: diff-b-m
328
- - diffcore-rename: allow easier debugging
329
- - diffcore-rename.c: add locate_rename_src()
330
- - diffcore-break: allow debugging
331
-
332
- "git diff -B -M" produced incorrect patch when the postimage of a
333
- completely rewritten file is similar to the preimage of a removed
334
- file; such a resulting file must not be expressed as a rename from
335
- other place.
336
-
337
- The fix in this patch is broken, unfortunately.
338
-
339
-
340
-* pw/remote-set-url-fetch (2014-11-26) 1 commit
341
- . remote: add --fetch and --both options to set-url
342
-
343
- Ejected.
344
-
345
-
346
-* tr/remerge-diff (2014-11-10) 9 commits
347
- - t4213: avoid "|" in sed regexp
348
- - log --remerge-diff: show what the conflict resolution changed
349
- - name-hash: allow dir hashing even when !ignore_case
350
- - merge-recursive: allow storing conflict hunks in index
351
- - merge_diff_mode: fold all merge diff variants into an enum
352
- - combine-diff: do not pass revs->dense_combined_merges redundantly
353
- - merge-recursive: -Xindex-only to leave worktree unchanged
354
- - merge-recursive: internal flag to avoid touching the worktree
355
- - merge-recursive: remove dead conditional in update_stages()
356
-
357
- "log -p" output learns a new way to let users inspect a merge
358
- commit by showing the differences between the automerged result
359
- with conflicts the person who recorded the merge would have seen
360
- and the final conflict resolution that was recorded in the merge.
361
-
362
- Waiting for a reroll.
363
- ($gmane/256591).
364
-
365
-
366
-* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
367
- - perf-lib: add test_perf_cleanup target
368
- - perf-lib: split starting the test from the execution
369
-
370
- Add test_perf_cleanup shell function to the perf suite, that allows
371
- the script writers to define a test with a clean-up action.
372
-
373
- Will hold.
374
-
375
-
376
-* jc/show-branch (2014-03-24) 5 commits
377
- - show-branch: use commit slab to represent bitflags of arbitrary width
378
- - show-branch.c: remove "all_mask"
379
- - show-branch.c: abstract out "flags" operation
380
- - show-branch.c: lift all_mask/all_revs to a global static
381
- - show-branch.c: update comment style
382
-
383
- Waiting for the final step to lift the hard-limit.
384
-
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).
583
+ - bisect: sanity check on terms
584
585
+ The use of 'good/bad' in "git bisect" made it confusing to use when
586
+ hunting for a state change that is not a regression (e.g. bugfix).
587
+ The command learned 'old/new' and then allows the end user to
588
+ say e.g. "bisect start --term-old=fast --term=new=slow" to find a
589
+ performance regression.
590
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
591
+ Michael's idea to make 'good/bad' more intelligent does have
592
+ certain attractiveness ($gname/272867), and makes some of the work
593
+ on this topic a moot point.
594
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.
595
+ Will hold.
596
475
- Will merge to 'maint'.
597
477
- Note that this is irrelevant for 'master' with "git pull" rewritten
478
- in C.
598
+* mh/notes-allow-reading-treeish (2015-07-13) 1 commit
599
+ - notes: allow treeish expressions as notes ref
600
601
+ Some "git notes" operations, e.g. "git log --notes=<note>", should
602
+ be able to read notes from any tree-ish that is shaped like a notes
603
+ tree, but the notes infrastructure required that the argument must
604
+ be a ref under refs/notes/. Loosen it to require a valid ref only
605
+ when the operation would update the notes (in which case we must
606
+ have a place to store the updated notes tree, iow, a ref).
607
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
608
+ Needs update to docs.
609
+ ($gmane/273928)
610
486
- t1509 test that requires a dedicated VM environment had some
487
- bitrot, which has been corrected.
611
489
- Will merge to 'master'.
612
+* jc/diff-b-m (2015-02-23) 5 commits
613
+ . WIPWIP
614
+ . WIP: diff-b-m
615
+ - diffcore-rename: allow easier debugging
616
+ - diffcore-rename.c: add locate_rename_src()
617
+ - diffcore-break: allow debugging
618
619
+ "git diff -B -M" produced incorrect patch when the postimage of a
620
+ completely rewritten file is similar to the preimage of a removed
621
+ file; such a resulting file must not be expressed as a rename from
622
+ other place.
623
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
624
+ The fix in this patch is broken, unfortunately.
625
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.
626
502
- Will merge to 'master'.
627
+* pw/remote-set-url-fetch (2014-11-26) 1 commit
628
+ . remote: add --fetch and --both options to set-url
629
630
+ Ejected.
631
505
-* sb/remove-get-pathspec (2015-08-03) 1 commit
506
- - builtin/mv: remove get_pathspec()
632
508
- Expecting a reroll.
509
- ($gmane/275224)
633
+* tr/remerge-diff (2014-11-10) 9 commits
634
+ . t4213: avoid "|" in sed regexp
635
+ . log --remerge-diff: show what the conflict resolution changed
636
+ . name-hash: allow dir hashing even when !ignore_case
637
+ . merge-recursive: allow storing conflict hunks in index
638
+ . merge_diff_mode: fold all merge diff variants into an enum
639
+ . combine-diff: do not pass revs->dense_combined_merges redundantly
640
+ . merge-recursive: -Xindex-only to leave worktree unchanged
641
+ . merge-recursive: internal flag to avoid touching the worktree
642
+ . merge-recursive: remove dead conditional in update_stages()
643
644
+ "log -p" output learns a new way to let users inspect a merge
645
+ commit by showing the differences between the automerged result
646
+ with conflicts the person who recorded the merge would have seen
647
+ and the final conflict resolution that was recorded in the merge.
648
512
-* sb/submodule-helper (2015-08-07) 1 commit
513
- - submodule: implement `module_list` as a builtin helper
649
+ Waiting for a reroll.
650
+ ($gmane/256591).
651
515
- The beginning of "git submodule" rewritten in C.
652
653
+* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
654
+ - perf-lib: add test_perf_cleanup target
655
+ - perf-lib: split starting the test from the execution
656
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
657
+ Add test_perf_cleanup shell function to the perf suite, that allows
658
+ the script writers to define a test with a clean-up action.
659
522
- The command-line completion script (in contrib/) has been updated.
660
+ Will hold.
661
524
- Will merge to 'master'.
662
663
+* jc/show-branch (2014-03-24) 5 commits
664
+ - show-branch: use commit slab to represent bitflags of arbitrary width
665
+ - show-branch.c: remove "all_mask"
666
+ - show-branch.c: abstract out "flags" operation
667
+ - show-branch.c: lift all_mask/all_revs to a global static
668
+ - show-branch.c: update comment style
669
527
-* dt/untracked-subdir (2015-08-07) 2 commits
528
- - DONTMERGE: wait for Duy to Ack or comment
529
- - untracked-cache: fix subdirectory handling
670
+ Waiting for the final step to lift the hard-limit.
671
531
- Waiting for a review cycle to conclude.
532
- ($gmane/276019).
672
+--------------------------------------------------
673
+[Cooking]
674
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
685
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
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.
689
540
- Running tests with the "-x" option to make them verbose had some
541
- unpleasant interactions with other features of the test suite.
690
+ I think this is ready for 'next', but did I miss comments that need
691
+ to be addressed before it happens?
692
543
- Will merge to 'master'.
693
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
698
546
-* ad/cygwin-wants-rename (2015-08-07) 1 commit
547
- - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
699
+ Having a leftover .idx file without correspoinding .pack file in
700
+ the repository hurts performance; "git gc" learned to prune them.
701
549
- Will hold.
550
- ($gmane/275680).
702
+ Expecting a reroll.
703
704
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
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
708
557
- Test updates for Windows.
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.
711
712
Will merge to 'master'.
713
714
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()
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
718
566
- Long overdue micro clean-up.
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.
722
723
Will merge to 'master'.
724
725
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.
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
729
730
Will merge to 'master'.
731
732
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
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
736
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().
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.
740
741
Will merge to 'master'.
742
743
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.
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
747
748
Will merge to 'master'.
749
750
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'
621
- + config: add '--name-only' option to list only variable names
751
+* bb/remote-get-url (2015-08-05) 1 commit
752
+ - remote: add get-url subcommand
753
623
- "git config --list" output was hard to parse when values consist of
624
- multiple lines. "--name-only" option is added to help this.
754
+ "git remote" learned "get-url" subcommand to show the URL for a
755
+ given remote name used for fetching and pushing.
756
626
- Will merge to 'master'.
757
+ Waiting for a reroll.
758
+ ($gmane/275401)
759
760
629
-* mh/tempfile (2015-08-12) 16 commits
630
- (merged to 'next' on 2015-08-12 at 80efcb7)
631
- + credential-cache--daemon: use tempfile module
632
- + credential-cache--daemon: delete socket from main()
633
- + gc: use tempfile module to handle gc.pid file
634
- + lock_repo_for_gc(): compute the path to "gc.pid" only once
635
- + diff: use tempfile module
636
- + setup_temporary_shallow(): use tempfile module
637
- + write_shared_index(): use tempfile module
638
- + register_tempfile(): new function to handle an existing temporary file
639
- + tempfile: add several functions for creating temporary files
640
- + prepare_tempfile_object(): new function, extracted from create_tempfile()
641
- + tempfile: a new module for handling temporary files
642
- + commit_lock_file(): use get_locked_file_path()
643
- + lockfile: add accessor get_lock_file_path()
644
- + lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
645
- + create_bundle(): duplicate file descriptor to avoid closing it twice
646
- + lockfile: move documentation to lockfile.h and lockfile.c
761
+* 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
768
648
- The "lockfile" API has been rebuilt on top of a new "tempfile" API.
769
+ "git notes merge" can be told with "--strategy=<how>" option how to
770
+ automatically handle conflicts; this can now be configured by
771
+ setting notes.merge configuration variable.
772
650
- Will merge to 'master'.
773
+ I think this is ready for 'next', but did I miss comments that need
774
+ to be addressed before it happens?
775
776
653
-* jh/strbuf-read-use-read-in-full (2015-08-10) 1 commit
654
- (merged to 'next' on 2015-08-12 at db16247)
655
- + strbuf_read(): skip unnecessary strbuf_grow() at eof
777
+* hv/submodule-config (2015-08-19) 4 commits
778
+ (merged to 'next' on 2015-08-25 at 82adb30)
779
+ + submodule: allow erroneous values for the fetchRecurseSubmodules option
780
+ + submodule: use new config API for worktree configurations
781
+ + submodule: extract functions for config set and lookup
782
+ + submodule: implement a config API for lookup of .gitmodules values
783
+ (this branch is used by sb/submodule-helper.)
784
657
- strbuf_read() used to have one extra iteration (and an unnecessary
658
- strbuf_grow() of 8kB), which was eliminated.
785
+ The gitmodules API accessed from the C code learned to cache stuff
786
+ lazily.
787
788
Will merge to 'master'.
789
790
663
-* sb/check-return-from-read-ref (2015-08-03) 1 commit
664
- (merged to 'next' on 2015-08-12 at 4a1c801)
665
- + transport-helper: die on errors reading refs.
791
+* sb/submodule-helper (2015-08-25) 7 commits
792
+ - submodule: helper to run foreach in parallel
793
+ - thread-utils: add a threaded task queue
794
+ - FIXUP submodule: implement `module_clone` as a builtin helper
795
+ - submodule: implement `module_clone` as a builtin helper
796
+ - submodule: implement `module_name` as a builtin helper
797
+ - submodule: implement `module_list` as a builtin helper
798
+ - Merge 'hv/submodule-config' to 'sb/submodule-helper'
799
+ (this branch uses hv/submodule-config.)
800
667
- Will merge to 'master'.
801
+ The infrastructure to rewrite "git submodule" in C is being built
802
+ incrementally. These early part looks promising.
803
804
670
-* jk/negative-hiderefs (2015-08-07) 2 commits
671
- (merged to 'next' on 2015-08-12 at bdc478d)
672
- + refs: support negative transfer.hideRefs
673
- + docs/config.txt: reorder hideRefs config
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
675
- A negative !ref entry in multi-value transfer.hideRefs
676
- configuration can be used to say "don't hide this one".
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
681
-* dt/notes-multiple (2015-08-11) 2 commits
682
- (merged to 'next' on 2015-08-12 at 0052055)
683
- + notes: handle multiple worktrees
684
- + worktrees: add find_shared_symref
685
-
686
- When linked worktree is used, simultaneous "notes merge" instances
687
- for the same ref in refs/notes/* are prevented from stomping on
688
- each other.
817
+* ad/cygwin-wants-rename (2015-08-07) 1 commit
818
+ - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
819
690
- Will merge to 'master'.
820
+ Will hold.
821
+ ($gmane/275680).
822
823
693
-* dt/refs-pseudo (2015-08-11) 6 commits
694
- (merged to 'next' on 2015-08-12 at 7078eb6)
695
- + pseudoref: check return values from read_ref()
696
- (merged to 'next' on 2015-08-03 at 3eafd33)
697
- + sequencer: replace write_cherry_pick_head with update_ref
698
- + bisect: use update_ref
699
- + pseudorefs: create and use pseudoref update and delete functions
700
- + refs: add ref_type function
701
- + refs: introduce pseudoref and per-worktree ref concepts
824
+* sg/config-name-only (2015-08-20) 6 commits
825
+ (merged to 'next' on 2015-08-25 at 6cb3b7d)
826
+ + get_urlmatch: avoid useless strbuf write
827
+ + format_config: simplify buffer handling
828
+ + format_config: don't init strbuf
829
+ + config: restructure format_config() for better control flow
830
+ (merged to 'next' on 2015-08-12 at c658fe4)
831
+ + completion: list variable names reliably with 'git config --name-only'
832
+ + config: add '--name-only' option to list only variable names
833
703
- To prepare for allowing a different "ref" backend to be plugged in
704
- to the system, update_ref()/delete_ref() have been taught about
705
- ref-like things like MERGE_HEAD that are per-worktree (they will
706
- always be written to the filesystem inside $GIT_DIR).
834
+ "git config --list" output was hard to parse when values consist of
835
+ multiple lines. "--name-only" option is added to help this.
836
837
Will merge to 'master'.
838
@@ -721,6 +850,7 @@ of the repositories listed at
850
+ ref-filter: implement '--points-at' option
851
+ tag: libify parse_opt_points_at()
852
+ t6302: for-each-ref tests for ref-filter APIs
853
+ (this branch is used by kn/for-each-tag.)
854
855
Originally merged to 'next' on 2015-07-15
856
@@ -756,6 +886,8 @@ of the repositories listed at
886
887
Code clean-up and minor fixes (so far).
888
889
+ Will merge to 'next'.
890
+
891
892
* jc/rerere-multi (2015-07-30) 7 commits
893
. t4200: rerere a merge with two identical conflicts
@@ -767,7 +899,9 @@ of the repositories listed at
899
- rerere: split conflict ID further
900
(this branch uses jc/rerere.)
901
770
- This is a contination of jc/rerere topic.
902
+ "git rerere" can encounter two or more files with the same conflict
903
+ signature that have to be resolved in different ways, but there was
904
+ no way to record these separate resolutions.
905
906
907
* jc/merge-drop-old-syntax (2015-04-29) 1 commit