What's cooking (2015/05 #06)
Junio C Hamano committed
May 22, 2015 at 15:12 UTC
5a10c05e99461d2fc9455b1767ba82bdf2b6ae79
1 file changed
+357
-430
whats-cooking.txt
+357
-430
@@ -1,16 +1,18 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (May 2015, #05; Tue, 19)
4
-X-master-at: 6c1249c503f39ca45ca5b183527b22192cdaf7a7
5
-X-next-at: 3179493ddf99afea85d647dbfa9ebe48a70b9cc0
3
+Subject: What's cooking in git.git (May 2015, #06; Fri, 22)
4
+X-master-at: 9532ead9875b7b92ff2007f9de61af5874e8839a
5
+X-next-at: b70f6470d4a42c2efce07be8bc1edac7c5743a77
6
7
-What's cooking in git.git (May 2015, #05; Tue, 19)
7
+What's cooking in git.git (May 2015, #06; Fri, 22)
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 fourth batch of topics have been merged to 'master'.
15
+
16
The "untracked cache" series is in 'next', to give it a wider
17
exposure. I do not use it personally, but it is meant to make life
18
easier for those with large amount of untracked cruft in their
@@ -25,169 +27,30 @@ of the repositories listed at
27
--------------------------------------------------
28
[Graduated to "master"]
29
28
-* bc/connect-plink (2015-04-28) 3 commits
29
- (merged to 'next' on 2015-05-05 at 9def2e1)
30
- + connect: improve check for plink to reduce false positives
31
- + t5601: fix quotation error leading to skipped tests
32
- + connect: simplify SSH connection code path
33
-
34
- The connection initiation code for "ssh" transport tried to absorb
35
- differences between the stock "ssh" and Putty-supplied "plink" and
36
- its derivatives, but the logic to tell that we are using "plink"
37
- variants were too loose and falsely triggered when "plink" appeared
38
- anywhere in the path (e.g. "/home/me/bin/uplink/ssh").
39
-
40
-
41
-* fg/document-commit-message-stripping (2015-04-27) 1 commit
42
- (merged to 'next' on 2015-05-05 at 1892a99)
43
- + Documentation: clarify how "git commit" cleans up the edited log message
44
-
45
-
46
-* jc/gitignore-precedence (2015-04-22) 1 commit
47
- (merged to 'next' on 2015-05-05 at 6ef85da)
48
- + ignore: info/exclude should trump core.excludesfile
49
-
50
- core.excludesfile (defaulting to $XDG_HOME/git/ignore) is supposed
51
- to be overridden by repository-specific .git/info/exclude file, but
52
- the order was swapped from the beginning. This belatedly fixes it.
53
-
54
-
55
-* jc/merge (2015-04-29) 15 commits
56
- (merged to 'next' on 2015-05-07 at 1c56512)
57
- + merge: deprecate 'git merge <message> HEAD <commit>' syntax
58
- + merge: handle FETCH_HEAD internally
59
- + merge: decide if we auto-generate the message early in collect_parents()
60
- + merge: make collect_parents() auto-generate the merge message
61
- + merge: extract prepare_merge_message() logic out
62
- + merge: narrow scope of merge_names
63
- + merge: split reduce_parents() out of collect_parents()
64
- + merge: clarify collect_parents() logic
65
- + merge: small leakfix and code simplification
66
- + merge: do not check argc to determine number of remote heads
67
- + merge: clarify "pulling into void" special case
68
- + t5520: test pulling an octopus into an unborn branch
69
- + t5520: style fixes
70
- + merge: simplify code flow
71
- + merge: test the top-level merge driver
72
- (this branch is used by jc/merge-drop-old-syntax and pt/pull-tests.)
73
-
74
- "git merge FETCH_HEAD" learned that the previous "git fetch" could
75
- be to create an Octopus merge, i.e. recording multiple branches
76
- that are not marked as "not-for-merge"; this allows us to lose an
77
- old style invocation "git merge <msg> HEAD $commits..." in the
78
- implementation of "git pull" script; the old style syntax can now
79
- be deprecated.
80
-
81
-
82
-* jc/test-prereq-validate (2015-04-28) 1 commit
83
- (merged to 'next' on 2015-05-05 at a30464c)
84
- + test: validate prerequistes syntax
85
-
86
- Help us to find broken test script that splits the body part of the
87
- test by mistaken use of wrong kind of quotes.
88
-
89
-
90
-* jk/git-no-more-argv0-path-munging (2015-04-22) 1 commit
91
- (merged to 'next' on 2015-05-05 at b3f9a45)
92
- + stop putting argv[0] dirname at front of PATH
93
-
94
- We have prepended $GIT_EXEC_PATH and the path "git" is installed in
95
- (typically "/usr/bin") to $PATH when invoking subprograms and hooks
96
- for almost eternity, but the original use case the latter tried to
97
- support was semi-bogus (i.e. install git to /opt/foo/git and run it
98
- without having /opt/foo on $PATH), and more importantly it has
99
- become less and less relevant as Git grew more mainstream (i.e. the
100
- users would _want_ to have it on their $PATH). Stop prepending the
101
- path in which "git" is installed to users' $PATH, as that would
102
- interfere the command search order people depend on (e.g. they may
103
- not like versions of programs that are unrelated to Git in /usr/bin
104
- and want to override them by having different ones in /usr/local/bin
105
- and have the latter directory earlier in their $PATH).
106
-
107
-
108
-* jk/stash-require-clean-index (2015-04-22) 3 commits
109
- (merged to 'next' on 2015-05-05 at b5f6c32)
110
- + stash: require a clean index to apply
111
- + t3903: avoid applying onto dirty index
112
- + t3903: stop hard-coding commit sha1s
113
-
114
- "git stash pop/apply" forgot to make sure that not just the working
115
- tree is clean but also the index is clean. The latter is important
116
- as a stash application can conflict and the index will be used for
117
- conflict resolution.
118
-
119
-
120
-* jk/test-chain-lint (2015-04-28) 2 commits
121
- (merged to 'next' on 2015-05-05 at e6f0290)
122
- + test-lib: turn on GIT_TEST_CHAIN_LINT by default
123
- + t7502-commit.sh: fix a broken and-chain
124
-
125
- Developer support to automatically detect broken &&-chain in the
126
- test scripts is now turned on by default.
127
-
128
-
129
-* kn/cat-file-literally (2015-05-06) 4 commits
130
- (merged to 'next' on 2015-05-12 at 04b29b5)
131
- + t1006: add tests for git cat-file --allow-unknown-type
132
- + cat-file: teach cat-file a '--allow-unknown-type' option
133
- + cat-file: make the options mutually exclusive
134
- + sha1_file: support reading from a loose object of unknown type
135
-
136
- Add the "--allow-unknown-type" option to "cat-file" to allow
137
- inspecting loose objects of an experimental or a broken type.
138
-
139
-
140
-* nd/diff-i-t-a (2015-03-23) 1 commit
141
- (merged to 'next' on 2015-05-05 at cba9cd9)
142
- + diff-lib.c: adjust position of i-t-a entries in diff
143
-
144
- Originally merged to 'next' on 2015-03-24
145
-
146
- After "git add -N", the path appeared in output of "git diff HEAD"
147
- and "git diff --cached HEAD", leading "git status" to classify it
148
- as "Changes to be committed". Such a path, however, is not yet to
149
- be scheduled to be committed. "git diff" showed the change to the
150
- path as modification, not as a "new file", in the header of its
151
- output.
152
-
153
- Treat such paths as "yet to be added to the index but Git already
154
- know about them"; "git diff HEAD" and "git diff --cached HEAD"
155
- should not talk about them, and "git diff" should show them as new
156
- files yet to be added to the index.
157
-
158
-
159
-* nd/dwim-wildcards-as-pathspecs (2015-05-03) 1 commit
160
- (merged to 'next' on 2015-05-07 at 8176de7)
161
- + pathspec: avoid the need of "--" when wildcard is used
30
+* dl/branch-error-message (2015-05-06) 1 commit
31
+ (merged to 'next' on 2015-05-11 at ed947ab)
32
+ + branch: do not call a "remote-tracking branch" a "remote branch"
33
163
- A heuristic to help the "git <cmd> <revs> <pathspec>" command line
164
- convention to catch mistyped paths is to make sure all the non-rev
165
- parameters in the later part of the command line are names of the
166
- files in the working tree, but that means "git grep $str -- \*.c"
167
- must always be disambiguated with "--", because nobody sane will
168
- create a file whose name literally is asterisk-dot-see. Loosen the
169
- heuristic to declare that with a wildcard string the user likely
170
- meant to give us a pathspec.
34
+ Error messages from "git branch" called remote-tracking branches as
35
+ "remote branches".
36
37
173
-* ph/rebase-i-redo (2015-04-29) 1 commit
174
- (merged to 'next' on 2015-05-07 at 8fc1f52)
175
- + rebase -i: redo tasks that die during cherry-pick
38
+* dl/subtree-avoid-tricky-echo (2015-05-08) 1 commit
39
+ (merged to 'next' on 2015-05-11 at 36d4f0e)
40
+ + contrib/subtree: portability fix for string printing
41
177
- "git rebase -i" moved the "current" command from "todo" to "done" a
178
- bit too prematurely, losing a step when a "pick" did not even start.
42
+ "git subtree" script (in contrib/) used "echo -n" to produce
43
+ progress messages in a non-portable way.
44
45
181
-* sb/ref-lock-lose-lock-fd (2015-05-10) 1 commit
182
- (merged to 'next' on 2015-05-12 at dde9be1)
183
- + refs.c: remove lock_fd from struct ref_lock
46
+* dl/subtree-push-no-squash (2015-05-07) 1 commit
47
+ (merged to 'next' on 2015-05-11 at 74d07ca)
48
+ + contrib/subtree: there's no push --squash
49
185
- The refs API uses ref_lock struct which had its own "int fd", even
186
- though the same file descriptor was in the lock struct it contains.
187
- Clean-up the code to lose this redundant field.
50
+ "git subtree" script (in contrib/) does not have --squash option
51
+ when pushing, but the documentation and help text pretended as if
52
+ it did.
53
189
---------------------------------------------------
190
-[New Topics]
54
55
* ja/tutorial-asciidoctor-fix (2015-05-12) 1 commit
56
(merged to 'next' on 2015-05-19 at f15d940)
@@ -197,33 +60,21 @@ of the repositories listed at
60
delimit it from the rest of the document, which choke GitHub's
61
AsciiDoc renderer.
62
200
- Will merge to 'master'.
201
-
202
-
203
-* jk/stripspace-asciidoctor-fix (2015-05-12) 1 commit
204
- (merged to 'next' on 2015-05-19 at 12f9059)
205
- + doc: fix unmatched code fences in git-stripspace
206
-
207
- A literal block in the tutorial had lines with unequal lengths to
208
- delimit it from the rest of the document, which choke GitHub's
209
- AsciiDoc renderer.
210
-
211
- Will merge to 'master'.
212
-
63
214
-* dt/cat-file-follow-symlinks (2015-05-14) 3 commits
215
- - cat-file: add --follow-symlinks to --batch
216
- - sha1_name: get_sha1_with_context learns to follow symlinks
217
- - tree-walk: learn get_tree_entry_follow_symlinks
64
+* jc/ignore-epipe-in-filter (2015-05-20) 2 commits
65
+ (merged to 'next' on 2015-05-20 at 2b14ed7)
66
+ + filter_buffer_or_fd(): ignore EPIPE
67
+ + copy.c: make copy_fd() report its status silently
68
219
- "git cat-file --batch(-check)" learned the "--follow-symlinks"
220
- option that follows an in-tree symblic links when asked about an
221
- object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
222
- Documentation/RelNotes/2.5.0.txt. With the new option, the command
223
- behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
224
- input instead.
69
+ Filter scripts were run with SIGPIPE disabled on the Git side,
70
+ expecting that they may not read what Git feeds them to filter.
71
+ We however treated a filter that does not read its input fully
72
+ before exiting as an error.
73
226
- Will merge to 'next'.
74
+ This changes semantics, but arguably in a good way. If a filter
75
+ can produce its output without consuming its input using whatever
76
+ magic, we now let it do so, instead of diagnosing it as a
77
+ programming error.
78
79
80
* jk/add-e-kill-editor (2015-05-12) 1 commit
@@ -233,8 +84,6 @@ of the repositories listed at
84
"git add -e" did not allow the user to abort the operation by
85
killing the editor.
86
236
- Will merge to 'master'.
237
-
87
88
* jk/asciidoc-markup-fix (2015-05-14) 9 commits
89
(merged to 'next' on 2015-05-19 at df0c63e)
@@ -252,7 +101,68 @@ of the repositories listed at
101
consistent in general and also make AsciiDoctor (an alternative
102
formatter) happier.
103
255
- Will merge to 'master'.
104
+
105
+* jk/skip-http-tests-under-no-curl (2015-05-07) 2 commits
106
+ (merged to 'next' on 2015-05-11 at a52b711)
107
+ + tests: skip dav http-push tests under NO_EXPAT=NoThanks
108
+ + t/lib-httpd.sh: skip tests if NO_CURL is defined
109
+
110
+ Test clean-up.
111
+
112
+
113
+* jk/stripspace-asciidoctor-fix (2015-05-12) 1 commit
114
+ (merged to 'next' on 2015-05-19 at 12f9059)
115
+ + doc: fix unmatched code fences in git-stripspace
116
+
117
+ A literal block in the tutorial had lines with unequal lengths to
118
+ delimit it from the rest of the document, which choke GitHub's
119
+ AsciiDoc renderer.
120
+
121
+
122
+* lm/squelch-bg-progress (2015-05-19) 1 commit
123
+ (merged to 'next' on 2015-05-20 at 60916e6)
124
+ + progress: treat "no terminal" as being in the foreground
125
+
126
+ The controlling tty-based heuristics to squelch progress output did
127
+ not consider that the process may not be talking to a tty at all
128
+ (e.g. sending the progress to sideband #2). This is a finishing
129
+ touch to a topic that is already in 'master'.
130
+
131
+
132
+* ls/http-ssl-cipher-list (2015-05-08) 1 commit
133
+ (merged to 'next' on 2015-05-11 at 55764ce)
134
+ + http: add support for specifying an SSL cipher list
135
+
136
+ Introduce http.<url>.SSLCipherList configuration variable to tweak
137
+ the list of cipher suite to be used with libcURL when talking with
138
+ https:// sites.
139
+
140
+
141
+* mg/log-decorate-HEAD (2015-05-13) 2 commits
142
+ (merged to 'next' on 2015-05-19 at 009342b)
143
+ + log: do not shorten decoration names too early
144
+ + log: decorate HEAD with branch name under --decorate=full, too
145
+
146
+ The "log --decorate" enhancement in Git 2.4 that shows the commit
147
+ at the tip of the current branch e.g. "HEAD -> master", did not
148
+ work with --decorate=full.
149
+
150
+
151
+* mh/clone-verbosity-fix (2015-05-19) 1 commit
152
+ (merged to 'next' on 2015-05-20 at f613575)
153
+ + clone: call transport_set_verbosity before anything else on the newly created transport
154
+
155
+ Git 2.4 broke setting verbosity and progress levels on "git clone"
156
+ with native transports.
157
+
158
+
159
+* mh/lockfile-retry (2015-05-14) 2 commits
160
+ (merged to 'next' on 2015-05-20 at 7ad2e9d)
161
+ + lock_packed_refs(): allow retries when acquiring the packed-refs lock
162
+ + lockfile: allow file locking to be retried with a timeout
163
+
164
+ Instead of dying immediately upon failing to obtain a lock, retry
165
+ after a short while with backoff.
166
167
168
* mh/ref-directory-file (2015-05-11) 18 commits
@@ -280,196 +190,218 @@ of the repositories listed at
190
removed at the same time as 'refs/heads/xyzzy' is added (or vice
191
versa) very well.
192
283
- Will merge to 'master'.
284
-
193
286
-* dt/clean-pathspec-filter-then-lstat (2015-05-18) 1 commit
287
- - clean: only lstat files in pathspec
194
+* mh/write-refs-sooner-2.2 (2015-05-12) 8 commits
195
+ + ref_transaction_commit(): fix atomicity and avoid fd exhaustion
196
+ + ref_transaction_commit(): remove the local flags variable
197
+ + ref_transaction_commit(): inline call to write_ref_sha1()
198
+ + rename_ref(): inline calls to write_ref_sha1() from this function
199
+ + commit_ref_update(): new function, extracted from write_ref_sha1()
200
+ + write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
201
+ + t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
202
+ + update-ref: test handling large transactions properly
203
+ (this branch is used by mh/write-refs-sooner-2.3 and mh/write-refs-sooner-2.4.)
204
289
- "git clean pathspec..." tried to lstat(2) and complain even for
290
- paths outside the given pathspec.
205
+ Multi-ref transaction support we merged a few releases ago
206
+ unnecessarily kept many file descriptors open, risking to fail with
207
+ resource exhaustion.
208
292
- Will merge to 'next'.
209
210
+* mh/write-refs-sooner-2.3 (2015-05-12) 1 commit
211
+ + Merge branch 'mh/write-refs-sooner-2.2' into mh/write-refs-sooner-2.3
212
+ (this branch is used by mh/write-refs-sooner-2.4; uses mh/write-refs-sooner-2.2.)
213
295
-* jh/filter-empty-contents (2015-05-18) 1 commit
296
- - sha1_file: pass empty buffer to index empty file
214
+ Multi-ref transaction support we merged a few releases ago
215
+ unnecessarily kept many file descriptors open, risking to fail with
216
+ resource exhaustion. This is for 2.3.x track.
217
298
- The clean/smudge interface did not work well when filtering an
299
- empty contents (failed and then passed the empty input through).
300
- It can be argued that a filter that produces anything but empty for
301
- an empty input is nonsense, but if the user wants to do strange
302
- things, then why not?
218
304
- Will merge to 'next'.
219
+* mh/write-refs-sooner-2.4 (2015-05-12) 9 commits
220
+ (merged to 'next' on 2015-05-19 at f7be074)
221
+ + Merge branch 'mh/write-refs-sooner-2.3' into mh/write-refs-sooner-2.4
222
+ + ref_transaction_commit(): fix atomicity and avoid fd exhaustion
223
+ + ref_transaction_commit(): remove the local flags variable
224
+ + ref_transaction_commit(): inline call to write_ref_sha1()
225
+ + rename_ref(): inline calls to write_ref_sha1() from this function
226
+ + commit_ref_update(): new function, extracted from write_ref_sha1()
227
+ + write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
228
+ + t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
229
+ + update-ref: test handling large transactions properly
230
+ (this branch uses mh/write-refs-sooner-2.2 and mh/write-refs-sooner-2.3.)
231
232
+ Multi-ref transaction support we merged a few releases ago
233
+ unnecessarily kept many file descriptors open, risking to fail with
234
+ resource exhaustion. This is for 2.4.x track.
235
307
-* jk/http-backend-deadlock (2015-05-15) 2 commits
308
- - http-backend: spool ref negotiation requests to buffer
309
- - http-backend: fix die recursion with custom handler
236
311
- Communication between the HTTP server and http_backend process can
312
- lead to a dead-lock when relaying a large ref negotiation request.
313
- Diagnose the situation better, and mitigate it by reading such a
314
- request first into core (to a reasonable limit).
237
+* ps/bundle-verify-arg (2015-05-08) 1 commit
238
+ (merged to 'next' on 2015-05-11 at 9f1b1ae)
239
+ + bundle: verify arguments more strictly
240
316
- Will merge to 'next'.
241
+ "git bundle verify" did not diagnose extra parameters on the
242
+ command line.
243
244
319
-* jk/rerere-forget-check-enabled (2015-05-14) 1 commit
320
- (merged to 'next' on 2015-05-19 at bfe67dc)
321
- + rerere: exit silently on "forget" when rerere is disabled
245
+* ps/doc-packfile-vs-pack-file (2015-05-17) 3 commits
246
+ (merged to 'next' on 2015-05-20 at 7302174)
247
+ + pack-protocol.txt: fix insconsistent spelling of "packfile"
248
+ + git-unpack-objects.txt: fix inconsistent spelling of "packfile"
249
+ + git-verify-pack.txt: fix inconsistent spelling of "packfile"
250
323
- "git rerere forget" in a repository without rerere enabled gave a
324
- cryptic error message; it should be a silent no-op instead.
251
+ Doc consistency updates.
252
326
- Will merge to 'master'.
253
254
+* pt/pull-tags-error-diag (2015-05-14) 1 commit
255
+ (merged to 'next' on 2015-05-20 at 6e1a5f1)
256
+ + pull: remove --tags error in no merge candidates case
257
329
-* lm/squelch-bg-progress (2015-05-19) 1 commit
330
- - progress: treat "no terminal" as being in the foreground
258
+ There was a dead code that used to handle "git pull --tags" and
259
+ show special-cased error message, which was made irrelevant when
260
+ the semantics of the option changed back in Git 1.9 days.
261
332
- The controlling tty-based heuristics to squelch progress output did
333
- not consider that the process may not be talking to a tty at all
334
- (e.g. sending the progress to sideband #2). This is a finishing
335
- touch to a topic that is already in 'master'.
262
337
- Will merge to 'next'.
263
+* sb/t1020-cleanup (2015-05-18) 1 commit
264
+ (merged to 'next' on 2015-05-20 at fa74b14)
265
+ + subdirectory tests: code cleanup, uncomment test
266
267
+ There was a commented-out (instead of being marked to expect
268
+ failure) test that documented a breakage that was fixed since the
269
+ test was written; turn it into a proper test.
270
340
-* mg/log-decorate-HEAD (2015-05-13) 2 commits
341
- (merged to 'next' on 2015-05-19 at 009342b)
342
- + log: do not shorten decoration names too early
343
- + log: decorate HEAD with branch name under --decorate=full, too
271
345
- The "log --decorate" enhancement in Git 2.4 that shows the commit
346
- at the tip of the current branch e.g. "HEAD -> master", did not
347
- work with --decorate=full.
272
+* sg/completion-config (2015-05-12) 2 commits
273
+ (merged to 'next' on 2015-05-19 at c83fde1)
274
+ + completion: simplify query for config variables
275
+ + completion: add a helper function to get config variables
276
349
- Will merge to 'master'.
277
+ Code clean-up for completion script (in contrib/).
278
279
352
-* mh/clone-verbosity-fix (2015-05-19) 1 commit
353
- - clone: call transport_set_verbosity before anything else on the newly created transport
280
+* sg/completion-omit-credential-helpers (2015-05-06) 1 commit
281
+ (merged to 'next' on 2015-05-11 at aa7e554)
282
+ + completion: remove credential helpers from porcelain commands
283
355
- Git 2.4 broke setting verbosity and progress levels on "git clone"
356
- with native transports.
284
+ The Git subcommand completion (in contrib/) listed credential
285
+ helpers among candidates, which is not something the end user would
286
+ invoke interatively.
287
358
- Will merge to 'next'.
288
289
+* sg/help-subcommands (2015-05-08) 1 commit
290
+ (merged to 'next' on 2015-05-11 at 91e4f9e)
291
+ + command-list.txt: fix whitespace inconsistency
292
+ (this branch is used by sg/help-group.)
293
361
-* mh/lockfile-retry (2015-05-14) 2 commits
362
- - lock_packed_refs(): allow retries when acquiring the packed-refs lock
363
- - lockfile: allow file locking to be retried with a timeout
294
+ A preparatory clean-up step.
295
365
- Instead of dying immediately upon failing to obtain a lock, retry
366
- after a short while with backoff.
296
+--------------------------------------------------
297
+[New Topics]
298
368
- Will merge to 'next'.
299
+* da/mergetool-winmerge (2015-05-20) 2 commits
300
+ - mergetools: add winmerge as a builtin tool
301
+ - mergetool--lib: set IFS for difftool and mergetool
302
303
+ "git mergetool" learned to drive WinMerge as a backend.
304
371
-* mm/log-format-raw-doc (2015-05-18) 3 commits
372
- - SQUASH
373
- - Documentation/log: clarify sha1 non-abbreviation in log --raw
374
- - Documentation/log: clarify what --raw means
305
+ Will merge to 'next'.
306
376
- Clarify that "log --raw" and "log --format=raw" are unrelated
377
- concepts.
307
379
- Will merge to 'next' after squashing the fixup.
308
+* jk/http-backend-deadlock-2.2 (2015-05-20) 3 commits
309
+ - http-backend: spool ref negotiation requests to buffer
310
+ - t5551: factor out tag creation
311
+ - http-backend: fix die recursion with custom handler
312
+ (this branch is used by jk/http-backend-deadlock and jk/http-backend-deadlock-2.3.)
313
314
+ Communication between the HTTP server and http_backend process can
315
+ lead to a dead-lock when relaying a large ref negotiation request.
316
+ Diagnose the situation better, and mitigate it by reading such a
317
+ request first into core (to a reasonable limit).
318
382
-* ps/doc-packfile-vs-pack-file (2015-05-17) 3 commits
383
- - pack-protocol.txt: fix insconsistent spelling of "packfile"
384
- - git-unpack-objects.txt: fix inconsistent spelling of "packfile"
385
- - git-verify-pack.txt: fix inconsistent spelling of "packfile"
319
+ This was wiggled back to apply to the 2.2 maintenance track
320
+ (original was for 2.4).
321
387
- Doc consistency updates. I am not sure if this is unifying in the
388
- right direction, though.
322
+ Will merge to 'next'.
323
324
391
-* pt/pull-ff-vs-merge-ff (2015-05-18) 2 commits
392
- - pull: parse pull.ff as a bool or string
393
- - pull: make pull.ff=true override merge.ff
325
+* jk/http-backend-deadlock-2.3 (2015-05-20) 1 commit
326
+ - Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3
327
+ (this branch is used by jk/http-backend-deadlock; uses jk/http-backend-deadlock-2.2.)
328
395
- The pull.ff configuration was supposed to override the merge.ff
396
- configuration, but it didn't.
329
+ Same for 2.3 maintenance track.
330
331
Will merge to 'next'.
332
333
401
-* pt/pull-log-n (2015-05-18) 1 commit
402
- - pull: handle --log=<n>
334
+* jk/stash-options (2015-05-20) 2 commits
335
+ - stash: recognize "--help" for subcommands
336
+ - stash: complain about unknown flags
337
404
- "git pull --log" and "git pull --no-log" worked as expected, but
405
- "git pull --log=20" did not.
338
+ Make "git stash something --help" error out, so that users can
339
+ safely say "git stash drop --help".
340
341
Will merge to 'next'.
342
343
410
-* pt/pull-tags-error-diag (2015-05-14) 1 commit
411
- - pull: remove --tags error in no merge candidates case
344
+* mc/commit-doc-grammofix (2015-05-19) 1 commit
345
+ - Documentation/git-commit: grammofix
346
413
- There was a dead code that used to handle "git pull --tags" and
414
- show special-cased error message, which was made irrelevant when
415
- the semantics of the option changed back in Git 1.9 days.
347
+ Will merge to 'next'.
348
+
349
+
350
+* rs/janitorial (2015-05-20) 3 commits
351
+ - dir: remove unused variable sb
352
+ - clean: remove unused variable buf
353
+ - use file_exists() to check if a file exists in the worktree
354
355
Will merge to 'next'.
356
357
420
-* rs/plug-leak-in-pack-bitmaps (2015-05-19) 1 commit
421
- - pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps
358
+* ah/send-email-postfix-alias (2015-05-21) 1 commit
359
+ - git-send-email.perl: Add sendmail aliases support
360
423
- The code to memoise recently used pack bitmaps were totally broken.
361
425
- Will merge to 'next'.
362
+* fm/fetch-raw-sha1 (2015-05-21) 5 commits
363
+ - SQUASH
364
+ - upload-pack: optionally allow fetching reachable sha1
365
+ - SQUASH
366
+ - upload-pack: prepare to extend allow-tip-sha1-in-want
367
+ - config.txt: clarify allowTipSHA1InWant with camelCase
368
369
+ "git upload-pack" that serves "git fetch" can be told to serve
370
+ commits that are not at the tip of any ref as long as they are
371
+ reachable from a ref with uploadpack.allowReachableSHA1InWant
372
+ configuration variable.
373
428
-* sb/t1020-cleanup (2015-05-18) 1 commit
429
- - subdirectory tests: code cleanup, uncomment test
374
+ Will squash the fixes in and then merge to 'next'.
375
431
- There was a commented-out (instead of being marked to expect
432
- failure) test that documented a breakage that was fixed since the
433
- test was written; turn it into a proper test.
376
435
- Will merge to 'next'.
377
+* jc/commit-slab (2015-05-22) 1 commit
378
+ - commit-slab: introduce slabname##_peek() function
379
380
+ Memory use reduction when commit-slab facility is used to annotate
381
+ sparsely (which is not recommended in the first place).
382
438
-* sg/completion-config (2015-05-12) 2 commits
439
- (merged to 'next' on 2015-05-19 at c83fde1)
440
- + completion: simplify query for config variables
441
- + completion: add a helper function to get config variables
383
443
- Code clean-up for completion script (in contrib/).
384
+* mm/rebase-i-post-rewrite-exec (2015-05-22) 3 commits
385
+ - t5407: use <<- to align the expected output
386
+ - rebase -i: fix post-rewrite hook with failed exec command
387
+ - rebase -i: demonstrate incorrect behavior of post-rewrite
388
445
- Will merge to 'master'.
389
+ "git rebase -i" fired post-rewrite hook when it shouldn't (namely,
390
+ when it was told to stop sequencing with 'exec' insn).
391
392
+ Will merge to 'next'.
393
448
-* sg/help-group (2015-05-18) 5 commits
449
- - help: respect new common command grouping
450
- - command-list.txt: drop the "common" tag
451
- - generate-cmdlist: parse common group commands
452
- - command-list.txt: add the common groups block
453
- - command-list: prepare machinery for upcoming "common groups" section
454
- (this branch uses sg/help-subcommands.)
394
456
- Group list of commands shown by "git help" along the workflow
457
- elements to help early learners.
395
+* sb/submodule-doc-intro (2015-05-22) 1 commit
396
+ - submodule documentation: reorder introductory paragraphs
397
398
+ Will merge to 'next'.
399
460
-* jc/ignore-epipe-in-filter (2015-05-19) 2 commits
461
- - filter_buffer_or_fd(): ignore EPIPE
462
- - copy.c: make copy_fd() report its status silently
400
464
- Filter scripts were run with SIGPIPE disabled on the Git side,
465
- expecting that they may not read what Git feeds them to filter.
466
- We however treated a filter that does not read its input fully
467
- before exiting as an error.
401
+* sb/test-bitmap-free-at-end (2015-05-22) 1 commit
402
+ - test_bitmap_walk: free bitmap with bitmap_free
403
469
- This changes semantics, but arguably in a good way. If a filter
470
- can produce its output without consuming its input using whatever
471
- magic, we now let it do so, instead of diagnosing it as a
472
- programming error.
404
+ Will merge to 'next'.
405
406
--------------------------------------------------
407
[Stalled]
@@ -687,175 +619,166 @@ of the repositories listed at
619
--------------------------------------------------
620
[Cooking]
621
690
-* nd/untracked-cache (2015-03-12) 24 commits
691
- (merged to 'next' on 2015-05-19 at 26e619b)
692
- + git-status.txt: advertisement for untracked cache
693
- + untracked cache: guard and disable on system changes
694
- + mingw32: add uname()
695
- + t7063: tests for untracked cache
696
- + update-index: test the system before enabling untracked cache
697
- + update-index: manually enable or disable untracked cache
698
- + status: enable untracked cache
699
- + untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
700
- + untracked cache: mark index dirty if untracked cache is updated
701
- + untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
702
- + untracked cache: avoid racy timestamps
703
- + read-cache.c: split racy stat test to a separate function
704
- + untracked cache: invalidate at index addition or removal
705
- + untracked cache: load from UNTR index extension
706
- + untracked cache: save to an index extension
707
- + ewah: add convenient wrapper ewah_serialize_strbuf()
708
- + untracked cache: don't open non-existent .gitignore
709
- + untracked cache: mark what dirs should be recursed/saved
710
- + untracked cache: record/validate dir mtime and reuse cached output
711
- + untracked cache: make a wrapper around {open,read,close}dir()
712
- + untracked cache: invalidate dirs recursively if .gitignore changes
713
- + untracked cache: initial untracked cache validation
714
- + untracked cache: record .gitignore information and dir hierarchy
715
- + dir.c: optionally compute sha-1 of a .gitignore file
716
-
717
- Teach the index to optionally remember already seen untracked files
718
- to speed up "git status" in a working tree with tons of cruft.
622
+* dt/cat-file-follow-symlinks (2015-05-20) 3 commits
623
+ - cat-file: add --follow-symlinks to --batch
624
+ - sha1_name: get_sha1_with_context learns to follow symlinks
625
+ - tree-walk: learn get_tree_entry_follow_symlinks
626
720
- Will cook in 'next'.
627
+ "git cat-file --batch(-check)" learned the "--follow-symlinks"
628
+ option that follows an in-tree symblic links when asked about an
629
+ object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
630
+ Documentation/RelNotes/2.5.0.txt. With the new option, the command
631
+ behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
632
+ input instead.
633
634
+ Will merge to 'next'.
635
723
-* dl/branch-error-message (2015-05-06) 1 commit
724
- (merged to 'next' on 2015-05-11 at ed947ab)
725
- + branch: do not call a "remote-tracking branch" a "remote branch"
636
727
- Error messages from "git branch" called remote-tracking branches as
728
- "remote branches".
637
+* dt/clean-pathspec-filter-then-lstat (2015-05-18) 1 commit
638
+ - clean: only lstat files in pathspec
639
730
- Will merge to 'master' in the fourth batch.
640
+ "git clean pathspec..." tried to lstat(2) and complain even for
641
+ paths outside the given pathspec.
642
643
+ Will merge to 'next'.
644
733
-* dl/subtree-push-no-squash (2015-05-07) 1 commit
734
- (merged to 'next' on 2015-05-11 at 74d07ca)
735
- + contrib/subtree: there's no push --squash
645
737
- "git subtree" script (in contrib/) does not have --squash option
738
- when pushing, but the documentation and help text pretended as if
739
- it did.
646
+* jh/filter-empty-contents (2015-05-18) 1 commit
647
+ - sha1_file: pass empty buffer to index empty file
648
741
- Will merge to 'master' in the fourth batch.
649
+ The clean/smudge interface did not work well when filtering an
650
+ empty contents (failed and then passed the empty input through).
651
+ It can be argued that a filter that produces anything but empty for
652
+ an empty input is nonsense, but if the user wants to do strange
653
+ things, then why not?
654
655
+ Will merge to 'next'.
656
744
-* ld/p4-editor-multi-words (2015-05-19) 3 commits
745
- - git-p4: fix handling of multi-word P4EDITOR
746
- - SQUASH???
747
- - git-p4: add failing test for P4EDITOR handling
657
749
- Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
750
- command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
751
- did not let the shell interpolate the contents of the environment
752
- variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
753
- Make it in line with the rest of Git, as well as with Perforce.
658
+* jk/http-backend-deadlock (2015-05-20) 1 commit
659
+ - Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock
660
+ (this branch uses jk/http-backend-deadlock-2.2 and jk/http-backend-deadlock-2.3.)
661
662
+ Communication between the HTTP server and http_backend process can
663
+ lead to a dead-lock when relaying a large ref negotiation request.
664
+ Diagnose the situation better, and mitigate it by reading such a
665
+ request first into core (to a reasonable limit).
666
756
-* dl/subtree-avoid-tricky-echo (2015-05-08) 1 commit
757
- (merged to 'next' on 2015-05-11 at 36d4f0e)
758
- + contrib/subtree: portability fix for string printing
667
+ Will merge to 'next'.
668
760
- "git subtree" script (in contrib/) used "echo -n" to produce
761
- progress messages in a non-portable way.
669
763
- Will merge to 'master' in the fourth batch.
670
+* jk/rerere-forget-check-enabled (2015-05-14) 1 commit
671
+ (merged to 'next' on 2015-05-19 at bfe67dc)
672
+ + rerere: exit silently on "forget" when rerere is disabled
673
674
+ "git rerere forget" in a repository without rerere enabled gave a
675
+ cryptic error message; it should be a silent no-op instead.
676
766
-* ls/http-ssl-cipher-list (2015-05-08) 1 commit
767
- (merged to 'next' on 2015-05-11 at 55764ce)
768
- + http: add support for specifying an SSL cipher list
677
+ Will merge to 'master'.
678
770
- Introduce http.<url>.SSLCipherList configuration variable to tweak
771
- the list of cipher suite to be used with libcURL when talking with
772
- https:// sites.
679
774
- Will merge to 'master' in the fourth batch.
680
+* mm/log-format-raw-doc (2015-05-20) 2 commits
681
+ - Documentation/log: clarify sha1 non-abbreviation in log --raw
682
+ - Documentation/log: clarify what --raw means
683
684
+ Clarify that "log --raw" and "log --format=raw" are unrelated
685
+ concepts.
686
777
-* ps/bundle-verify-arg (2015-05-08) 1 commit
778
- (merged to 'next' on 2015-05-11 at 9f1b1ae)
779
- + bundle: verify arguments more strictly
687
+ Will merge to 'next'.
688
781
- "git bundle verify" did not diagnose extra parameters on the
782
- command line.
689
784
- Will merge to 'master' in the fourth batch.
690
+* pt/pull-ff-vs-merge-ff (2015-05-18) 2 commits
691
+ (merged to 'next' on 2015-05-20 at 064a082)
692
+ + pull: parse pull.ff as a bool or string
693
+ + pull: make pull.ff=true override merge.ff
694
695
+ The pull.ff configuration was supposed to override the merge.ff
696
+ configuration, but it didn't.
697
787
-* sg/help-subcommands (2015-05-08) 1 commit
788
- (merged to 'next' on 2015-05-11 at 91e4f9e)
789
- + command-list.txt: fix whitespace inconsistency
790
- (this branch is used by sg/help-group.)
698
+ Will merge to 'master'.
699
792
- A preparatory clean-up step.
700
794
- Will merge to 'master' in the fourth batch.
701
+* pt/pull-log-n (2015-05-18) 1 commit
702
+ (merged to 'next' on 2015-05-20 at db6ce78)
703
+ + pull: handle --log=<n>
704
705
+ "git pull --log" and "git pull --no-log" worked as expected, but
706
+ "git pull --log=20" did not.
707
797
-* mh/write-refs-sooner-2.2 (2015-05-12) 8 commits
798
- + ref_transaction_commit(): fix atomicity and avoid fd exhaustion
799
- + ref_transaction_commit(): remove the local flags variable
800
- + ref_transaction_commit(): inline call to write_ref_sha1()
801
- + rename_ref(): inline calls to write_ref_sha1() from this function
802
- + commit_ref_update(): new function, extracted from write_ref_sha1()
803
- + write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
804
- + t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
805
- + update-ref: test handling large transactions properly
806
- (this branch is used by mh/write-refs-sooner-2.3 and mh/write-refs-sooner-2.4.)
708
+ Will merge to 'master'.
709
808
- Multi-ref transaction support we merged a few releases ago
809
- unnecessarily kept many file descriptors open, risking to fail with
810
- resource exhaustion.
710
711
+* rs/plug-leak-in-pack-bitmaps (2015-05-19) 1 commit
712
+ (merged to 'next' on 2015-05-20 at b70f647)
713
+ + pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps
714
813
-* mh/write-refs-sooner-2.3 (2015-05-12) 1 commit
814
- + Merge branch 'mh/write-refs-sooner-2.2' into mh/write-refs-sooner-2.3
815
- (this branch is used by mh/write-refs-sooner-2.4; uses mh/write-refs-sooner-2.2.)
715
+ The code to read pack-bitmap wanted to allocate a few hundred
716
+ pointers to a structure, but by mistake allocated and leaked memory
717
+ enough to hold that many actual structures. Correct the allocation
718
+ size and also have it on stack, as it is small enough.
719
817
- Multi-ref transaction support we merged a few releases ago
818
- unnecessarily kept many file descriptors open, risking to fail with
819
- resource exhaustion. This is for 2.3.x track.
720
+ Will merge to 'master'.
721
722
822
-* mh/write-refs-sooner-2.4 (2015-05-12) 9 commits
823
- (merged to 'next' on 2015-05-19 at f7be074)
824
- + Merge branch 'mh/write-refs-sooner-2.3' into mh/write-refs-sooner-2.4
825
- + ref_transaction_commit(): fix atomicity and avoid fd exhaustion
826
- + ref_transaction_commit(): remove the local flags variable
827
- + ref_transaction_commit(): inline call to write_ref_sha1()
828
- + rename_ref(): inline calls to write_ref_sha1() from this function
829
- + commit_ref_update(): new function, extracted from write_ref_sha1()
830
- + write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
831
- + t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
832
- + update-ref: test handling large transactions properly
833
- (this branch uses mh/write-refs-sooner-2.2 and mh/write-refs-sooner-2.3.)
723
+* sg/help-group (2015-05-21) 5 commits
724
+ - help: respect new common command grouping
725
+ - command-list.txt: drop the "common" tag
726
+ - generate-cmdlist: parse common group commands
727
+ - command-list.txt: add the common groups block
728
+ - command-list: prepare machinery for upcoming "common groups" section
729
835
- Multi-ref transaction support we merged a few releases ago
836
- unnecessarily kept many file descriptors open, risking to fail with
837
- resource exhaustion. This is for 2.4.x track.
730
+ Group list of commands shown by "git help" along the workflow
731
+ elements to help early learners.
732
733
+ Will merge to 'next'.
734
840
-* sg/completion-omit-credential-helpers (2015-05-06) 1 commit
841
- (merged to 'next' on 2015-05-11 at aa7e554)
842
- + completion: remove credential helpers from porcelain commands
735
844
- The Git subcommand completion (in contrib/) listed credential
845
- helpers among candidates, which is not something the end user would
846
- invoke interatively.
736
+* nd/untracked-cache (2015-03-12) 24 commits
737
+ (merged to 'next' on 2015-05-19 at 26e619b)
738
+ + git-status.txt: advertisement for untracked cache
739
+ + untracked cache: guard and disable on system changes
740
+ + mingw32: add uname()
741
+ + t7063: tests for untracked cache
742
+ + update-index: test the system before enabling untracked cache
743
+ + update-index: manually enable or disable untracked cache
744
+ + status: enable untracked cache
745
+ + untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
746
+ + untracked cache: mark index dirty if untracked cache is updated
747
+ + untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
748
+ + untracked cache: avoid racy timestamps
749
+ + read-cache.c: split racy stat test to a separate function
750
+ + untracked cache: invalidate at index addition or removal
751
+ + untracked cache: load from UNTR index extension
752
+ + untracked cache: save to an index extension
753
+ + ewah: add convenient wrapper ewah_serialize_strbuf()
754
+ + untracked cache: don't open non-existent .gitignore
755
+ + untracked cache: mark what dirs should be recursed/saved
756
+ + untracked cache: record/validate dir mtime and reuse cached output
757
+ + untracked cache: make a wrapper around {open,read,close}dir()
758
+ + untracked cache: invalidate dirs recursively if .gitignore changes
759
+ + untracked cache: initial untracked cache validation
760
+ + untracked cache: record .gitignore information and dir hierarchy
761
+ + dir.c: optionally compute sha-1 of a .gitignore file
762
848
- Will merge to 'master' in the fourth batch.
763
+ Teach the index to optionally remember already seen untracked files
764
+ to speed up "git status" in a working tree with tons of cruft.
765
766
+ Will cook in 'next'.
767
851
-* jk/skip-http-tests-under-no-curl (2015-05-07) 2 commits
852
- (merged to 'next' on 2015-05-11 at a52b711)
853
- + tests: skip dav http-push tests under NO_EXPAT=NoThanks
854
- + t/lib-httpd.sh: skip tests if NO_CURL is defined
768
856
- Test clean-up.
769
+* ld/p4-editor-multi-words (2015-05-20) 6 commits
770
+ - SQUASH
771
+ - git-p4: tests: use test-chmtime in place of touch
772
+ - SQUASH
773
+ - git-p4: fix handling of multi-word P4EDITOR
774
+ - SQUASH
775
+ - git-p4: add failing test for P4EDITOR handling
776
858
- Will merge to 'master' in the fourth batch.
777
+ Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
778
+ command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
779
+ did not let the shell interpolate the contents of the environment
780
+ variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
781
+ Make it in line with the rest of Git, as well as with Perforce.
782
783
784
* pt/pull-tests (2015-05-18) 8 commits
@@ -877,25 +800,29 @@ of the repositories listed at
800
Still an early WIP
801
802
880
-* jk/at-push-sha1 (2015-05-03) 12 commits
803
+* jk/at-push-sha1 (2015-05-22) 16 commits
804
- for-each-ref: accept "%(push)" format
805
- for-each-ref: use skip_prefix instead of starts_with
806
- sha1_name: implement @{push} shorthand
807
- sha1_name: refactor interpret_upstream_mark
808
- sha1_name: refactor upstream_mark
809
- remote.c: add branch_get_push
810
+ - remote.c: return upstream name from stat_tracking_info
811
+ - remote.c: untangle error logic in branch_get_upstream
812
- remote.c: report specific errors from branch_get_upstream
813
- remote.c: introduce branch_get_upstream helper
814
+ - remote.c: hoist read_config into remote_get_1
815
- remote.c: provide per-branch pushremote name
816
- remote.c: hoist branch.*.remote lookup out of remote_get_1
817
- remote.c: drop "remote" pointer from "struct branch"
818
+ - remote.c: refactor setup of branch->merge list
819
- remote.c: drop default_remote_name variable
820
821
Introduce <branch>@{push} short-hand to denote the remote-tracking
822
branch that tracks the branch at the remote the <branch> would be
823
pushed to.
824
898
- Expecting a reroll ($gmane/268419, etc.).
825
+ Will merge to 'next'.
826
827
828
* ee/clean-remove-dirs (2015-04-26) 5 commits