What's cooking (2015/05 #02)
Junio C Hamano committed
May 6, 2015 at 12:53 UTC
dea8a2dd01c05423fd121289ff8f526ddfe59113
1 file changed
+401
-365
whats-cooking.txt
+401
-365
@@ -1,19 +1,20 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (May 2015, #01; Mon, 4)
4
-X-master-at: 3d4a3ffe64162b45ae7c991fc60623ecb4678cfd
5
-X-next-at: 7a0482398323b9bd8dbb64ab9010e63a95b81bce
3
+Subject: What's cooking in git.git (May 2015, #02; Wed, 6)
4
+X-master-at: 8440f74997cf7958c7e8ec853f590828085049b8
5
+X-next-at: 8e1974edaeee9161b10b8f31a7a86892259e9768
6
7
-What's cooking in git.git (May 2015, #01; Mon, 4)
7
+What's cooking in git.git (May 2015, #02; Wed, 6)
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
-Git 2.4 final has been tagged. We'll wait for a few days to see
15
-if there are brown-paper-bag bugs, fix them if there are any, and
16
-then rewind 'next' and rebuild it to kick off the next cycle.
14
+The first batch for the next feature release (tentatively called 2.5)
15
+has been merged to 'master'. They mostly are fixes that are meant
16
+for the first maintenance release for 2.4.x track. The tip of 'next'
17
+has been rewound and rebuilt.
18
19
You can find the changes described here in the integration branches
20
of the repositories listed at
@@ -21,101 +22,222 @@ of the repositories listed at
22
http://git-blame.blogspot.com/p/git-public-repositories.html
23
24
--------------------------------------------------
24
-[New Topics]
25
+[Graduated to "master"]
26
26
-* mh/ref-directory-file (2015-05-03) 18 commits
27
- - reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
28
- - ref_transaction_commit(): delete extra "the" from error message
29
- - ref_transaction_commit(): provide better error messages
30
- - rename_ref(): integrate lock_ref_sha1_basic() errors into ours
31
- - lock_ref_sha1_basic(): improve diagnostics for D/F conflicts
32
- - lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
33
- - verify_refname_available(): report errors via a "struct strbuf *err"
34
- - verify_refname_available(): rename function
35
- - refs: check for D/F conflicts among refs processed in a transaction
36
- - ref_transaction_commit(): use a string_list for detecting duplicates
37
- - is_refname_available(): use dirname in first loop
38
- - struct nonmatching_ref_data: store a refname instead of a ref_entry
39
- - report_refname_conflict(): inline function
40
- - entry_matches(): inline function
41
- - is_refname_available(): convert local variable "dirname" to strbuf
42
- - is_refname_available(): avoid shadowing "dir" variable
43
- - is_refname_available(): explain the reason for an early exit
44
- - t1404: new tests of D/F conflicts within ref transactions
45
- (this branch uses mh/ref-lock-avoid-running-out-of-fds.)
27
+* bc/object-id (2015-03-13) 10 commits
28
+ (merged to 'next' on 2015-05-05 at 975002f)
29
+ + apply: convert threeway_stage to object_id
30
+ + patch-id: convert to use struct object_id
31
+ + commit: convert parts to struct object_id
32
+ + diff: convert struct combine_diff_path to object_id
33
+ + bulk-checkin.c: convert to use struct object_id
34
+ + zip: use GIT_SHA1_HEXSZ for trailers
35
+ + archive.c: convert to use struct object_id
36
+ + bisect.c: convert leaf functions to use struct object_id
37
+ + define utility functions for object IDs
38
+ + define a structure for object IDs
39
47
- Somehow this does not seem to pass its own test.
40
+ Originally merged to 'next' on 2015-03-24
41
42
+ Identify parts of the code that knows that we use SHA-1 hash to
43
+ name our objects too much, and use (1) symbolic constants instead
44
+ of hardcoded 20 as byte count and/or (2) use struct object_id
45
+ instead of unsigned char [20] for object names.
46
50
-* nd/dwim-wildcards-as-pathspecs (2015-05-03) 1 commit
51
- - pathspec: avoid the need of "--" when wildcard is used
47
53
- A heuristic to help the "git <cmd> <revs> <pathspec>" command line
54
- convention to catch mistyped paths is to make sure all the non-rev
55
- parameters in the later part of the command line are names of the
56
- files in the working tree, but that means "git grep $str -- \*.c"
57
- must always be disambiguated with "--", because nobody sane will
58
- create a file whose name literally is asterisk-dot-see. Loosen the
59
- heuristic to declare that with a wildcard string the user likely
60
- meant to give us a pathspec.
48
+* cn/bom-in-gitignore (2015-04-16) 5 commits
49
+ (merged to 'next' on 2015-05-05 at 8aa8b91)
50
+ + attr: skip UTF8 BOM at the beginning of the input file
51
+ + config: use utf8_bom[] from utf.[ch] in git_parse_source()
52
+ + utf8-bom: introduce skip_utf8_bom() helper
53
+ + add_excludes_from_file: clarify the bom skipping logic
54
+ + dir: allow a BOM at the beginning of exclude files
55
62
- Will merge to 'next'.
56
+ Originally merged to 'next' on 2015-04-21
57
58
+ Teach the codepaths that read .gitignore and .gitattributes files
59
+ that these files encoded in UTF-8 may have UTF-8 BOM marker at the
60
+ beginning; this makes it in line with what we do for configuration
61
+ files already.
62
65
-* pt/pull-tests (2015-05-03) 7 commits
66
- - t5521: test --dry-run does not make any changes
67
- - t5520: test --rebase failure on unborn branch with index
68
- - t5520: test --rebase with multiple branches
69
- - t5520: test work tree fast-forward when fetch updates head
70
- - t5520: test for failure if index has unresolved entries
71
- - t5520: implement tests for no merge candidates cases
72
- - t5520: test pulling multiple branches into an empty repository
63
74
- Add more test coverage to "git pull". This conflicts slightly with
75
- a new test jc/merge topic adds, but resolution is fairly trivial.
64
+* ep/fix-test-lib-functions-report (2015-04-16) 1 commit
65
+ (merged to 'next' on 2015-05-05 at e49e876)
66
+ + test-lib-functions.sh: fix the second argument to some helper functions
67
77
- Will merge to 'next'.
68
+ Originally merged to 'next' on 2015-04-21
69
70
80
-* sg/complete-decorate-full-not-long (2015-05-03) 1 commit
81
- - completion: fix and update 'git log --decorate=' options
71
+* jc/diff-no-index-d-f (2015-03-26) 2 commits
72
+ (merged to 'next' on 2015-05-05 at 61538ca)
73
+ + diff-no-index: align D/F handling with that of normal Git
74
+ + diff-no-index: DWIM "diff D F" into "diff D/F F"
75
83
- The completion for "log --decorate=" parameter value was incorrect.
76
+ Originally merged to 'next' on 2015-03-27
77
85
- Will merge to 'next'.
78
+ The usual "git diff" when seeing a file turning into a directory
79
+ showed a patchset to remove the file and create all files in the
80
+ directory, but "git diff --no-index" simply refused to work. Also,
81
+ when asked to compare a file and a directory, imitate POSIX "diff"
82
+ and compare the file with the file with the same name in the
83
+ directory, instead of refusing to run.
84
85
88
-* sg/completion-no-redundant-all-command-list (2015-05-03) 1 commit
89
- - completion: remove redundant __git_compute_all_commands() call
86
+* jc/epochtime-wo-tz (2015-04-15) 2 commits
87
+ (merged to 'next' on 2015-05-05 at 3d10988)
88
+ + parse_date_basic(): let the system handle DST conversion
89
+ + parse_date_basic(): return early when given a bogus timestamp
90
91
- Will merge to 'next'.
91
+ Originally merged to 'next' on 2015-04-21
92
93
+ "git commit --date=now" or anything that relies on approxidate lost
94
+ the daylight-saving-time offset.
95
94
-* jc/hash-object (2015-05-04) 4 commits
95
- - write_sha1_file(): do not use a separate sha1[] array
96
- - t1007: add hash-object --literally tests
97
- - write_sha1_file_prepare: fix buffer overrun with extra-long object type
98
- - git-hash-object.txt: document --literally option
96
100
- "hash-object --literally" introduced in v2.2 days was not prepared
101
- to take a really long object type name.
97
+* jk/init-core-worktree-at-root (2015-04-02) 1 commit
98
+ (merged to 'next' on 2015-05-05 at 65c7453)
99
+ + init: don't set core.worktree when initializing /.git
100
103
- Will merge to 'next'.
101
+ Originally merged to 'next' on 2015-04-08
102
103
+ We avoid setting core.worktree when the repository location is the
104
+ ".git" directory directly at the top level of the working tree, but
105
+ the code misdetected the case in which the working tree is at the
106
+ root level of the filesystem (which arguably is a silly thing to
107
+ do, but still valid).
108
106
-* jn/clean-use-error-not-fprintf-on-stderr (2015-05-04) 1 commit
107
- - config: use error() instead of fprintf(stderr, ...)
109
109
- Some error messages in "git config" were emitted without calling
110
- the usual error() facility.
110
+* jk/prune-mtime (2015-04-20) 3 commits
111
+ (merged to 'next' on 2015-05-05 at 6c0a311)
112
+ + sha1_file: only freshen packs once per run
113
+ + sha1_file: freshen pack objects before loose
114
+ + reachable: only mark local objects as recent
115
+
116
+ Originally merged to 'next' on 2015-04-21
117
+
118
+ Access to objects in repositories that borrow from another one on a
119
+ slow NFS server unnecessarily got more expensive due to recent code
120
+ becoming more cautious in a naive way not to lose objects to pruning.
121
+
122
+
123
+* jk/type-from-string-gently (2015-04-17) 1 commit
124
+ (merged to 'next' on 2015-05-05 at 73b5c2a)
125
+ + type_from_string_gently: make sure length matches
126
+
127
+ Originally merged to 'next' on 2015-04-20
128
+
129
+ "git cat-file bl $blob" failed to barf even though there is no
130
+ object type that is "bl".
131
+
132
+
133
+* ld/p4-filetype-detection (2015-04-04) 3 commits
134
+ (merged to 'next' on 2015-05-05 at ce95858)
135
+ + git-p4: fix filetype detection on files opened exclusively
136
+ + git-p4: small fix for locked-file-move-test
137
+ + git-p4: fix small bug in locked test scripts
138
+
139
+ Originally merged to 'next' on 2015-04-08
140
+
141
+
142
+* mh/show-branch-topic (2015-03-31) 1 commit
143
+ (merged to 'next' on 2015-05-05 at 43c6237)
144
+ + show-branch: show all local heads when only giving one rev along --topics
145
+
146
+ Originally merged to 'next' on 2015-04-08
147
+
148
+ "git show-branch --topics HEAD" (with no other arguments) did not
149
+ do anything interesting. Instead, contrast the given revision
150
+ against all the local branches by default.
151
+
152
+
153
+* mm/usage-log-l-can-take-regex (2015-04-20) 2 commits
154
+ (merged to 'next' on 2015-05-05 at dbe590c)
155
+ + log -L: improve error message on malformed argument
156
+ + Documentation: change -L:<regex> to -L:<funcname>
157
+
158
+ Originally merged to 'next' on 2015-04-21
159
+
160
+ Documentation fix.
161
+
162
+
163
+* nd/t1509-chroot-test (2015-04-18) 1 commit
164
+ (merged to 'next' on 2015-05-05 at e93f60e)
165
+ + t1509: update prepare script to be able to run t1509 in chroot again
166
+
167
+ Originally merged to 'next' on 2015-04-21
168
+
169
+ Correct test bitrot.
170
+
171
+
172
+* oh/fix-config-default-user-name-section (2015-04-17) 1 commit
173
+ (merged to 'next' on 2015-05-05 at b4778c2)
174
+ + config: fix settings in default_user_config template
175
+
176
+ Originally merged to 'next' on 2015-04-20
177
+
178
+ The default $HOME/.gitconfig file created upon "git config --global"
179
+ that edits it had incorrectly spelled user.name and user.email
180
+ entries in it.
181
+
182
+
183
+* sb/line-log-plug-pairdiff-leak (2015-03-30) 1 commit
184
+ (merged to 'next' on 2015-05-05 at 3d8e735)
185
+ + line-log.c: fix a memleak
186
+
187
+ Originally merged to 'next' on 2015-04-08
188
+
189
+
190
+* sb/test-bitmap-free-at-end (2015-04-12) 1 commit
191
+ (merged to 'next' on 2015-05-05 at 2b83c75)
192
+ + pack-bitmap.c: fix a memleak
193
+
194
+ Originally merged to 'next' on 2015-04-14
195
+
196
+
197
+* ts/checkout-advice-plural (2015-04-02) 1 commit
198
+ (merged to 'next' on 2015-05-05 at 546f824)
199
+ + checkout: call a single commit "it" intead of "them"
200
+
201
+ Originally merged to 'next' on 2015-04-08
202
+
203
+--------------------------------------------------
204
+[New Topics]
205
+
206
+* jc/daemon-no-ipv6-for-2.4.1 (2015-05-05) 1 commit
207
+ (merged to 'next' on 2015-05-05 at 1eb279f)
208
+ + daemon: unbreak NO_IPV6 build regression
209
+
210
+ "git daemon" fails to build from the source under NO_IPV6
211
+ configuration (regression in 2.4).
212
+
213
+ Will merge to 'master' in the second batch.
214
+
215
+
216
+* sb/prefix-path-free-results (2015-05-05) 1 commit
217
+ - prefix_path(): unconditionally free results in the callers
218
+
219
+ Code clean-up (not a leak-fix).
220
221
Will merge to 'next'.
222
223
115
-* jc/clone-bundle (2015-04-30) 1 commit
116
- - repack: optionally create a clone.bundle
224
+* sg/completion-omit-credential-helpers (2015-05-05) 2 commits
225
+ - SQUASH???
226
+ - completion: remove credential helpers from porcelain commands
227
118
- Still an early WIP
228
+ The Git subcommand completion (in contrib/) listed credential
229
+ helpers among candidates, which is not something the end user would
230
+ invoke interatively.
231
+
232
+ Will merge to 'next' after squashing the fix in.
233
+
234
+
235
+* jk/skip-http-tests-under-no-curl (2015-05-06) 1 commit
236
+ - t/lib-httpd.sh: skip tests if NO_CURL is defined
237
+
238
+ Test clean-up.
239
+
240
+ Will merge to 'next'.
241
242
--------------------------------------------------
243
[Stalled]
@@ -137,21 +259,6 @@ of the repositories listed at
259
Waiting for a reroll.
260
261
140
-* mh/fdopen-with-retry (2015-03-06) 6 commits
141
- - buffer_fdinit(): use fdopen_with_retry()
142
- - update_info_file(): use fdopen_with_retry()
143
- - copy_to_log(): use fdopen_with_retry()
144
- - fdopen_lock_file(): use fdopen_with_retry()
145
- - SQUASH??? $gmane/264889
146
- - xfdopen(): if first attempt fails, free memory and try again
147
-
148
- Various parts of the code where they call fdopen() can fail when
149
- they run out of memory; attempt to proceed by retrying the
150
- operation after freeing some resource.
151
-
152
- Will discard.
153
-
154
-
262
* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
263
- t/lib-git-svn: check same httpd module dirs as lib-httpd
264
- t/lib-httpd: load mod_unixd
@@ -161,20 +268,6 @@ of the repositories listed at
268
with updated log message ($gmane/268061).
269
270
164
-* pt/xdg-config-path (2015-04-12) 7 commits
165
- - path.c: remove home_config_paths()
166
- - git-config: replace use of home_config_paths()
167
- - git-commit: replace use of home_config_paths()
168
- - credential-store.c: replace home_config_paths() with xdg_config_home()
169
- - dir.c: replace home_config_paths() with xdg_config_home()
170
- - attr.c: replace home_config_paths() with xdg_config_home()
171
- - path.c: implement xdg_config_home()
172
- (this branch uses pt/credential-xdg.)
173
-
174
- Seen some discussions.
175
- Waiting for a reroll ($gmane/267518).
176
-
177
-
271
* mh/numparse (2015-03-19) 14 commits
272
- diff_opt_parse(): use convert_i() when handling --abbrev=<num>
273
- diff_opt_parse(): use convert_i() when handling "-l<num>"
@@ -390,6 +483,105 @@ of the repositories listed at
483
--------------------------------------------------
484
[Cooking]
485
486
+* mh/ref-directory-file (2015-05-05) 19 commits
487
+ - SQUASH???
488
+ - reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
489
+ - ref_transaction_commit(): delete extra "the" from error message
490
+ - ref_transaction_commit(): provide better error messages
491
+ - rename_ref(): integrate lock_ref_sha1_basic() errors into ours
492
+ - lock_ref_sha1_basic(): improve diagnostics for D/F conflicts
493
+ - lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
494
+ - verify_refname_available(): report errors via a "struct strbuf *err"
495
+ - verify_refname_available(): rename function
496
+ - refs: check for D/F conflicts among refs processed in a transaction
497
+ - ref_transaction_commit(): use a string_list for detecting duplicates
498
+ - is_refname_available(): use dirname in first loop
499
+ - struct nonmatching_ref_data: store a refname instead of a ref_entry
500
+ - report_refname_conflict(): inline function
501
+ - entry_matches(): inline function
502
+ - is_refname_available(): convert local variable "dirname" to strbuf
503
+ - is_refname_available(): avoid shadowing "dir" variable
504
+ - is_refname_available(): explain the reason for an early exit
505
+ - t1404: new tests of D/F conflicts within ref transactions
506
+ (this branch uses mh/ref-lock-avoid-running-out-of-fds.)
507
+
508
+ Expecting a reroll.
509
+
510
+
511
+* nd/dwim-wildcards-as-pathspecs (2015-05-03) 1 commit
512
+ - pathspec: avoid the need of "--" when wildcard is used
513
+
514
+ A heuristic to help the "git <cmd> <revs> <pathspec>" command line
515
+ convention to catch mistyped paths is to make sure all the non-rev
516
+ parameters in the later part of the command line are names of the
517
+ files in the working tree, but that means "git grep $str -- \*.c"
518
+ must always be disambiguated with "--", because nobody sane will
519
+ create a file whose name literally is asterisk-dot-see. Loosen the
520
+ heuristic to declare that with a wildcard string the user likely
521
+ meant to give us a pathspec.
522
+
523
+ Will merge to 'next'.
524
+
525
+
526
+* pt/pull-tests (2015-05-03) 7 commits
527
+ - t5521: test --dry-run does not make any changes
528
+ - t5520: test --rebase failure on unborn branch with index
529
+ - t5520: test --rebase with multiple branches
530
+ - t5520: test work tree fast-forward when fetch updates head
531
+ - t5520: test for failure if index has unresolved entries
532
+ - t5520: implement tests for no merge candidates cases
533
+ - t5520: test pulling multiple branches into an empty repository
534
+
535
+ Add more test coverage to "git pull". This conflicts slightly with
536
+ a new test jc/merge topic adds, but resolution is fairly trivial.
537
+
538
+ Expecting a reroll ($gmane/268391).
539
+
540
+
541
+* sg/complete-decorate-full-not-long (2015-05-03) 1 commit
542
+ - completion: fix and update 'git log --decorate=' options
543
+
544
+ The completion for "log --decorate=" parameter value was incorrect.
545
+
546
+ Will merge to 'next'.
547
+
548
+
549
+* sg/completion-no-redundant-all-command-list (2015-05-03) 1 commit
550
+ - completion: remove redundant __git_compute_all_commands() call
551
+
552
+ Code simplification.
553
+
554
+ Will merge to 'next'.
555
+
556
+
557
+* jc/hash-object (2015-05-05) 4 commits
558
+ - write_sha1_file(): do not use a separate sha1[] array
559
+ - t1007: add hash-object --literally tests
560
+ - hash-object --literally: fix buffer overrun with extra-long object type
561
+ - git-hash-object.txt: document --literally option
562
+
563
+ "hash-object --literally" introduced in v2.2 days was not prepared
564
+ to take a really long object type name.
565
+
566
+ Will merge to 'next'.
567
+
568
+
569
+* jn/clean-use-error-not-fprintf-on-stderr (2015-05-04) 1 commit
570
+ (merged to 'next' on 2015-05-05 at 12391f1)
571
+ + config: use error() instead of fprintf(stderr, ...)
572
+
573
+ Some error messages in "git config" were emitted without calling
574
+ the usual error() facility.
575
+
576
+ Will merge to 'master' in the second batch.
577
+
578
+
579
+* jc/clone-bundle (2015-04-30) 1 commit
580
+ - repack: optionally create a clone.bundle
581
+
582
+ Still an early WIP
583
+
584
+
585
* jk/at-push-sha1 (2015-05-03) 12 commits
586
- for-each-ref: accept "%(push)" format
587
- for-each-ref: use skip_prefix instead of starts_with
@@ -408,28 +600,31 @@ of the repositories listed at
600
branch that tracks the branch at the remote the <branch> would be
601
pushed to.
602
411
- Rerolled (not reviewed yet).
603
+ Expecting a reroll ($gmane/268419, etc.).
604
605
606
* jk/rebase-quiet-noop (2015-04-28) 1 commit
415
- - rebase: silence "git checkout" for noop rebase
607
+ (merged to 'next' on 2015-05-05 at 82780b9)
608
+ + rebase: silence "git checkout" for noop rebase
609
610
"git rebase --quiet" was not quite quiet when there is nothing to
611
do.
612
420
- Will merge to 'next'.
613
+ Will merge to 'master' in the second batch.
614
615
616
* ld/p4-case-fold (2015-04-28) 1 commit
424
- - git-p4: add failing tests for case-folding p4d
617
+ (merged to 'next' on 2015-05-05 at 03ecbd0)
618
+ + git-p4: add failing tests for case-folding p4d
619
426
- Will merge to 'next'.
620
+ Will merge to 'master' in the second batch.
621
622
623
* va/fix-git-p4-tests (2015-04-28) 1 commit
430
- - git-p4: t9814: prevent --chain-lint failure
624
+ (merged to 'next' on 2015-05-05 at 795e858)
625
+ + git-p4: t9814: prevent --chain-lint failure
626
432
- Will merge to 'next'.
627
+ Will merge to 'master' in the second batch.
628
629
630
* jk/filter-branch-use-of-sed-on-incomplete-line (2015-04-29) 1 commit
@@ -451,18 +646,18 @@ of the repositories listed at
646
Will merge to 'next'.
647
648
454
-* ep/do-not-feed-a-pointer-to-array-size (2015-04-30) 2 commits
455
- - SQUASH???
649
+* ep/do-not-feed-a-pointer-to-array-size (2015-05-05) 1 commit
650
- git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array
651
652
Catch programmer mistake to feed a pointer not an array to
653
ARRAY_SIZE() macro, by using a couple of GCC extensions.
654
461
- With the fix-up, will merge to 'next'.
655
+ Will merge to 'next'.
656
657
658
* tb/blame-resurrect-convert-to-git (2015-05-03) 1 commit
465
- - blame: CRLF in the working tree and LF in the repo
659
+ (merged to 'next' on 2015-05-05 at 8e1974e)
660
+ + blame: CRLF in the working tree and LF in the repo
661
662
Some time ago, "git blame" (incorrectly) lost the convert_to_git()
663
call when synthesizing a fake "tip" commit that represents the
@@ -471,41 +666,16 @@ of the repositories listed at
666
platforms while terminating lines in their working tree files with
667
CRLF for their platform.
668
474
- Will merge to 'next'.
475
-
476
-
477
-* jc/epochtime-wo-tz (2015-04-15) 2 commits
478
- (merged to 'next' on 2015-04-21 at b926f72)
479
- + parse_date_basic(): let the system handle DST conversion
480
- + parse_date_basic(): return early when given a bogus timestamp
481
-
482
- "git commit --date=now" or anything that relies on approxidate lost
483
- the daylight-saving-time offset.
484
-
485
- Will merge to 'master' in the second batch of post v2.4 cycle.
669
+ Will merge to 'master' in the second batch.
670
671
672
* jc/plug-fmt-merge-msg-leak (2015-04-20) 1 commit
489
- (merged to 'next' on 2015-04-21 at 443c728)
673
+ (merged to 'next' on 2015-05-05 at bd94828)
674
+ fmt-merge-msg: plug small leak of commit buffer
675
492
- Will merge to 'master' in the second batch of post v2.4 cycle.
676
+ Originally merged to 'next' on 2015-04-21
677
494
-
495
-* cn/bom-in-gitignore (2015-04-16) 5 commits
496
- (merged to 'next' on 2015-04-21 at f7d56f1)
497
- + attr: skip UTF8 BOM at the beginning of the input file
498
- + config: use utf8_bom[] from utf.[ch] in git_parse_source()
499
- + utf8-bom: introduce skip_utf8_bom() helper
500
- + add_excludes_from_file: clarify the bom skipping logic
501
- + dir: allow a BOM at the beginning of exclude files
502
-
503
- Teach the codepaths that read .gitignore and .gitattributes files
504
- that these files encoded in UTF-8 may have UTF-8 BOM marker at the
505
- beginning; this makes it in line with what we do for configuration
506
- files already.
507
-
508
- Will merge to 'master' in the second batch of post v2.4 cycle.
678
+ Will merge to 'master' in the second batch.
679
680
681
* ee/clean-remove-dirs (2015-04-26) 5 commits
@@ -522,53 +692,42 @@ of the repositories listed at
692
Waiting for a reroll.
693
694
525
-* ep/fix-test-lib-functions-report (2015-04-16) 1 commit
526
- (merged to 'next' on 2015-04-21 at 23e584f)
527
- + test-lib-functions.sh: fix the second argument to some helper functions
528
-
529
- Will merge to 'master' in the second batch of post v2.4 cycle.
530
-
531
-
695
* jk/still-interesting (2015-04-17) 1 commit
533
- (merged to 'next' on 2015-04-21 at 58b54af)
696
+ (merged to 'next' on 2015-05-05 at 6a5c89c)
697
+ limit_list: avoid quadratic behavior from still_interesting
698
699
+ Originally merged to 'next' on 2015-04-21
700
+
701
"git rev-list --objects $old --not --all" to see if everything that
702
is reachable from $old is already connected to the existing refs
703
was very inefficient.
704
540
- Will merge to 'master' in the second batch of post v2.4 cycle.
541
-
542
-
543
-* jk/type-from-string-gently (2015-04-17) 1 commit
544
- (merged to 'next' on 2015-04-20 at a97611f)
545
- + type_from_string_gently: make sure length matches
546
-
547
- "git cat-file bl $blob" failed to barf even though there is no
548
- object type that is "bl".
549
-
550
- Will merge to 'master' in the first batch of post v2.4 cycle.
705
+ Will merge to 'master' in the second batch.
706
707
708
* ls/p4-changes-block-size (2015-04-20) 1 commit
554
- (merged to 'next' on 2015-04-21 at 830eeed)
709
+ (merged to 'next' on 2015-05-05 at 92596d4)
710
+ git-p4: use -m when running p4 changes
711
712
+ Originally merged to 'next' on 2015-04-21
713
+
714
"git p4" learned "--changes-block-size <n>" to read the changes in
715
chunks from Perforce, instead of making one call to "p4 changes"
716
that may trigger "too many rows scanned" error from Perforce.
717
561
- Will merge to 'master' in the second batch of post v2.4 cycle.
718
+ Will merge to 'master' in the second batch.
719
720
721
* mm/add-p-split-error (2015-04-16) 5 commits
565
- (merged to 'next' on 2015-04-23 at b1bd21a)
722
+ (merged to 'next' on 2015-05-05 at c556011)
723
+ stash -p: demonstrate failure of split with mixed y/n
724
+ t3904-stash-patch: factor PERL prereq at the top of the file
725
+ t3904-stash-patch: fix test description
726
+ add -p: demonstrate failure when running 'edit' after a split
727
+ t3701-add-interactive: simplify code
728
729
+ Originally merged to 'next' on 2015-04-23
730
+
731
When "add--interactive" splits a hunk into two overlapping hunks
732
and then let the user choose only one, it sometimes feeds an
733
incorrect patch text to "git apply". Add tests to demonstrate
@@ -578,71 +737,36 @@ of the repositories listed at
737
and biting us (I seem to have said "let's run with this and see
738
what happens" back then).
739
581
- Will merge to 'master' in the third batch of post v2.4 cycle.
582
-
583
-
584
-* mm/usage-log-l-can-take-regex (2015-04-20) 2 commits
585
- (merged to 'next' on 2015-04-21 at 03e951c)
586
- + log -L: improve error message on malformed argument
587
- + Documentation: change -L:<regex> to -L:<funcname>
588
-
589
- Will merge to 'master' in the second batch of post v2.4 cycle.
590
-
591
-
592
-* nd/t1509-chroot-test (2015-04-18) 1 commit
593
- (merged to 'next' on 2015-04-21 at 60d35d3)
594
- + t1509: update prepare script to be able to run t1509 in chroot again
595
-
596
- Correct test bitrot.
597
-
598
- Will merge to 'master' in the first batch of post v2.4 cycle.
599
-
600
-
601
-* oh/fix-config-default-user-name-section (2015-04-17) 1 commit
602
- (merged to 'next' on 2015-04-20 at b74b914)
603
- + config: fix settings in default_user_config template
604
-
605
- The default $HOME/.gitconfig file created upon "git config --global"
606
- that edits it had incorrectly spelled user.name and user.email
607
- entries in it.
608
-
609
- Will merge to 'master' in the first batch of post v2.4 cycle.
740
+ Will merge to 'master' in the second batch.
741
742
743
* tb/t0027-crlf (2015-04-25) 3 commits
613
- - t0027: Add repoMIX and LF_nul
614
- (merged to 'next' on 2015-04-21 at 142cb99)
744
+ (merged to 'next' on 2015-05-05 at 36accbb)
745
+ + t0027: Add repoMIX and LF_nul
746
+ t0027: support NATIVE_CRLF platforms
747
+ t0027: cleanup: rename functions; avoid non-leading TABs
748
618
- Will merge to 'next'.
619
-
620
-
621
-* jk/prune-mtime (2015-04-20) 3 commits
622
- (merged to 'next' on 2015-04-21 at 9990d41)
623
- + sha1_file: only freshen packs once per run
624
- + sha1_file: freshen pack objects before loose
625
- + reachable: only mark local objects as recent
749
+ Originally merged to 'next' on 2015-04-21
750
627
- Access to objects in repositories that borrow from another one on a
628
- slow NFS server unnecessarily got more expensive due to recent code
629
- becoming more cautious in a naive way not to lose objects to pruning.
751
+ More line-ending tests.
752
631
- Will merge to 'master' in the second batch of post v2.4 cycle.
753
+ Will merge to 'master' in the second batch.
754
755
756
* jc/gitignore-precedence (2015-04-22) 1 commit
635
- - ignore: info/exclude should trump core.excludesfile
757
+ (merged to 'next' on 2015-05-05 at 6ef85da)
758
+ + ignore: info/exclude should trump core.excludesfile
759
760
core.excludesfile (defaulting to $XDG_HOME/git/ignore) is supposed
761
to be overridden by repository-specific .git/info/exclude file, but
762
the order was swapped from the beginning. This belatedly fixes it.
763
641
- Will merge to 'next'.
764
+ Will merge to 'master' in the third batch.
765
766
767
* jk/git-no-more-argv0-path-munging (2015-04-22) 1 commit
645
- - stop putting argv[0] dirname at front of PATH
768
+ (merged to 'next' on 2015-05-05 at b3f9a45)
769
+ + stop putting argv[0] dirname at front of PATH
770
771
We have prepended $GIT_EXEC_PATH and the path "git" is installed in
772
(typically "/usr/bin") to $PATH when invoking subprograms and hooks
@@ -657,20 +781,21 @@ of the repositories listed at
781
and want to override them by having different ones in /usr/local/bin
782
and have the latter directory earlier in their $PATH).
783
660
- Will merge to 'next'.
784
+ Will merge to 'master' in the third batch.
785
786
787
* jk/stash-require-clean-index (2015-04-22) 3 commits
664
- - stash: require a clean index to apply
665
- - t3903: avoid applying onto dirty index
666
- - t3903: stop hard-coding commit sha1s
788
+ (merged to 'next' on 2015-05-05 at b5f6c32)
789
+ + stash: require a clean index to apply
790
+ + t3903: avoid applying onto dirty index
791
+ + t3903: stop hard-coding commit sha1s
792
793
"git stash pop/apply" forgot to make sure that not just the working
794
tree is clean but also the index is clean. The latter is important
795
as a stash application can conflict and the index will be used for
796
conflict resolution.
797
673
- Will merge to 'next'.
798
+ Will merge to 'master' in the third batch.
799
800
801
* jc/merge (2015-04-29) 15 commits
@@ -708,14 +833,18 @@ of the repositories listed at
833
Stop supporting "git merge <messsage> HEAD <commit>" syntax that
834
has been deprecated since October 2007.
835
711
- Will merge to 'next'.
836
+ Will merge to 'next' and keep there during the 2.5 cycle.
837
838
839
* jk/test-chain-lint (2015-04-28) 2 commits
715
- - test-lib: turn on GIT_TEST_CHAIN_LINT by default
716
- - t7502-commit.sh: fix a broken and-chain
840
+ (merged to 'next' on 2015-05-05 at e6f0290)
841
+ + test-lib: turn on GIT_TEST_CHAIN_LINT by default
842
+ + t7502-commit.sh: fix a broken and-chain
843
718
- Will merge to 'next'.
844
+ Developer support to automatically detect broken &&-chain in the
845
+ test scripts is now turned on by default.
846
+
847
+ Will merge to 'master' in the third batch.
848
849
850
* mh/ref-lock-avoid-running-out-of-fds (2015-04-25) 8 commits
@@ -743,9 +872,10 @@ of the repositories listed at
872
873
874
* bc/connect-plink (2015-04-28) 3 commits
746
- - connect: improve check for plink to reduce false positives
747
- - t5601: fix quotation error leading to skipped tests
748
- - connect: simplify SSH connection code path
875
+ (merged to 'next' on 2015-05-05 at 9def2e1)
876
+ + connect: improve check for plink to reduce false positives
877
+ + t5601: fix quotation error leading to skipped tests
878
+ + connect: simplify SSH connection code path
879
880
The connection initiation code for "ssh" transport tried to absorb
881
differences between the stock "ssh" and Putty-supplied "plink" and
@@ -753,22 +883,24 @@ of the repositories listed at
883
variants were too loose and falsely triggered when "plink" appeared
884
anywhere in the path (e.g. "/home/me/bin/uplink/ssh").
885
756
- Will merge to 'next'.
886
+ Will merge to 'master' in the third batch.
887
888
889
* jc/test-prereq-validate (2015-04-28) 1 commit
760
- - test: validate prerequistes syntax
890
+ (merged to 'next' on 2015-05-05 at a30464c)
891
+ + test: validate prerequistes syntax
892
893
Help us to find broken test script that splits the body part of the
894
test by mistaken use of wrong kind of quotes.
895
765
- Will merge to 'next'.
896
+ Will merge to 'master' in the third batch.
897
898
899
* fg/document-commit-message-stripping (2015-04-27) 1 commit
769
- - Documentation: clarify how "git commit" cleans up the edited log message
900
+ (merged to 'next' on 2015-05-05 at 1892a99)
901
+ + Documentation: clarify how "git commit" cleans up the edited log message
902
771
- Will merge to 'next'.
903
+ Will merge to 'master' in the third batch.
904
905
906
* ah/usage-strings (2015-05-03) 2 commits
@@ -779,7 +911,7 @@ of the repositories listed at
911
912
913
* jk/reading-packed-refs (2015-04-16) 9 commits
782
- (merged to 'next' on 2015-04-21 at c9bce73)
914
+ (merged to 'next' on 2015-05-05 at 89b5694)
915
+ t1430: add another refs-escape test
916
+ read_packed_refs: avoid double-checking sane refs
917
+ strbuf_getwholeline: use getdelim if it is available
@@ -790,11 +922,13 @@ of the repositories listed at
922
+ git-compat-util: add fallbacks for unlocked stdio
923
+ strbuf_getwholeline: use getc macro
924
925
+ Originally merged to 'next' on 2015-04-21
926
+
927
An earlier rewrite to use strbuf_getwholeline() instead of fgets(3)
928
to read packed-refs file revealed that the former is unacceptably
929
inefficient.
930
797
- Will merge to 'master' in the second batch of post v2.4 cycle.
931
+ Will merge to 'master' in the second batch.
932
933
934
* kn/cat-file-literally (2015-05-04) 5 commits
@@ -811,129 +945,79 @@ of the repositories listed at
945
series is in a good shape (the test may fail without Eric's fix
946
to "hash-object --literally" elsewhere, though).
947
814
- Will merge to 'next'.
815
-
816
-
817
-* ld/p4-filetype-detection (2015-04-04) 3 commits
818
- (merged to 'next' on 2015-04-08 at da735b4)
819
- + git-p4: fix filetype detection on files opened exclusively
820
- + git-p4: small fix for locked-file-move-test
821
- + git-p4: fix small bug in locked test scripts
822
-
823
- Will merge to 'master' in the first batch of post v2.4 cycle.
824
-
948
949
* lm/squelch-bg-progress (2015-04-15) 2 commits
827
- (merged to 'next' on 2015-04-21 at 9a8b1e9)
950
+ (merged to 'next' on 2015-05-05 at a2fe74d)
951
+ compat/mingw: stubs for getpgid() and tcgetpgrp()
952
+ progress: no progress in background
953
954
+ Originally merged to 'next' on 2015-04-21
955
+
956
Many long-running operations show progress eye-candy, even when
957
they are later backgrounded. Hide the eye-candy when the process
958
is sent to the background instead.
959
835
- Will merge to 'master' in the second batch of post v2.4 cycle.
836
-
837
-
838
-* sb/test-bitmap-free-at-end (2015-04-12) 1 commit
839
- (merged to 'next' on 2015-04-14 at 0ae4759)
840
- + pack-bitmap.c: fix a memleak
841
-
842
- Will merge to 'master' in the first batch of post v2.4 cycle.
960
+ Will merge to 'master' in the second batch.
961
962
963
* va/p4-client-path (2015-04-23) 2 commits
846
- (merged to 'next' on 2015-04-23 at e0d2065)
964
+ (merged to 'next' on 2015-05-05 at 852facc)
965
+ git-p4: improve client path detection when branches are used
966
+ t9801: check git-p4's branch detection with client spec enabled
967
968
+ Originally merged to 'next' on 2015-04-23
969
+
970
git p4 attempts to better handle branches in Perforce.
971
852
- Will merge to 'master' in the third batch of post v2.4 cycle.
972
+ Will merge to 'master' in the second batch.
973
974
975
* jk/sha1-file-reduce-useless-warnings (2015-03-30) 1 commit
856
- (merged to 'next' on 2015-04-21 at a8bd995)
976
+ (merged to 'next' on 2015-05-05 at a8de68e)
977
+ sha1_file: squelch "packfile cannot be accessed" warnings
978
859
- Will merge to 'master' in the second batch of post v2.4 cycle.
860
-
861
-
862
-* mh/show-branch-topic (2015-03-31) 1 commit
863
- (merged to 'next' on 2015-04-08 at 628ada5)
864
- + show-branch: show all local heads when only giving one rev along --topics
865
-
866
- "git show-branch --topics HEAD" (with no other arguments) did not
867
- do anything interesting. Instead, contrast the given revision
868
- against all the local branches by default.
869
-
870
- Will merge to 'master' in the first batch of post v2.4 cycle.
871
-
872
-
873
-* sb/line-log-plug-pairdiff-leak (2015-03-30) 1 commit
874
- (merged to 'next' on 2015-04-08 at 6ea8b71)
875
- + line-log.c: fix a memleak
876
-
877
- Will merge to 'master' in the first batch of post v2.4 cycle.
878
-
879
-
880
-* jk/init-core-worktree-at-root (2015-04-02) 1 commit
881
- (merged to 'next' on 2015-04-08 at 92a942b)
882
- + init: don't set core.worktree when initializing /.git
883
-
884
- We avoid setting core.worktree when the repository location is the
885
- ".git" directory directly at the top level of the working tree, but
886
- the code misdetected the case in which the working tree is at the
887
- root level of the filesystem (which arguably is a silly thing to
888
- do, but still valid).
889
-
890
- Will merge to 'master' in the first batch of post v2.4 cycle.
891
-
892
-
893
-* ts/checkout-advice-plural (2015-04-02) 1 commit
894
- (merged to 'next' on 2015-04-08 at dd5c436)
895
- + checkout: call a single commit "it" intead of "them"
979
+ Originally merged to 'next' on 2015-04-21
980
897
- Will merge to 'master' in the first batch of post v2.4 cycle.
981
+ Will merge to 'master' in the second batch.
982
983
984
* pt/credential-xdg (2015-03-25) 4 commits
901
- (merged to 'next' on 2015-03-25 at 765128e)
985
+ (merged to 'next' on 2015-05-05 at 0d6711f)
986
+ t0302: "unreadable" test needs POSIXPERM
903
- (merged to 'next' on 2015-03-24 at 9a3706e)
987
+ t0302: test credential-store support for XDG_CONFIG_HOME
988
+ git-credential-store: support XDG_CONFIG_HOME
989
+ git-credential-store: support multiple credential files
990
(this branch is used by pt/xdg-config-path.)
991
992
+ Originally merged to 'next' on 2015-03-25
993
+
994
Tweak the sample "store" backend of the credential helper to honor
995
XDG configuration file locations when specified.
996
912
- As this may see further updates, and also this is not an urgent
913
- issue anyway, I'll give it a bit more time for it to simmer.
914
-
915
- Will cook in 'next'.
997
+ Will merge to 'master' in the second batch.
998
999
918
-* jc/diff-no-index-d-f (2015-03-26) 2 commits
919
- (merged to 'next' on 2015-03-27 at 1f270f9)
920
- + diff-no-index: align D/F handling with that of normal Git
921
- + diff-no-index: DWIM "diff D F" into "diff D/F F"
1000
+* pt/xdg-config-path (2015-05-06) 7 commits
1001
+ - path.c: remove home_config_paths()
1002
+ - git-config: replace use of home_config_paths()
1003
+ - git-commit: replace use of home_config_paths()
1004
+ - credential-store.c: replace home_config_paths() with xdg_config_home()
1005
+ - dir.c: replace home_config_paths() with xdg_config_home()
1006
+ - attr.c: replace home_config_paths() with xdg_config_home()
1007
+ - path.c: implement xdg_config_home()
1008
+ (this branch uses pt/credential-xdg.)
1009
923
- The usual "git diff" when seeing a file turning into a directory
924
- showed a patchset to remove the file and create all files in the
925
- directory, but "git diff --no-index" simply refused to work. Also,
926
- when asked to compare a file and a directory, imitate POSIX "diff"
927
- and compare the file with the file with the same name in the
928
- directory, instead of refusing to run.
1010
+ Code clean-up for xdg configuration path support.
1011
930
- Will merge to 'master' in the first batch of post v2.4 cycle.
1012
+ Will merge to 'next'.
1013
1014
1015
* nd/diff-i-t-a (2015-03-23) 1 commit
934
- (merged to 'next' on 2015-03-24 at a6be89f)
1016
+ (merged to 'next' on 2015-05-05 at cba9cd9)
1017
+ diff-lib.c: adjust position of i-t-a entries in diff
1018
1019
+ Originally merged to 'next' on 2015-03-24
1020
+
1021
After "git add -N", the path appeared in output of "git diff HEAD"
1022
and "git diff --cached HEAD", leading "git status" to classify it
1023
as "Changes to be committed". Such a path, however, is not yet to
@@ -946,49 +1030,27 @@ of the repositories listed at
1030
should not talk about them, and "git diff" should show them as new
1031
files yet to be added to the index.
1032
949
- Will cook in 'next', as this brings in a new world order.
950
-
951
-
952
-* bc/object-id (2015-03-13) 10 commits
953
- (merged to 'next' on 2015-03-24 at 3ec4f83)
954
- + apply: convert threeway_stage to object_id
955
- + patch-id: convert to use struct object_id
956
- + commit: convert parts to struct object_id
957
- + diff: convert struct combine_diff_path to object_id
958
- + bulk-checkin.c: convert to use struct object_id
959
- + zip: use GIT_SHA1_HEXSZ for trailers
960
- + archive.c: convert to use struct object_id
961
- + bisect.c: convert leaf functions to use struct object_id
962
- + define utility functions for object IDs
963
- + define a structure for object IDs
964
-
965
- Identify parts of the code that knows that we use SHA-1 hash to
966
- name our objects too much, and use (1) symbolic constants instead
967
- of hardcoded 20 as byte count and/or (2) use struct object_id
968
- instead of unsigned char [20] for object names.
969
-
970
- Will merge to 'master' in the first batch of post v2.4 cycle.
1033
+ Will merge to 'master' in the third batch.
1034
1035
1036
* nd/slim-index-pack-memory-usage (2015-04-18) 2 commits
974
- (merged to 'next' on 2015-04-21 at 919b80d)
1037
+ (merged to 'next' on 2015-05-05 at 42bd845)
1038
+ index-pack: kill union delta_base to save memory
1039
+ index-pack: reduce object_entry size to save memory
1040
1041
+ Originally merged to 'next' on 2015-04-21
1042
+
1043
Memory usage of "git index-pack" has been trimmed by tens of
1044
per-cent.
1045
981
- Will merge to 'master' in the second batch of post v2.4 cycle.
1046
+ Will merge to 'master' in the second batch.
1047
1048
1049
* nd/multiple-work-trees (2015-03-31) 41 commits
985
- (merged to 'next' on 2015-04-02 at 7ea51b4)
1050
+ (merged to 'next' on 2015-05-05 at 0f04a1c)
1051
+ prune --worktrees: fix expire vs worktree existence condition
987
- (merged to 'next' on 2015-03-24 at 58b5a60)
1052
+ t1501: fix test with split index
989
- (merged to 'next' on 2015-03-20 at cc98ed0)
1053
+ t2026: fix broken &&-chain
991
- (merged to 'next' on 2015-02-18 at b51f696)
1054
+ t2026 needs procondition SANITY
1055
+ git-checkout.txt: a note about multiple checkout support for submodules
1056
+ checkout: add --ignore-other-wortrees
@@ -1028,36 +1090,10 @@ of the repositories listed at
1090
+ path.c: make get_pathname() call sites return const char *
1091
+ path.c: make get_pathname() return strbuf instead of static buffer
1092
1093
+ Originally merged to 'next' on 2015-04-02
1094
+
1095
A replacement for contrib/workdir/git-new-workdir that does not
1096
rely on symbolic links and make sharing of objects and refs safer
1097
by making the borrowee and borrowers aware of each other.
1098
1035
- Will cook in 'next'.
1036
-
1037
---------------------------------------------------
1038
-[Discarded]
1039
-
1040
-* as/userdiff-sh (2015-03-13) 1 commit
1041
- . userdiff: funcname and word patterns for sh
1042
-
1043
- Add a built-in "userdiff" patterns to word-split and identify
1044
- notable lines in shell scripts to help presentation of diff and
1045
- grep output.
1046
-
1047
-
1048
-* sb/ref-lock-avoid-running-out-of-fds (2015-04-23) 5 commits
1049
- . refs.c: enable large transactions
1050
- . sha1_file.c: move get_max_fd_limit(void) to wrapper.c
1051
- - refs.c: remove lock_fd from struct ref_lock
1052
- - t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
1053
- - update-ref: test handling large transactions properly
1054
-
1055
-
1056
-* jc/merge-deprecate-old-syntax (2015-03-26) 1 commit
1057
- . merge: deprecate 'git merge <message> HEAD <commit>' syntax
1058
-
1059
- The first step to really start the process of removing the ancient
1060
- syntax to invoke a two-way merge, which has been deprecated since
1061
- October 2007.
1062
-
1063
- This regresses "git pull" in various ways; do not merge ($gmane/267432).
1099
+ Will merge to 'master' in the second batch.