What's cooking (2017/03 #04)
Junio C Hamano committed
Mar 10, 2017 at 14:43 UTC
4b79f603be64a558eda6da4a14dca45ea8dbbece
1 file changed
+391
-390
whats-cooking.txt
+391
-390
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Mar 2017, #03; Wed, 8)
4
-X-master-at: e0688e9b28f2c5ff711460ee8b62077be5df2360
5
-X-next-at: 76c07830f9451c898309f3a605eb1f610cf92335
3
+Subject: What's cooking in git.git (Mar 2017, #04; Fri, 10)
4
+X-master-at: 625568cd8813bf32b2172eaf59e45e9da5978ce3
5
+X-next-at: 88fb0023506122bc4e8d1df1648518e0b0d264db
6
7
-What's cooking in git.git (Mar 2017, #03; Wed, 8)
7
+What's cooking in git.git (Mar 2017, #04; Fri, 10)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -18,86 +18,280 @@ of the repositories listed at
18
http://git-blame.blogspot.com/p/git-public-repositories.html
19
20
--------------------------------------------------
21
-[New Topics]
21
+[Graduated to "master"]
22
23
-* ew/http-alternates-as-redirects-warning (2017-03-06) 2 commits
24
- - http: release strbuf on disabled alternates
25
- - http: inform about alternates-as-redirects behavior
23
+* ew/markdown-url-in-readme (2017-03-01) 1 commit
24
+ (merged to 'next' on 2017-03-03 at 3d35e3a991)
25
+ + README: create HTTP/HTTPS links from URLs in Markdown
26
27
- Recent versions of Git treats http alternates (used in dumb http
28
- transport) just like HTTP redirects and requires the client to
29
- enable following it, due to security concerns. But we forgot to
30
- give a warning when we decide not to honor the alternates.
27
+ Doc update.
28
32
- Will merge to 'next'.
29
30
+* jc/config-case-cmdline-take-2 (2017-02-23) 2 commits
31
+ (merged to 'next' on 2017-03-01 at 2e9920eeeb)
32
+ + config: use git_config_parse_key() in git_config_parse_parameter()
33
+ + config: move a few helper functions up
34
35
-* jk/ewah-use-right-type-in-sizeof (2017-03-06) 1 commit
36
- - ewah: fix eword_t/uint64_t confusion
35
+ The code to parse "git -c VAR=VAL cmd" and set configuration
36
+ variable for the duration of cmd had two small bugs, which have
37
+ been fixed.
38
+ This supersedes jc/config-case-cmdline topic that has been discarded.
39
38
- Code clean-up.
40
40
- Will merge to 'next'.
41
+* jh/send-email-one-cc (2017-02-27) 1 commit
42
+ (merged to 'next' on 2017-03-02 at 32c0e6ad88)
43
+ + send-email: only allow one address per body tag
44
45
+ "Cc:" on the trailer part does not have to conform to RFC strictly,
46
+ unlike in the e-mail header. "git send-email" has been updated to
47
+ ignore anything after '>' when picking addresses, to allow non-address
48
+ cruft like " # stable 4.4" after the address.
49
43
-* jk/push-deadlock-regression-fix (2017-03-07) 6 commits
44
- - send-pack: report signal death of pack-objects
45
- - send-pack: read "unpack" status even on pack-objects failure
46
- - send-pack: improve unpack-status error messages
47
- - send-pack: use skip_prefix for parsing unpack status
48
- - send-pack: extract parsing of "unpack" response
49
- - receive-pack: fix deadlock when we cannot create tmpdir
50
51
- "git push" had a handful of codepaths that could lead to a deadlock
52
- when unexpected error happened, which has been fixed.
51
+* jk/http-auth (2017-02-27) 2 commits
52
+ (merged to 'next' on 2017-03-02 at 87f81b4395)
53
+ + http: add an "auto" mode for http.emptyauth
54
+ + http: restrict auth methods to what the server advertises
55
54
- Will merge to 'next'.
56
+ Reduce authentication round-trip over HTTP when the server supports
57
+ just a single authentication method.
58
59
57
-* vn/line-log-memcpy-size-fix (2017-03-06) 1 commit
58
- - line-log: use COPY_ARRAY to fix mis-sized memcpy
60
+* jk/ident-empty (2017-02-23) 4 commits
61
+ (merged to 'next' on 2017-03-01 at ff80031ce6)
62
+ + ident: do not ignore empty config name/email
63
+ + ident: reject all-crud ident name
64
+ + ident: handle NULL email when complaining of empty name
65
+ + ident: mark error messages for translation
66
60
- The command-line parsing of "git log -L" copied internal data
61
- structures using incorrect size on ILP32 systems.
67
+ user.email that consists of only cruft chars should consistently
68
+ error out, but didn't.
69
63
- Will merge to 'next'.
70
71
+* jk/parse-config-key-cleanup (2017-02-24) 3 commits
72
+ (merged to 'next' on 2017-03-01 at e531d8d3a9)
73
+ + parse_hide_refs_config: tell parse_config_key we don't want a subsection
74
+ + parse_config_key: allow matching single-level config
75
+ + parse_config_key: use skip_prefix instead of starts_with
76
+ (this branch uses sb/parse-hide-refs-config-cleanup.)
77
66
-* js/realpath-pathdup-fix (2017-03-08) 2 commits
67
- - real_pathdup(): fix callsites that wanted it to die on error
68
- - t1501: demonstrate NULL pointer access with invalid GIT_WORK_TREE
78
+ The "parse_config_key()" API function has been cleaned up.
79
70
- Git v2.12 was shipped with an embarrassing breakage where various
71
- operations that verify paths given from the user stopped dying when
72
- seeing an issue, and instead later triggering segfault.
80
74
- Will merge to 'next' and then to 'master', eventually down to 'maint'.
81
+* jk/t6300-cleanup (2017-02-27) 1 commit
82
+ (merged to 'next' on 2017-03-02 at 3087521bea)
83
+ + t6300: avoid creating refs/heads/HEAD
84
85
+ A test that creates a confusing branch whose name is HEAD has been
86
+ corrected not to do so.
87
77
-* kn/ref-filter-branch-list (2017-03-08) 1 commit
78
- - branch: honor --abbrev/--no-abbrev in --list mode
88
80
- "git branch --list" takes the "--abbrev" and "--no-abbrev" options
81
- to control the output of the object name in its "-v"(erbose)
82
- output, but a recent update started ignoring them; this fixes it
83
- before the breakage reaches to any released version.
89
+* jt/http-base-url-update-upon-redirect (2017-02-28) 1 commit
90
+ (merged to 'next' on 2017-03-03 at 5225bd3ef8)
91
+ + http: attempt updating base URL only if no error
92
85
- Will merge to 'next'.
93
+ When a redirected http transport gets an error during the
94
+ redirected request, we ignored the error we got from the server,
95
+ and ended up giving a not-so-useful error message.
96
97
88
-* sb/rev-parse-show-superproject-root (2017-03-08) 1 commit
89
- - rev-parse: add --show-superproject-working-tree
98
+* jt/upload-pack-error-report (2017-02-23) 1 commit
99
+ (merged to 'next' on 2017-03-01 at aea583dbe5)
100
+ + upload-pack: report "not our ref" to client
101
91
- From a working tree of a repository, a new option of "rev-parse"
92
- lets you ask if the repository is used as a submodule of another
93
- project, and where the root level of the working tree of that
94
- project (i.e. your superproject) is.
102
+ "git upload-pack", which is a counter-part of "git fetch", did not
103
+ report a request for a ref that was not advertised as invalid.
104
+ This is generally not a problem (because "git fetch" will stop
105
+ before making such a request), but is the right thing to do.
106
+
107
+
108
+* ps/docs-diffcore (2017-02-28) 2 commits
109
+ (merged to 'next' on 2017-03-03 at 9ca5691de2)
110
+ + docs/diffcore: unquote "Complete Rewrites" in headers
111
+ + docs/diffcore: fix grammar in diffcore-rename header
112
+
113
+ Doc update.
114
+
115
+
116
+* rj/remove-unused-mktemp (2017-02-28) 2 commits
117
+ (merged to 'next' on 2017-03-03 at 4512f0c5ab)
118
+ + wrapper.c: remove unused gitmkstemps() function
119
+ + wrapper.c: remove unused git_mkstemp() function
120
+
121
+ Code cleanup.
122
+
123
+
124
+* rs/commit-parsing-optim (2017-02-27) 2 commits
125
+ (merged to 'next' on 2017-03-02 at 22239f35df)
126
+ + commit: don't check for space twice when looking for header
127
+ + commit: be more precise when searching for headers
128
+
129
+ The code that parses header fields in the commit object has been
130
+ updated for (micro)performance and code hygiene.
131
+
132
+
133
+* rs/log-email-subject (2017-03-01) 2 commits
134
+ (merged to 'next' on 2017-03-03 at a2ecc84866)
135
+ + pretty: use fmt_output_email_subject()
136
+ + log-tree: factor out fmt_output_email_subject()
137
+
138
+ Code clean-up.
139
+
140
+
141
+* rs/sha1-file-plug-fallback-base-leak (2017-02-27) 1 commit
142
+ (merged to 'next' on 2017-03-02 at 03344b1119)
143
+ + sha1_file: release fallback base's memory in unpack_entry()
144
+
145
+ A leak in a codepath to read from a packed object in (rare) cases
146
+ has been plugged.
147
+
148
+
149
+* rs/strbuf-add-real-path (2017-02-27) 2 commits
150
+ (merged to 'next' on 2017-03-02 at 69191becd6)
151
+ + strbuf: add strbuf_add_real_path()
152
+ + cocci: use ALLOC_ARRAY
153
+
154
+ An helper function to make it easier to append the result from
155
+ real_path() to a strbuf has been added.
156
96
- Almost there, but documentation needs a bit more work.
157
+
158
+* sb/parse-hide-refs-config-cleanup (2017-02-24) 1 commit
159
+ (merged to 'next' on 2017-03-01 at fd722ba039)
160
+ + refs: parse_hide_refs_config to use parse_config_key
161
+ (this branch is used by jk/parse-config-key-cleanup.)
162
+
163
+ Code clean-up.
164
+
165
+
166
+* sb/submodule-init-url-selection (2017-02-28) 1 commit
167
+ (merged to 'next' on 2017-03-03 at 847d1f9a91)
168
+ + submodule init: warn about falling back to a local path
169
+
170
+ When "git submodule init" decides that the submodule in the working
171
+ tree is its upstream, it now gives a warning as it is not a very
172
+ common setup.
173
+
174
+
175
+* tg/stash-push (2017-02-28) 6 commits
176
+ (merged to 'next' on 2017-03-03 at b50fda0389)
177
+ + stash: allow pathspecs in the no verb form
178
+ + stash: use stash_push for no verb form
179
+ + stash: teach 'push' (and 'create_stash') to honor pathspec
180
+ + stash: refactor stash_create
181
+ + stash: add test for the create command line arguments
182
+ + stash: introduce push verb
183
+
184
+ "git stash save" takes a pathspec so that the local changes can be
185
+ stashed away only partially.
186
+
187
+--------------------------------------------------
188
+[New Topics]
189
+
190
+* jk/ref-filter-flags-cleanup (2017-03-10) 4 commits
191
+ - ref-filter: use separate cache for contains_tag_algo
192
+ - ref-filter: die on parse_commit errors
193
+ - ref-filter: use contains_result enum consistently
194
+ - ref-filter: move ref_cbdata definition into ref-filter.c
195
+
196
+ "git tag --contains" used to (ab)use the object bits to keep track
197
+ of the state of object reachability without clearing them after
198
+ use; this has been cleaned up and made to use the newer commit-slab
199
+ facility.
200
201
--------------------------------------------------
202
[Stalled]
203
204
+* nd/prune-in-worktree (2017-02-19) 15 commits
205
+ . rev-list: expose and document --single-worktree
206
+ . revision.c: --reflog add HEAD reflog from all worktrees
207
+ . files-backend: make reflog iterator go through per-worktree reflog
208
+ . refs: add refs_for_each_reflog[_ent]()
209
+ . revision.c: --all adds HEAD from all worktrees
210
+ . refs: remove dead for_each_*_submodule()
211
+ . revision.c: use refs_for_each*() instead of for_each_*_submodule()
212
+ . refs: add a refs_for_each_in() and friends
213
+ . refs: add refs_for_each_ref()
214
+ . refs: add refs_head_ref()
215
+ . refs: add refs_read_ref[_full]()
216
+ . refs: move submodule slash stripping code to get_submodule_ref_store
217
+ . revision.c: --indexed-objects add objects from all worktrees
218
+ . revision.c: refactor add_index_objects_to_pending()
219
+ . revision.h: new flag in struct rev_info wrt. worktree-related refs
220
+ (this branch uses nd/worktree-kill-parse-ref; is tangled with nd/files-backend-git-dir.)
221
+
222
+ "git gc" and friends when multiple worktrees are used off of a
223
+ single repository did not consider the index and per-worktree refs
224
+ of other worktrees as the root for reachability traversal, making
225
+ objects that are in use only in other worktrees to be subject to
226
+ garbage collection.
227
+
228
+
229
+* nd/worktree-kill-parse-ref (2017-02-19) 22 commits
230
+ . refs: kill set_worktree_head_symref()
231
+ . refs: add refs_create_symref()
232
+ . worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
233
+ . refs.c: add refs_resolve_ref_unsafe()
234
+ . refs: introduce get_worktree_ref_store()
235
+ . refs: rename get_ref_store() to get_submodule_ref_store() and make it public
236
+ . files-backend: remove submodule_allowed from files_downcast()
237
+ . refs: move submodule code out of files-backend.c
238
+ . path.c: move some code out of strbuf_git_path_submodule()
239
+ . refs.c: make get_main_ref_store() public and use it
240
+ . refs.c: kill register_ref_store(), add register_submodule_ref_store()
241
+ . refs.c: flatten get_ref_store() a bit
242
+ . refs: rename lookup_ref_store() to lookup_submodule_ref_store()
243
+ . refs.c: introduce get_main_ref_store()
244
+ . files-backend: remove the use of git_path()
245
+ . refs.c: share is_per_worktree_ref() to files-backend.c
246
+ . files-backend: replace *git_path*() with files_path()
247
+ . files-backend: add files_path()
248
+ . files-backend: convert git_path() to strbuf_git_path()
249
+ . refs-internal.c: make files_log_ref_write() static
250
+ . Merge branch 'mh/ref-remove-empty-directory' into nd/files-backend-git-dir
251
+ . Merge branch 'mh/submodule-hash' into nd/files-backend-git-dir
252
+ (this branch is used by nd/prune-in-worktree; is tangled with nd/files-backend-git-dir.)
253
+
254
+ (hopefully) a beginning of safer "git worktree" that is resistant
255
+ to "gc".
256
+
257
+ Waiting for nd/files-backend-git-dir to settle.
258
+
259
+
260
+* nd/files-backend-git-dir (2017-02-22) 26 commits
261
+ . t1406: new tests for submodule ref store
262
+ . t1405: some basic tests on main ref store
263
+ . t/helper: add test-ref-store to test ref-store functions
264
+ . refs: delete pack_refs() in favor of refs_pack_refs()
265
+ . files-backend: avoid ref api targetting main ref store
266
+ . refs: new transaction related ref-store api
267
+ . refs: add new ref-store api
268
+ . refs: rename get_ref_store() to get_submodule_ref_store() and make it public
269
+ . files-backend: replace submodule_allowed check in files_downcast()
270
+ . refs: move submodule code out of files-backend.c
271
+ . path.c: move some code out of strbuf_git_path_submodule()
272
+ . refs.c: make get_main_ref_store() public and use it
273
+ . refs.c: kill register_ref_store(), add register_submodule_ref_store()
274
+ . refs.c: flatten get_ref_store() a bit
275
+ . refs: rename lookup_ref_store() to lookup_submodule_ref_store()
276
+ . refs.c: introduce get_main_ref_store()
277
+ . files-backend: remove the use of git_path()
278
+ . files-backend: add and use files_refname_path()
279
+ . files-backend: add and use files_reflog_path()
280
+ . files-backend: move "logs/" out of TMP_RENAMED_LOG
281
+ . files-backend: convert git_path() to strbuf_git_path()
282
+ . files-backend: add and use files_packed_refs_path()
283
+ . files-backend: make files_log_ref_write() static
284
+ . refs.h: add forward declaration for structs used in this file
285
+ . Merge branch 'mh/ref-remove-empty-directory' into nd/files-backend-git-dir
286
+ . Merge branch 'mh/submodule-hash' into nd/files-backend-git-dir
287
+ (this branch is tangled with nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
288
+
289
+ The "submodule" specific field in the ref_store structure is
290
+ replaced with a more generic "gitdir" that can later be used also
291
+ when dealing with ref_store that represents the set of refs visible
292
+ from the other worktrees.
293
+
294
+
295
* nd/worktree-move (2017-01-27) 7 commits
296
. fixup! worktree move: new command
297
. worktree remove: new command
@@ -189,23 +383,98 @@ of the repositories listed at
383
--------------------------------------------------
384
[Cooking]
385
192
-* ls/filter-process-delayed (2017-03-06) 1 commit
193
- - convert: add "status=delayed" to filter process protocol
386
+* ew/http-alternates-as-redirects-warning (2017-03-06) 2 commits
387
+ (merged to 'next' on 2017-03-10 at 23be072a07)
388
+ + http: release strbuf on disabled alternates
389
+ + http: inform about alternates-as-redirects behavior
390
195
- cf. <xmqq60jmnmef.fsf@junio-linux.mtv.corp.google.com>
391
+ Recent versions of Git treats http alternates (used in dumb http
392
+ transport) just like HTTP redirects and requires the client to
393
+ enable following it, due to security concerns. But we forgot to
394
+ give a warning when we decide not to honor the alternates.
395
396
+ Will merge to 'master'.
397
198
-* ew/markdown-url-in-readme (2017-03-01) 1 commit
199
- (merged to 'next' on 2017-03-03 at 3d35e3a991)
200
- + README: create HTTP/HTTPS links from URLs in Markdown
398
202
- Doc update.
399
+* jk/ewah-use-right-type-in-sizeof (2017-03-06) 1 commit
400
+ (merged to 'next' on 2017-03-10 at ad66adacda)
401
+ + ewah: fix eword_t/uint64_t confusion
402
+
403
+ Code clean-up.
404
+
405
+ Will merge to 'master'.
406
+
407
+
408
+* jk/push-deadlock-regression-fix (2017-03-07) 6 commits
409
+ (merged to 'next' on 2017-03-10 at ceb0b819bf)
410
+ + send-pack: report signal death of pack-objects
411
+ + send-pack: read "unpack" status even on pack-objects failure
412
+ + send-pack: improve unpack-status error messages
413
+ + send-pack: use skip_prefix for parsing unpack status
414
+ + send-pack: extract parsing of "unpack" response
415
+ + receive-pack: fix deadlock when we cannot create tmpdir
416
+
417
+ "git push" had a handful of codepaths that could lead to a deadlock
418
+ when unexpected error happened, which has been fixed.
419
+
420
+ Will merge to 'master'.
421
+
422
+
423
+* vn/line-log-memcpy-size-fix (2017-03-06) 1 commit
424
+ (merged to 'next' on 2017-03-10 at 2e65ff89b7)
425
+ + line-log: use COPY_ARRAY to fix mis-sized memcpy
426
+
427
+ The command-line parsing of "git log -L" copied internal data
428
+ structures using incorrect size on ILP32 systems.
429
+
430
+ Will merge to 'master'.
431
+
432
+
433
+* js/realpath-pathdup-fix (2017-03-08) 2 commits
434
+ (merged to 'next' on 2017-03-10 at 5a84dbbd1d)
435
+ + real_pathdup(): fix callsites that wanted it to die on error
436
+ + t1501: demonstrate NULL pointer access with invalid GIT_WORK_TREE
437
+
438
+ Git v2.12 was shipped with an embarrassing breakage where various
439
+ operations that verify paths given from the user stopped dying when
440
+ seeing an issue, and instead later triggering segfault.
441
+
442
+ Will merge to 'master'.
443
+ ... and then to down to 'maint'.
444
+
445
+
446
+* kn/ref-filter-branch-list (2017-03-10) 1 commit
447
+ (merged to 'next' on 2017-03-10 at 73b43443f1)
448
+ + branch: honor --abbrev/--no-abbrev in --list mode
449
+
450
+ "git branch --list" takes the "--abbrev" and "--no-abbrev" options
451
+ to control the output of the object name in its "-v"(erbose)
452
+ output, but a recent update started ignoring them; this fixes it
453
+ before the breakage reaches to any released version.
454
455
Will merge to 'master'.
456
457
458
+* sb/rev-parse-show-superproject-root (2017-03-08) 1 commit
459
+ - rev-parse: add --show-superproject-working-tree
460
+
461
+ From a working tree of a repository, a new option of "rev-parse"
462
+ lets you ask if the repository is used as a submodule of another
463
+ project, and where the root level of the working tree of that
464
+ project (i.e. your superproject) is.
465
+
466
+ Almost there, but documentation needs a bit more work.
467
+
468
+
469
+* ls/filter-process-delayed (2017-03-06) 1 commit
470
+ - convert: add "status=delayed" to filter process protocol
471
+
472
+ cf. <xmqq60jmnmef.fsf@junio-linux.mtv.corp.google.com>
473
+
474
+
475
* jk/add-i-patch-do-prompt (2017-03-02) 1 commit
208
- - add--interactive: fix missing file prompt for patch mode with "-i"
476
+ (merged to 'next' on 2017-03-10 at 891ec6f5ba)
477
+ + add--interactive: fix missing file prompt for patch mode with "-i"
478
479
The patch subcommand of "git add -i" was meant to have paths
480
selection prompt just like other subcommand, unlike "git add -p"
@@ -213,20 +482,22 @@ of the repositories listed at
482
"add -i" lost the paths selection dialog, but it now has been
483
fixed.
484
216
- Will merge to 'next'.
485
+ Will merge to 'master'.
486
487
488
* ax/line-log-range-merge-fix (2017-03-03) 1 commit
220
- - line-log.c: prevent crash during union of too many ranges
489
+ (merged to 'next' on 2017-03-10 at 201073f113)
490
+ + line-log.c: prevent crash during union of too many ranges
491
492
The code to parse "git log -L..." command line was buggy when there
493
are many ranges specified with -L; overrun of the allocated buffer
494
has been fixed.
495
226
- Will merge to 'next'.
496
+ Will merge to 'master'.
497
498
229
-* js/early-config (2017-03-07) 10 commits
499
+* js/early-config (2017-03-10) 11 commits
500
+ - t1309: document cases where we would want early config not to die()
501
- setup_git_directory_gently_1(): avoid die()ing
502
- t1309: test read_early_config()
503
- read_early_config(): really discover .git/
@@ -243,46 +514,51 @@ of the repositories listed at
514
repository and was quite messy due to its "chicken-and-egg" nature.
515
The code has been restructured.
516
246
- Will merge to 'next' after waiting for a few days.
517
+ Almost perfect.
518
+ cf. <xmqqefy5yn4k.fsf@gitster.mtv.corp.google.com>
519
+ cf. <xmqq4lz1ylgv.fsf@gitster.mtv.corp.google.com>
520
521
522
* jt/perf-updates (2017-03-03) 3 commits
250
- - t/perf: add fallback for pre-bin-wrappers versions of git
251
- - t/perf: use $MODERN_GIT for all repo-copying steps
252
- - t/perf: export variable used in other blocks
523
+ (merged to 'next' on 2017-03-10 at 0c0b124ed4)
524
+ + t/perf: add fallback for pre-bin-wrappers versions of git
525
+ + t/perf: use $MODERN_GIT for all repo-copying steps
526
+ + t/perf: export variable used in other blocks
527
528
The t/perf performance test suite was not prepared to test not so
529
old versions of Git, but now it covers versions of Git that are not
530
so ancient.
531
258
- Will merge to 'next'.
532
+ Will merge to 'master'.
533
534
535
* ss/remote-bzr-hg-placeholder-wo-python (2017-03-03) 1 commit
262
- - contrib: git-remote-{bzr,hg} placeholders don't need Python
536
+ (merged to 'next' on 2017-03-10 at c8c4bb78a2)
537
+ + contrib: git-remote-{bzr,hg} placeholders don't need Python
538
539
There is no need for Python only to give a few messages to the
540
standard error stream, but we somehow did.
541
267
- Will merge to 'next'.
542
+ Will merge to 'master'.
543
544
545
* jk/interpret-branch-name (2017-03-02) 9 commits
271
- - checkout: restrict @-expansions when finding branch
272
- - strbuf_check_ref_format(): expand only local branches
273
- - branch: restrict @-expansions when deleting
274
- - t3204: test git-branch @-expansion corner cases
275
- - interpret_branch_name: allow callers to restrict expansions
276
- - strbuf_branchname: add docstring
277
- - strbuf_branchname: drop return value
278
- - interpret_branch_name: move docstring to header file
279
- - interpret_branch_name(): handle auto-namelen for @{-1}
546
+ (merged to 'next' on 2017-03-10 at 95cc55f9a3)
547
+ + checkout: restrict @-expansions when finding branch
548
+ + strbuf_check_ref_format(): expand only local branches
549
+ + branch: restrict @-expansions when deleting
550
+ + t3204: test git-branch @-expansion corner cases
551
+ + interpret_branch_name: allow callers to restrict expansions
552
+ + strbuf_branchname: add docstring
553
+ + strbuf_branchname: drop return value
554
+ + interpret_branch_name: move docstring to header file
555
+ + interpret_branch_name(): handle auto-namelen for @{-1}
556
557
"git branch @" created refs/heads/@ as a branch, and in general the
558
code that handled @{-1} and @{upstream} was a bit too loose in
559
disambiguating.
560
285
- Will merge to 'next'.
561
+ Will merge to 'master'.
562
563
564
* jk/sha1dc (2017-03-01) 7 commits
@@ -302,22 +578,12 @@ of the repositories listed at
578
579
580
* js/travis-32bit-linux (2017-03-06) 1 commit
305
- - Travis: also test on 32-bit Linux
581
+ (merged to 'next' on 2017-03-10 at 4cb69d0f77)
582
+ + Travis: also test on 32-bit Linux
583
584
Add 32-bit Linux variant to the set of platforms to be tested with
585
Travis CI.
586
310
- Will merge to 'next'.
311
-
312
-
313
-* jt/http-base-url-update-upon-redirect (2017-02-28) 1 commit
314
- (merged to 'next' on 2017-03-03 at 5225bd3ef8)
315
- + http: attempt updating base URL only if no error
316
-
317
- When a redirected http transport gets an error during the
318
- redirected request, we ignored the error we got from the server,
319
- and ended up giving a not-so-useful error message.
320
-
587
Will merge to 'master'.
588
589
@@ -330,44 +596,14 @@ of the repositories listed at
596
blob objects that are contained in an uninteresting commit as
597
uninteresting, because that is quite costly. Instead, it only
598
marked those that are contained in an uninteresting boundary commit
333
- as uninteresting.
334
-
335
- cf. <20170228215937.yd4juycjf7y3vish@sigill.intra.peff.net>
336
-
337
-
338
-* ps/docs-diffcore (2017-02-28) 2 commits
339
- (merged to 'next' on 2017-03-03 at 9ca5691de2)
340
- + docs/diffcore: unquote "Complete Rewrites" in headers
341
- + docs/diffcore: fix grammar in diffcore-rename header
342
-
343
- Doc update.
344
-
345
- Will merge to 'master'.
346
-
347
-
348
-* rj/remove-unused-mktemp (2017-02-28) 2 commits
349
- (merged to 'next' on 2017-03-03 at 4512f0c5ab)
350
- + wrapper.c: remove unused gitmkstemps() function
351
- + wrapper.c: remove unused git_mkstemp() function
352
-
353
- Code cleanup.
354
-
355
- Will merge to 'master'.
356
-
357
-
358
-* sb/submodule-init-url-selection (2017-02-28) 1 commit
359
- (merged to 'next' on 2017-03-03 at 847d1f9a91)
360
- + submodule init: warn about falling back to a local path
361
-
362
- Give a warning when "git submodule init" decides that the submodule
363
- in the working tree is its upstream, as it is not a very common
364
- setup.
599
+ as uninteresting.
600
366
- Will merge to 'master'.
601
+ cf. <20170228215937.yd4juycjf7y3vish@sigill.intra.peff.net>
602
603
604
* jc/diff-populate-filespec-size-only-fix (2017-03-02) 1 commit
370
- - diff: do not short-cut CHECK_SIZE_ONLY check in diff_populate_filespec()
605
+ (merged to 'next' on 2017-03-10 at 9b2d1ca50f)
606
+ + diff: do not short-cut CHECK_SIZE_ONLY check in diff_populate_filespec()
607
608
"git diff --quiet" relies on the size field in diff_filespec to be
609
correctly populated, but diff_populate_filespec() helper function
@@ -375,7 +611,7 @@ of the repositories listed at
611
field for paths that need to go through convert_to_git() (e.g. CRLF
612
conversion).
613
378
- Will merge to 'next'.
614
+ Will merge to 'master'.
615
616
617
* nd/conditional-config-include (2017-03-03) 5 commits
@@ -393,16 +629,6 @@ of the repositories listed at
629
Will merge to 'next' after squashing niggle-fixes in.
630
631
396
-* rs/log-email-subject (2017-03-01) 2 commits
397
- (merged to 'next' on 2017-03-03 at a2ecc84866)
398
- + pretty: use fmt_output_email_subject()
399
- + log-tree: factor out fmt_output_email_subject()
400
-
401
- Code clean-up.
402
-
403
- Will merge to 'master'.
404
-
405
-
632
* cc/split-index-config (2017-03-06) 22 commits
633
- Documentation/git-update-index: explain splitIndex.*
634
- Documentation/config: add splitIndex.sharedIndexExpire
@@ -430,46 +656,35 @@ of the repositories listed at
656
The experimental "split index" feature has gained a few
657
configuration variables to make it easier to use.
658
433
- I think this is almost ready for 'next'.
659
+ Will merge to 'next'.
660
661
662
* dp/filter-branch-prune-empty (2017-03-03) 4 commits
437
- - p7000: add test for filter-branch with --prune-empty
438
- - filter-branch: fix --prune-empty on parentless commits
439
- - t7003: ensure --prune-empty removes entire branch when applicable
440
- - t7003: ensure --prune-empty can prune root commit
663
+ (merged to 'next' on 2017-03-10 at 9317e24cd3)
664
+ + p7000: add test for filter-branch with --prune-empty
665
+ + filter-branch: fix --prune-empty on parentless commits
666
+ + t7003: ensure --prune-empty removes entire branch when applicable
667
+ + t7003: ensure --prune-empty can prune root commit
668
669
"git filter-branch --prune-empty" drops a single-parent commit that
670
becomes a no-op, but did not drop a root commit whose tree is empty.
671
445
- Will merge to 'next'.
446
-
447
-
448
-* jc/config-case-cmdline-take-2 (2017-02-23) 2 commits
449
- (merged to 'next' on 2017-03-01 at 2e9920eeeb)
450
- + config: use git_config_parse_key() in git_config_parse_parameter()
451
- + config: move a few helper functions up
452
-
453
- The code to parse "git -c VAR=VAL cmd" and set configuration
454
- variable for the duration of cmd had two small bugs, which have
455
- been fixed.
456
-
672
Will merge to 'master'.
458
- This supersedes jc/config-case-cmdline topic that has been discarded.
673
674
675
* ab/cond-skip-tests (2017-03-01) 3 commits
462
- - gitweb tests: skip tests when we don't have Time::HiRes
463
- - gitweb tests: change confusing "skip_all" phrasing
464
- - cvs tests: skip tests that call "cvs commit" when running as root
676
+ (merged to 'next' on 2017-03-10 at 38124fb5ce)
677
+ + gitweb tests: skip tests when we don't have Time::HiRes
678
+ + gitweb tests: change confusing "skip_all" phrasing
679
+ + cvs tests: skip tests that call "cvs commit" when running as root
680
681
A few tests were run conditionally under (rare) conditions where
682
they cannot be run (like running cvs tests under 'root' account).
683
469
- Will merge to 'next'.
684
+ Will merge to 'master'.
685
686
472
-* jk/interop-test (2017-02-27) 2 commits
687
+* jk/interop-test (2017-03-10) 2 commits
688
- t/interop: add test of old clients against modern git-daemon
689
- t: add an interoperability test harness
690
@@ -477,71 +692,7 @@ of the repositories listed at
692
older one and the newer one interoperate happily has now become
693
possible.
694
480
- Needs review.
481
-
482
-
483
-* jk/parse-config-key-cleanup (2017-02-24) 3 commits
484
- (merged to 'next' on 2017-03-01 at e531d8d3a9)
485
- + parse_hide_refs_config: tell parse_config_key we don't want a subsection
486
- + parse_config_key: allow matching single-level config
487
- + parse_config_key: use skip_prefix instead of starts_with
488
- (this branch uses sb/parse-hide-refs-config-cleanup.)
489
-
490
- The "parse_config_key()" API function has been cleaned up.
491
-
492
- Will merge to 'master'.
493
-
494
-
495
-* jk/t6300-cleanup (2017-02-27) 1 commit
496
- (merged to 'next' on 2017-03-02 at 3087521bea)
497
- + t6300: avoid creating refs/heads/HEAD
498
-
499
- A test that creates a confusing branch whose name is HEAD has been
500
- corrected not to do so.
501
-
502
- Will merge to 'master'.
503
-
504
-
505
-* rs/commit-parsing-optim (2017-02-27) 2 commits
506
- (merged to 'next' on 2017-03-02 at 22239f35df)
507
- + commit: don't check for space twice when looking for header
508
- + commit: be more precise when searching for headers
509
-
510
- The code that parses header fields in the commit object has been
511
- updated for (micro)performance and code hygiene.
512
-
513
- Will merge to 'master'.
514
-
515
-
516
-* rs/sha1-file-plug-fallback-base-leak (2017-02-27) 1 commit
517
- (merged to 'next' on 2017-03-02 at 03344b1119)
518
- + sha1_file: release fallback base's memory in unpack_entry()
519
-
520
- A leak in a codepath to read from a packed object in (rare) cases
521
- has been plugged.
522
-
523
- Will merge to 'master'.
524
-
525
-
526
-* rs/strbuf-add-real-path (2017-02-27) 2 commits
527
- (merged to 'next' on 2017-03-02 at 69191becd6)
528
- + strbuf: add strbuf_add_real_path()
529
- + cocci: use ALLOC_ARRAY
530
-
531
- An helper function to make it easier to append the result from
532
- real_path() to a strbuf has been added.
533
-
534
- Will merge to 'master'.
535
-
536
-
537
-* sb/parse-hide-refs-config-cleanup (2017-02-24) 1 commit
538
- (merged to 'next' on 2017-03-01 at fd722ba039)
539
- + refs: parse_hide_refs_config to use parse_config_key
540
- (this branch is used by jk/parse-config-key-cleanup.)
541
-
542
- Code clean-up.
543
-
544
- Will merge to 'master'.
695
+ Will merge to 'next'.
696
697
698
* sg/clone-refspec-from-command-line-config (2017-02-27) 1 commit
@@ -565,60 +716,13 @@ of the repositories listed at
716
cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>
717
718
568
-* jh/send-email-one-cc (2017-02-27) 1 commit
569
- (merged to 'next' on 2017-03-02 at 32c0e6ad88)
570
- + send-email: only allow one address per body tag
571
-
572
- "Cc:" on the trailer part does not have to conform to RFC strictly,
573
- unlike in the e-mail header. "git send-email" has been updated to
574
- ignore anything after '>' when picking addresses, to allow non-address
575
- cruft like " # stable 4.4" after the address.
576
-
577
- Will merge to 'master'.
578
-
579
-
580
-* jk/http-auth (2017-02-27) 2 commits
581
- (merged to 'next' on 2017-03-02 at 87f81b4395)
582
- + http: add an "auto" mode for http.emptyauth
583
- + http: restrict auth methods to what the server advertises
584
-
585
- Reduce authentication round-trip over HTTP when the server supports
586
- just a single authentication method.
587
-
588
- Will merge to 'master'.
589
-
590
-
591
-* jk/ident-empty (2017-02-23) 4 commits
592
- (merged to 'next' on 2017-03-01 at ff80031ce6)
593
- + ident: do not ignore empty config name/email
594
- + ident: reject all-crud ident name
595
- + ident: handle NULL email when complaining of empty name
596
- + ident: mark error messages for translation
597
-
598
- user.email that consists of only cruft chars should consistently
599
- error out, but didn't.
600
-
601
- Will merge to 'master'.
602
-
603
-
604
-* jt/upload-pack-error-report (2017-02-23) 1 commit
605
- (merged to 'next' on 2017-03-01 at aea583dbe5)
606
- + upload-pack: report "not our ref" to client
607
-
608
- "git upload-pack", which is a counter-part of "git fetch", did not
609
- report a request for a ref that was not advertised as invalid.
610
- This is generally not a problem (because "git fetch" will stop
611
- before making such a request), but is the right thing to do.
612
-
613
- Will merge to 'master'.
614
-
615
-
719
* ah/doc-ls-files-quotepath (2017-03-02) 1 commit
617
- - Documentation: improve description for core.quotePath
720
+ (merged to 'next' on 2017-03-10 at 5dfa78423a)
721
+ + Documentation: improve description for core.quotePath
722
723
Documentation for "git ls-files" did not refer to core.quotePath
724
621
- Will merge to 'next'.
725
+ Will merge to 'master'.
726
727
728
* jh/memihash-opt (2017-02-17) 5 commits
@@ -632,110 +736,21 @@ of the repositories listed at
736
cf. <MWHPR03MB29581B0EDDEDCA7D51EC396F8A280@MWHPR03MB2958.namprd03.prod.outlook.com>
737
738
635
-* nd/prune-in-worktree (2017-02-19) 15 commits
636
- . rev-list: expose and document --single-worktree
637
- . revision.c: --reflog add HEAD reflog from all worktrees
638
- . files-backend: make reflog iterator go through per-worktree reflog
639
- . refs: add refs_for_each_reflog[_ent]()
640
- . revision.c: --all adds HEAD from all worktrees
641
- . refs: remove dead for_each_*_submodule()
642
- . revision.c: use refs_for_each*() instead of for_each_*_submodule()
643
- . refs: add a refs_for_each_in() and friends
644
- . refs: add refs_for_each_ref()
645
- . refs: add refs_head_ref()
646
- . refs: add refs_read_ref[_full]()
647
- . refs: move submodule slash stripping code to get_submodule_ref_store
648
- . revision.c: --indexed-objects add objects from all worktrees
649
- . revision.c: refactor add_index_objects_to_pending()
650
- . revision.h: new flag in struct rev_info wrt. worktree-related refs
651
- (this branch uses nd/worktree-kill-parse-ref; is tangled with nd/files-backend-git-dir.)
652
-
653
- "git gc" and friends when multiple worktrees are used off of a
654
- single repository did not consider the index and per-worktree refs
655
- of other worktrees as the root for reachability traversal, making
656
- objects that are in use only in other worktrees to be subject to
657
- garbage collection.
658
-
659
-
739
* mm/fetch-show-error-message-on-unadvertised-object (2017-03-02) 3 commits
661
- - fetch-pack: add specific error for fetching an unadvertised object
662
- - fetch_refs_via_pack: call report_unmatched_refs
663
- - fetch-pack: move code to report unmatched refs to a function
740
+ (merged to 'next' on 2017-03-10 at 69e2023804)
741
+ + fetch-pack: add specific error for fetching an unadvertised object
742
+ + fetch_refs_via_pack: call report_unmatched_refs
743
+ + fetch-pack: move code to report unmatched refs to a function
744
745
"git fetch" that requests a commit by object name, when the other
746
side does not allow such an request, failed without much
747
explanation.
748
669
- Will merge to 'next'.
670
-
671
-
672
-* nd/worktree-kill-parse-ref (2017-02-19) 22 commits
673
- . refs: kill set_worktree_head_symref()
674
- . refs: add refs_create_symref()
675
- . worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
676
- . refs.c: add refs_resolve_ref_unsafe()
677
- . refs: introduce get_worktree_ref_store()
678
- . refs: rename get_ref_store() to get_submodule_ref_store() and make it public
679
- . files-backend: remove submodule_allowed from files_downcast()
680
- . refs: move submodule code out of files-backend.c
681
- . path.c: move some code out of strbuf_git_path_submodule()
682
- . refs.c: make get_main_ref_store() public and use it
683
- . refs.c: kill register_ref_store(), add register_submodule_ref_store()
684
- . refs.c: flatten get_ref_store() a bit
685
- . refs: rename lookup_ref_store() to lookup_submodule_ref_store()
686
- . refs.c: introduce get_main_ref_store()
687
- . files-backend: remove the use of git_path()
688
- . refs.c: share is_per_worktree_ref() to files-backend.c
689
- . files-backend: replace *git_path*() with files_path()
690
- . files-backend: add files_path()
691
- . files-backend: convert git_path() to strbuf_git_path()
692
- . refs-internal.c: make files_log_ref_write() static
693
- . Merge branch 'mh/ref-remove-empty-directory' into nd/files-backend-git-dir
694
- . Merge branch 'mh/submodule-hash' into nd/files-backend-git-dir
695
- (this branch is used by nd/prune-in-worktree; is tangled with nd/files-backend-git-dir.)
696
-
697
- (hopefully) a beginning of safer "git worktree" that is resistant
698
- to "gc".
699
-
700
- Waiting for nd/files-backend-git-dir to settle.
701
-
702
-
703
-* nd/files-backend-git-dir (2017-02-22) 26 commits
704
- . t1406: new tests for submodule ref store
705
- . t1405: some basic tests on main ref store
706
- . t/helper: add test-ref-store to test ref-store functions
707
- . refs: delete pack_refs() in favor of refs_pack_refs()
708
- . files-backend: avoid ref api targetting main ref store
709
- . refs: new transaction related ref-store api
710
- . refs: add new ref-store api
711
- . refs: rename get_ref_store() to get_submodule_ref_store() and make it public
712
- . files-backend: replace submodule_allowed check in files_downcast()
713
- . refs: move submodule code out of files-backend.c
714
- . path.c: move some code out of strbuf_git_path_submodule()
715
- . refs.c: make get_main_ref_store() public and use it
716
- . refs.c: kill register_ref_store(), add register_submodule_ref_store()
717
- . refs.c: flatten get_ref_store() a bit
718
- . refs: rename lookup_ref_store() to lookup_submodule_ref_store()
719
- . refs.c: introduce get_main_ref_store()
720
- . files-backend: remove the use of git_path()
721
- . files-backend: add and use files_refname_path()
722
- . files-backend: add and use files_reflog_path()
723
- . files-backend: move "logs/" out of TMP_RENAMED_LOG
724
- . files-backend: convert git_path() to strbuf_git_path()
725
- . files-backend: add and use files_packed_refs_path()
726
- . files-backend: make files_log_ref_write() static
727
- . refs.h: add forward declaration for structs used in this file
728
- . Merge branch 'mh/ref-remove-empty-directory' into nd/files-backend-git-dir
729
- . Merge branch 'mh/submodule-hash' into nd/files-backend-git-dir
730
- (this branch is tangled with nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
731
-
732
- The "submodule" specific field in the ref_store structure is
733
- replaced with a more generic "gitdir" that can later be used also
734
- when dealing with ref_store that represents the set of refs visible
735
- from the other worktrees.
749
+ Will merge to 'master'.
750
751
738
-* sb/checkout-recurse-submodules (2017-03-07) 18 commits
752
+* sb/checkout-recurse-submodules (2017-03-10) 19 commits
753
+ - submodule--helper.c: remove duplicate code
754
- builtin/read-tree: add --recurse-submodules switch
755
- builtin/checkout: add --recurse-submodules switch
756
- entry.c: update submodules when interesting
@@ -758,21 +773,6 @@ of the repositories listed at
773
"git checkout" is taught --recurse-submodules option.
774
775
761
-* tg/stash-push (2017-02-28) 6 commits
762
- (merged to 'next' on 2017-03-03 at b50fda0389)
763
- + stash: allow pathspecs in the no verb form
764
- + stash: use stash_push for no verb form
765
- + stash: teach 'push' (and 'create_stash') to honor pathspec
766
- + stash: refactor stash_create
767
- + stash: add test for the create command line arguments
768
- + stash: introduce push verb
769
-
770
- Allow "git stash" to take pathspec so that the local changes can be
771
- stashed away only partially.
772
-
773
- Will merge to 'master'.
774
-
775
-
776
* bc/object-id (2017-02-22) 19 commits
777
- wt-status: convert to struct object_id
778
- builtin/merge-base: convert to struct object_id
@@ -801,12 +801,13 @@ of the repositories listed at
801
802
803
* jh/mingw-openssl-sha1 (2017-02-09) 1 commit
804
- - mingw: use OpenSSL's SHA-1 routines
804
+ (merged to 'next' on 2017-03-10 at 8a1aa07def)
805
+ + mingw: use OpenSSL's SHA-1 routines
806
807
Windows port wants to use OpenSSL's implementation of SHA-1
808
routines, so let them.
809
809
- Will merge to 'next'.
810
+ Will merge to 'master'.
811
812
813
* sg/completion-refs-speedup (2017-02-13) 13 commits