What's cooking (2015/05 #07)

Junio C Hamano committed May 26, 2015 at 14:33 UTC 63c40aeb0ebce0d1587a93a58470678118c81f23
1 file changed +294 -482
whats-cooking.txt
+294 -482
@@ -1,23 +1,20 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (May 2015, #06; Fri, 22)
4 -X-master-at: 9532ead9875b7b92ff2007f9de61af5874e8839a
5 -X-next-at: b70f6470d4a42c2efce07be8bc1edac7c5743a77
3 +Subject: What's cooking in git.git (May 2015, #07; Tue, 26)
4 +X-master-at: fae46aa0ae5318bbb20f0ef871721bf49e292cea
5 +X-next-at: 37f085bb52bb507d786c36ae50951e460f4f15c7
6
7 -What's cooking in git.git (May 2015, #06; Fri, 22)
7 +What's cooking in git.git (May 2015, #07; Tue, 26)
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
19 -working trees. Please try it out and report successes (and of
20 -course breakages, too).
14 +The "untracked cache" series is in 'master' now. I do not use it
15 +personally, but it is meant to make life easier for those with large
16 +amount of untracked cruft in their working trees. Please try it out
17 +and report successes (and of course breakages, too).
18
19 You can find the changes described here in the integration branches
20 of the repositories listed at
@@ -27,381 +24,157 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
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 -
34 - Error messages from "git branch" called remote-tracking branches as
35 - "remote branches".
36 -
37 -
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 -
42 - "git subtree" script (in contrib/) used "echo -n" to produce
43 - progress messages in a non-portable way.
44 -
45 -
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 -
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 -
54 -
55 -* ja/tutorial-asciidoctor-fix (2015-05-12) 1 commit
56 - (merged to 'next' on 2015-05-19 at f15d940)
57 - + doc: fix unmatched code fences
58 -
59 - A literal block in the tutorial had lines with unequal lengths to
60 - delimit it from the rest of the document, which choke GitHub's
61 - AsciiDoc renderer.
62 -
63 -
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 -
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 -
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
81 - (merged to 'next' on 2015-05-19 at 9e01174)
82 - + add: check return value of launch_editor
83 -
84 - "git add -e" did not allow the user to abort the operation by
85 - killing the editor.
86 -
87 -
88 -* jk/asciidoc-markup-fix (2015-05-14) 9 commits
89 - (merged to 'next' on 2015-05-19 at df0c63e)
90 - + doc: convert AsciiDoc {?foo} to ifdef::foo[]
91 - + doc: put example URLs and emails inside literal backticks
92 - + doc: drop backslash quoting of some curly braces
93 - + doc: convert \--option to --option
94 - + doc/add: reformat `--edit` option
95 - + doc: fix length of underlined section-title
96 - + doc: fix hanging "+"-continuation
97 - + doc: fix unquoted use of "{type}"
98 - + doc: fix misrendering due to `single quote'
99 -
100 - Various documentation mark-up fixes to make the output more
101 - consistent in general and also make AsciiDoctor (an alternative
102 - formatter) happier.
103 -
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
169 - (merged to 'next' on 2015-05-19 at 38eb122)
170 - + reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
171 - + ref_transaction_commit(): delete extra "the" from error message
172 - + ref_transaction_commit(): provide better error messages
173 - + rename_ref(): integrate lock_ref_sha1_basic() errors into ours
174 - + lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts
175 - + lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
176 - + verify_refname_available(): report errors via a "struct strbuf *err"
177 - + verify_refname_available(): rename function
178 - + refs: check for D/F conflicts among refs created in a transaction
179 - + ref_transaction_commit(): use a string_list for detecting duplicates
180 - + is_refname_available(): use dirname in first loop
181 - + struct nonmatching_ref_data: store a refname instead of a ref_entry
182 - + report_refname_conflict(): inline function
183 - + entry_matches(): inline function
184 - + is_refname_available(): convert local variable "dirname" to strbuf
185 - + is_refname_available(): avoid shadowing "dir" variable
186 - + is_refname_available(): revamp the comments
187 - + t1404: new tests of ref D/F conflicts within transactions
188 -
189 - The ref API did not handle cases where 'refs/heads/xyzzy/frotz' is
190 - removed at the same time as 'refs/heads/xyzzy' is added (or vice
191 - versa) very well.
192 -
193 -
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 -
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 -
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 -
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 -
218 -
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 -
236 -
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 -
241 - "git bundle verify" did not diagnose extra parameters on the
242 - command line.
243 -
244 -
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 -
251 - Doc consistency updates.
252 -
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
27 +* jk/rerere-forget-check-enabled (2015-05-14) 1 commit
28 + (merged to 'next' on 2015-05-19 at bfe67dc)
29 + + rerere: exit silently on "forget" when rerere is disabled
30
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.
31 + "git rerere forget" in a repository without rerere enabled gave a
32 + cryptic error message; it should be a silent no-op instead.
33
34
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
35 +* nd/untracked-cache (2015-03-12) 24 commits
36 + (merged to 'next' on 2015-05-19 at 26e619b)
37 + + git-status.txt: advertisement for untracked cache
38 + + untracked cache: guard and disable on system changes
39 + + mingw32: add uname()
40 + + t7063: tests for untracked cache
41 + + update-index: test the system before enabling untracked cache
42 + + update-index: manually enable or disable untracked cache
43 + + status: enable untracked cache
44 + + untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
45 + + untracked cache: mark index dirty if untracked cache is updated
46 + + untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
47 + + untracked cache: avoid racy timestamps
48 + + read-cache.c: split racy stat test to a separate function
49 + + untracked cache: invalidate at index addition or removal
50 + + untracked cache: load from UNTR index extension
51 + + untracked cache: save to an index extension
52 + + ewah: add convenient wrapper ewah_serialize_strbuf()
53 + + untracked cache: don't open non-existent .gitignore
54 + + untracked cache: mark what dirs should be recursed/saved
55 + + untracked cache: record/validate dir mtime and reuse cached output
56 + + untracked cache: make a wrapper around {open,read,close}dir()
57 + + untracked cache: invalidate dirs recursively if .gitignore changes
58 + + untracked cache: initial untracked cache validation
59 + + untracked cache: record .gitignore information and dir hierarchy
60 + + dir.c: optionally compute sha-1 of a .gitignore file
61
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.
62 + Teach the index to optionally remember already seen untracked files
63 + to speed up "git status" in a working tree with tons of cruft.
64
65
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
66 +* pt/pull-ff-vs-merge-ff (2015-05-18) 2 commits
67 + (merged to 'next' on 2015-05-20 at 064a082)
68 + + pull: parse pull.ff as a bool or string
69 + + pull: make pull.ff=true override merge.ff
70
277 - Code clean-up for completion script (in contrib/).
71 + The pull.ff configuration was supposed to override the merge.ff
72 + configuration, but it didn't.
73
74
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
75 +* pt/pull-log-n (2015-05-18) 1 commit
76 + (merged to 'next' on 2015-05-20 at db6ce78)
77 + + pull: handle --log=<n>
78
284 - The Git subcommand completion (in contrib/) listed credential
285 - helpers among candidates, which is not something the end user would
286 - invoke interatively.
79 + "git pull --log" and "git pull --no-log" worked as expected, but
80 + "git pull --log=20" did not.
81
82
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.)
83 +* rs/plug-leak-in-pack-bitmaps (2015-05-19) 1 commit
84 + (merged to 'next' on 2015-05-20 at b70f647)
85 + + pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps
86
294 - A preparatory clean-up step.
87 + The code to read pack-bitmap wanted to allocate a few hundred
88 + pointers to a structure, but by mistake allocated and leaked memory
89 + enough to hold that many actual structures. Correct the allocation
90 + size and also have it on stack, as it is small enough.
91
92 --------------------------------------------------
93 [New Topics]
94
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 -
305 - Will merge to 'next'.
306 -
307 -
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 -
319 - This was wiggled back to apply to the 2.2 maintenance track
320 - (original was for 2.4).
321 -
322 - Will merge to 'next'.
323 -
324 -
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.)
95 +* ah/send-email-sendmail-alias (2015-05-25) 2 commits
96 + - t9001: write $HOME/, not ~/, to help shells without tilde expansion
97 + - send-email: add sendmail email aliases format
98 +
99 + "git send-email" learned the alias file format used by the sendmail
100 + program (in an abbreviated form).
101 +
102 + Reroll coming? What's queued is good enough?
103 +
104 +
105 +* bc/object-id (2015-05-25) 56 commits
106 + (merged to 'next' on 2015-05-26 at 8d9f645)
107 + + struct ref_lock: convert old_sha1 member to object_id
108 + + warn_if_dangling_symref(): convert local variable "junk" to object_id
109 + + each_ref_fn_adapter(): remove adapter
110 + + rev_list_insert_ref(): remove unneeded arguments
111 + + rev_list_insert_ref_oid(): new function, taking an object_oid
112 + + mark_complete(): remove unneeded arguments
113 + + mark_complete_oid(): new function, taking an object_oid
114 + + clear_marks(): rewrite to take an object_id argument
115 + + mark_complete(): rewrite to take an object_id argument
116 + + send_ref(): convert local variable "peeled" to object_id
117 + + upload-pack: rewrite functions to take object_id arguments
118 + + find_symref(): convert local variable "unused" to object_id
119 + + find_symref(): rewrite to take an object_id argument
120 + + write_one_ref(): rewrite to take an object_id argument
121 + + write_refs_to_temp_dir(): convert local variable sha1 to object_id
122 + + submodule: rewrite to take an object_id argument
123 + + shallow: rewrite functions to take object_id arguments
124 + + handle_one_ref(): rewrite to take an object_id argument
125 + + add_info_ref(): rewrite to take an object_id argument
126 + + handle_one_reflog(): rewrite to take an object_id argument
127 + + register_replace_ref(): rewrite to take an object_id argument
128 + + remote: rewrite functions to take object_id arguments
129 + + add_one_ref(): rewrite to take an object_id argument
130 + + string_list_add_one_ref(): rewrite to take an object_id argument
131 + + add_ref_decoration(): convert local variable original_sha1 to object_id
132 + + add_ref_decoration(): rewrite to take an object_id argument
133 + + show_head_ref(): convert local variable "unused" to object_id
134 + + http-backend: rewrite to take an object_id argument
135 + + append_similar_ref(): rewrite to take an object_id argument
136 + + builtin/show-ref: rewrite to take an object_id argument
137 + + show_ref(): convert local variable peeled to object_id
138 + + builtin/show-ref: rewrite to use object_id
139 + + fsck: change functions to use object_id
140 + + cmd_show_branch(): fix error message
141 + + builtin/show-branch: rewrite functions to work with object_id
142 + + append_one_rev(): rewrite to work with object_id
143 + + builtin/show-branch: rewrite functions to take object_id arguments
144 + + append_matching_ref(): rewrite to take an object_id argument
145 + + show_reference(): rewrite to take an object_id argument
146 + + builtin/remote: rewrite functions to take object_id arguments
147 + + add_branch_for_removal(): don't set "util" field of string_list entries
148 + + add_branch_for_removal(): rewrite to take an object_id argument
149 + + builtin/reflog: rewrite ref functions to take an object_id argument
150 + + show_ref_cb(): rewrite to take an object_id argument
151 + + builtin/pack-objects: rewrite to take an object_id argument
152 + + name_ref(): rewrite to take an object_id argument
153 + + grab_single_ref(): rewrite to take an object_id argument
154 + + builtin/fetch: rewrite to take an object_id argument
155 + + get_name(): rewrite to take an object_id argument
156 + + add_pending_uninteresting_ref(): rewrite to take an object_id argument
157 + + append_ref(): rewrite to take an object_id argument
158 + + register_ref(): rewrite to take an object_id argument
159 + + handle_one_ref(): rewrite to take an object_id argument
160 + + builtin/rev-parse: rewrite to take an object_id argument
161 + + each_ref_fn: change to take an object_id parameter
162 + + refs: convert struct ref_entry to use struct object_id
163 +
164 + for_each_ref() callback functions were taught to name the objects
165 + not with "unsigned char sha1[20]" but with "struct object_id".
166
329 - Same for 2.3 maintenance track.
330 -
331 - Will merge to 'next'.
332 -
333 -
334 -* jk/stash-options (2015-05-20) 2 commits
335 - - stash: recognize "--help" for subcommands
336 - - stash: complain about unknown flags
337 -
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 -
344 -* mc/commit-doc-grammofix (2015-05-19) 1 commit
345 - - Documentation/git-commit: grammofix
346 -
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 -
358 -* ah/send-email-postfix-alias (2015-05-21) 1 commit
359 - - git-send-email.perl: Add sendmail aliases support
360 -
361 -
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 -
374 - Will squash the fixes in and then merge to 'next'.
375 -
376 -
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 -
383 -
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 -
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 -
394 -
395 -* sb/submodule-doc-intro (2015-05-22) 1 commit
396 - - submodule documentation: reorder introductory paragraphs
397 -
398 - Will merge to 'next'.
167 + Will merge to 'master'.
168
169
401 -* sb/test-bitmap-free-at-end (2015-05-22) 1 commit
402 - - test_bitmap_walk: free bitmap with bitmap_free
170 +* jc/diff-ws-check-deleted (2015-05-26) 4 commits
171 + - diff.c: --ws-check-deleted option
172 + - diff.c: add emit_del_line() and update callers of emit_line_0()
173 + - t4015: separate common setup and per-test expectation
174 + - t4015: modernise style
175
404 - Will merge to 'next'.
176 + Allow whitespace breakages in 'deleted' lines to be also painted
177 + in the output.
178
179 --------------------------------------------------
180 [Stalled]
@@ -619,32 +392,144 @@ of the repositories listed at
392 --------------------------------------------------
393 [Cooking]
394
395 +* da/mergetool-winmerge (2015-05-20) 2 commits
396 + (merged to 'next' on 2015-05-26 at d6333e9)
397 + + mergetools: add winmerge as a builtin tool
398 + + mergetool--lib: set IFS for difftool and mergetool
399 +
400 + "git mergetool" learned to drive WinMerge as a backend.
401 +
402 + Will merge to 'master'.
403 +
404 +
405 +* jk/http-backend-deadlock-2.2 (2015-05-25) 3 commits
406 + + http-backend: spool ref negotiation requests to buffer
407 + + t5551: factor out tag creation
408 + + http-backend: fix die recursion with custom handler
409 + (this branch is used by jk/http-backend-deadlock and jk/http-backend-deadlock-2.3.)
410 +
411 + Communication between the HTTP server and http_backend process can
412 + lead to a dead-lock when relaying a large ref negotiation request.
413 + Diagnose the situation better, and mitigate it by reading such a
414 + request first into core (to a reasonable limit).
415 +
416 + This was wiggled back to apply to the 2.2 maintenance track
417 + (original was for 2.4).
418 +
419 + Will merge to 'master'.
420 +
421 +
422 +* jk/http-backend-deadlock-2.3 (2015-05-25) 1 commit
423 + + Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3
424 + (this branch is used by jk/http-backend-deadlock; uses jk/http-backend-deadlock-2.2.)
425 +
426 + Same for 2.3 maintenance track.
427 +
428 + Will merge to 'master'.
429 +
430 +
431 +* jk/stash-options (2015-05-20) 2 commits
432 + (merged to 'next' on 2015-05-26 at 5dcb026)
433 + + stash: recognize "--help" for subcommands
434 + + stash: complain about unknown flags
435 +
436 + Make "git stash something --help" error out, so that users can
437 + safely say "git stash drop --help".
438 +
439 + Will merge to 'master'.
440 +
441 +
442 +* mc/commit-doc-grammofix (2015-05-19) 1 commit
443 + (merged to 'next' on 2015-05-26 at 9d76e3b)
444 + + Documentation/git-commit: grammofix
445 +
446 + Will merge to 'master'.
447 +
448 +
449 +* rs/janitorial (2015-05-20) 3 commits
450 + (merged to 'next' on 2015-05-26 at 9d5aee4)
451 + + dir: remove unused variable sb
452 + + clean: remove unused variable buf
453 + + use file_exists() to check if a file exists in the worktree
454 +
455 + Will merge to 'master'.
456 +
457 +
458 +* fm/fetch-raw-sha1 (2015-05-22) 3 commits
459 + (merged to 'next' on 2015-05-26 at dc3f1b3)
460 + + upload-pack: optionally allow fetching reachable sha1
461 + + upload-pack: prepare to extend allow-tip-sha1-in-want
462 + + config.txt: clarify allowTipSHA1InWant with camelCase
463 +
464 + "git upload-pack" that serves "git fetch" can be told to serve
465 + commits that are not at the tip of any ref as long as they are
466 + reachable from a ref with uploadpack.allowReachableSHA1InWant
467 + configuration variable.
468 +
469 + Will merge to 'master'.
470 +
471 +
472 +* jc/commit-slab (2015-05-22) 1 commit
473 + - commit-slab: introduce slabname##_peek() function
474 +
475 + Memory use reduction when commit-slab facility is used to annotate
476 + sparsely (which is not recommended in the first place).
477 +
478 +
479 +* mm/rebase-i-post-rewrite-exec (2015-05-22) 3 commits
480 + (merged to 'next' on 2015-05-26 at 8ddaab1)
481 + + t5407: use <<- to align the expected output
482 + + rebase -i: fix post-rewrite hook with failed exec command
483 + + rebase -i: demonstrate incorrect behavior of post-rewrite
484 +
485 + "git rebase -i" fired post-rewrite hook when it shouldn't (namely,
486 + when it was told to stop sequencing with 'exec' insn).
487 +
488 + Will merge to 'master'.
489 +
490 +
491 +* sb/submodule-doc-intro (2015-05-22) 1 commit
492 + - submodule documentation: reorder introductory paragraphs
493 +
494 + What's the doneness of this one???
495 +
496 +
497 +* sb/test-bitmap-free-at-end (2015-05-22) 1 commit
498 + (merged to 'next' on 2015-05-26 at 1014ebf)
499 + + test_bitmap_walk: free bitmap with bitmap_free
500 +
501 + Will merge to 'master'.
502 +
503 +
504 * 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
505 + (merged to 'next' on 2015-05-26 at 7ae52d4)
506 + + cat-file: add --follow-symlinks to --batch
507 + + sha1_name: get_sha1_with_context learns to follow symlinks
508 + + tree-walk: learn get_tree_entry_follow_symlinks
509
510 "git cat-file --batch(-check)" learned the "--follow-symlinks"
628 - option that follows an in-tree symblic links when asked about an
511 + option that follows an in-tree symbolic links when asked about an
512 object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
513 Documentation/RelNotes/2.5.0.txt. With the new option, the command
514 behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
515 input instead.
516
634 - Will merge to 'next'.
517 + Will merge to 'master'.
518
519
520 * dt/clean-pathspec-filter-then-lstat (2015-05-18) 1 commit
638 - - clean: only lstat files in pathspec
521 + (merged to 'next' on 2015-05-26 at 9b24d71)
522 + + clean: only lstat files in pathspec
523
524 "git clean pathspec..." tried to lstat(2) and complain even for
525 paths outside the given pathspec.
526
643 - Will merge to 'next'.
527 + Will merge to 'master'.
528
529
530 * jh/filter-empty-contents (2015-05-18) 1 commit
647 - - sha1_file: pass empty buffer to index empty file
531 + (merged to 'next' on 2015-05-26 at 9cad398)
532 + + sha1_file: pass empty buffer to index empty file
533
534 The clean/smudge interface did not work well when filtering an
535 empty contents (failed and then passed the empty input through).
@@ -652,11 +537,12 @@ of the repositories listed at
537 an empty input is nonsense, but if the user wants to do strange
538 things, then why not?
539
655 - Will merge to 'next'.
540 + Will merge to 'master'.
541
542
658 -* jk/http-backend-deadlock (2015-05-20) 1 commit
659 - - Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock
543 +* jk/http-backend-deadlock (2015-05-25) 1 commit
544 + (merged to 'next' on 2015-05-26 at 9f3bd8a)
545 + + Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock
546 (this branch uses jk/http-backend-deadlock-2.2 and jk/http-backend-deadlock-2.3.)
547
548 Communication between the HTTP server and http_backend process can
@@ -664,114 +550,37 @@ of the repositories listed at
550 Diagnose the situation better, and mitigate it by reading such a
551 request first into core (to a reasonable limit).
552
667 - Will merge to 'next'.
668 -
669 -
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 -
553 Will merge to 'master'.
554
555
556 * 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
557 + (merged to 'next' on 2015-05-26 at 97e2c9d)
558 + + Documentation/log: clarify sha1 non-abbreviation in log --raw
559 + + Documentation/log: clarify what --raw means
560
561 Clarify that "log --raw" and "log --format=raw" are unrelated
562 concepts.
563
687 - Will merge to 'next'.
688 -
689 -
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 -
698 - Will merge to 'master'.
699 -
700 -
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 -
708 - Will merge to 'master'.
709 -
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 -
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 -
564 Will merge to 'master'.
565
566
567 * 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
568 + (merged to 'next' on 2015-05-26 at 2749912)
569 + + help: respect new common command grouping
570 + + command-list.txt: drop the "common" tag
571 + + generate-cmdlist: parse common group commands
572 + + command-list.txt: add the common groups block
573 + + command-list: prepare machinery for upcoming "common groups" section
574
575 Group list of commands shown by "git help" along the workflow
576 elements to help early learners.
577
733 - Will merge to 'next'.
734 -
735 -
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 -
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'.
578 + Will merge to 'master'.
579
580
769 -* ld/p4-editor-multi-words (2015-05-20) 6 commits
770 - - SQUASH
581 +* ld/p4-editor-multi-words (2015-05-26) 3 commits
582 - git-p4: tests: use test-chmtime in place of touch
772 - - SQUASH
583 - git-p4: fix handling of multi-word P4EDITOR
774 - - SQUASH
584 - git-p4: add failing test for P4EDITOR handling
585
586 Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
@@ -780,6 +589,8 @@ of the repositories listed at
589 variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
590 Make it in line with the rest of Git, as well as with Perforce.
591
592 + Will merge to 'next'.
593 +
594
595 * pt/pull-tests (2015-05-18) 8 commits
596 - t5520: check reflog action in fast-forward merge
@@ -801,28 +612,29 @@ of the repositories listed at
612
613
614 * 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
615 + (merged to 'next' on 2015-05-26 at d9d342f)
616 + + for-each-ref: accept "%(push)" format
617 + + for-each-ref: use skip_prefix instead of starts_with
618 + + sha1_name: implement @{push} shorthand
619 + + sha1_name: refactor interpret_upstream_mark
620 + + sha1_name: refactor upstream_mark
621 + + remote.c: add branch_get_push
622 + + remote.c: return upstream name from stat_tracking_info
623 + + remote.c: untangle error logic in branch_get_upstream
624 + + remote.c: report specific errors from branch_get_upstream
625 + + remote.c: introduce branch_get_upstream helper
626 + + remote.c: hoist read_config into remote_get_1
627 + + remote.c: provide per-branch pushremote name
628 + + remote.c: hoist branch.*.remote lookup out of remote_get_1
629 + + remote.c: drop "remote" pointer from "struct branch"
630 + + remote.c: refactor setup of branch->merge list
631 + + remote.c: drop default_remote_name variable
632
633 Introduce <branch>@{push} short-hand to denote the remote-tracking
634 branch that tracks the branch at the remote the <branch> would be
635 pushed to.
636
825 - Will merge to 'next'.
637 + Will merge to 'master'.
638
639
640 * ee/clean-remove-dirs (2015-04-26) 5 commits
@@ -842,7 +654,7 @@ of the repositories listed at
654 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
655 - merge: drop 'git merge <message> HEAD <commit>' syntax
656
845 - Stop supporting "git merge <messsage> HEAD <commit>" syntax that
657 + Stop supporting "git merge <message> HEAD <commit>" syntax that
658 has been deprecated since October 2007.
659
660 Will merge to 'next' and keep there during the 2.5 cycle.