What's cooking (2015/01 #02)

Junio C Hamano committed Jan 12, 2015 at 15:52 UTC 425d7e44351de7e762810f96705e935d1ced30ee
1 file changed +461 -370
whats-cooking.txt
+461 -370
@@ -1,19 +1,26 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2015, #01; Tue, 6)
4 -X-master-at: c5b9256360b06efb9453c1627b78b14598e288b8
5 -X-next-at: cc831f245cfe79ce0a9b574baf3c07960f338270
3 +Subject: What's cooking in git.git (Jan 2015, #02; Mon, 12)
4 +X-master-at: addfb21a94fb4e6b9d07b270f7bb3748767a8f38
5 +X-next-at: e64df63be2ed715bed73607afec1eb4bd0a8f3ce
6
7 -What's cooking in git.git (Jan 2015, #01; Tue, 6)
7 +What's cooking in git.git (Jan 2015, #02; Mon, 12)
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 -A (somewhat belated) happy new year, everybody. Sorry for being
15 -silent for a few more days than I intended to. I'll try to get sick
16 -and recover before a long holiday ends the next time.
14 +The "preview" release candidate 2.3-rc0 has been tagged. With the
15 +slowness from the end-of-year holiday, this cycle turns out to be a
16 +relatively lean one as I predicted (just 200 changes since 2.2, as
17 +opposed to ~500 changes in an normal cycle), but that is fine. From
18 +time to time it is OK to have a release that does not add many new
19 +things but just fixes niggles here and there.
20 +
21 +A new maintenance release 2.2.2 is also out, which backports many
22 +fixes that were not in 2.2.1 that have been used on 'master' for the
23 +past few weeks.
24
25 You can find the changes described here in the integration branches
26 of the repositories listed at
@@ -21,89 +28,361 @@ of the repositories listed at
28 http://git-blame.blogspot.com/p/git-public-repositories.html
29
30 --------------------------------------------------
24 -[New Topics]
31 +[Graduated to "master"]
32
26 -* cj/grep-none-match (2015-01-06) 1 commit
27 - - git-log: added --none-match option
33 +* bb/update-unicode-table (2014-12-22) 5 commits
34 + (merged to 'next' on 2014-12-23 at b4ce669)
35 + + update_unicode.sh: delete the command group
36 + + update_unicode.sh: make the output structure visible
37 + + update_unicode.sh: shorten uniset invocation path
38 + + update_unicode.sh: set UNICODE_DIR only once
39 + + update_unicode.sh: simplify output capture
40
29 - "git log --none-match --grep=WIP" will show only commits that are
30 - not marked as WIP.
41 + Simplify the procedure to generate unicode table.
42
32 - I think "git grep -l --none-match -e foo -e bar" ought to work with
33 - the same change but the patch does not seem to go far enough to do
34 - so.
43
44 +* bc/fetch-thin-less-aggressive-in-normal-repository (2014-12-29) 3 commits
45 + (merged to 'next' on 2015-01-07 at 60f9ada)
46 + + pack-objects: use --objects-edge-aggressive for shallow repos
47 + + rev-list: add an option to mark fewer edges as uninteresting
48 + + Documentation: add missing article in rev-list-options.txt
49
37 -* jk/prune-packed-server-info (2015-01-06) 2 commits
38 - - update-server-info: create info/* with mode 0666
39 - - t1301: set umask in reflog sharedrepository=group test
50 + Earlier we made "rev-list --object-edge" more aggressively list the
51 + objects at the edge commits, in order to reduce number of objects
52 + fetched into a shallow repository, but the change affected cases
53 + other than "fetching into a shallow repository" and made it
54 + unusably slow (e.g. fetching into a normal repository should not
55 + have to suffer the overhead from extra processing). Limit it to a
56 + more specific case by introducing --objects-edge-aggressive, a new
57 + option to rev-list.
58
41 - Fix recent breakage in Git 2.2 that started creating info/refs and
42 - objects/info/packs files with permission bits tighter than user's
43 - umask.
59
60 +* br/imap-send-verbosity (2014-11-05) 1 commit
61 + (merged to 'next' on 2014-12-15 at 504af0b)
62 + + imap-send: use parse options API to determine verbosity
63 + (this branch is used by br/imap-send-via-libcurl and km/imap-send-libcurl-options.)
64
46 -* km/imap-send-libcurl-options (2015-01-06) 2 commits
47 - - imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY
48 - - imap-send.c: support GIT_CURL_VERBOSE
49 - (this branch uses br/imap-send-verbosity and br/imap-send-via-libcurl.)
65 + "git imap-send" learned to take "-v" (verbose) and "-q" (quiet)
66 + command line options.
67
51 - Now imap-send learned to talk to the server using cURL library,
52 - allow the same GIT_CURL_VERBOSE environment variable to control the
53 - verbosity of the chattering.
68
55 - Will merge to 'next'.
69 +* br/imap-send-via-libcurl (2014-11-10) 1 commit
70 + (merged to 'next' on 2014-12-15 at 90db637)
71 + + git-imap-send: use libcurl for implementation
72 + (this branch is used by km/imap-send-libcurl-options; uses br/imap-send-verbosity.)
73
74 + Newer libCurl knows how to talk IMAP; "git imap-send" has been
75 + updated to use this instead of a hand-rolled OpenSSL calls.
76
58 -* km/log-usage-string-i18n (2015-01-06) 1 commit
59 - - log.c: fix translation markings
77
61 - Will merge to 'next'.
78 +* bw/maint-0090-awk-tweak (2014-12-23) 1 commit
79 + (merged to 'next' on 2014-12-29 at 9301c36)
80 + + t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk
81
82
64 -* rc/for-each-ref-tracking (2015-01-06) 2 commits
65 - - SQUASH???
66 - - for-each-ref: always check stat_tracking_info()'s return value
83 +* cc/bisect-rev-parsing (2014-12-29) 2 commits
84 + (merged to 'next' on 2015-01-07 at 7b76eed)
85 + + bisect: add test to check that revs are properly parsed
86 + + bisect: parse revs before passing them to check_expected_revs()
87
68 - Will merge to 'next', probably after squashing the fixup.
88 + The logic in "git bisect bad HEAD" etc. to avoid forcing the test
89 + of the common ancestor of bad and good commits was broken.
90
91
71 -* rh/test-color-avoid-terminfo-in-original-home (2015-01-06) 1 commit
72 - - test-lib.sh: do tests for color support after changing HOME
92 +* es/checkout-index-temp (2014-12-29) 5 commits
93 + (merged to 'next' on 2015-01-07 at d45c06d)
94 + + checkout-index: fix --temp relative path mangling
95 + + t2004: demonstrate broken relative path printing
96 + + t2004: standardize file naming in symlink test
97 + + t2004: drop unnecessary write-tree/read-tree
98 + + t2004: modernize style
99
74 - We try to see if "tput" gives a useful result before switching TERM
75 - to dumb and moving HOME to point to our fake location for stability
76 - of the tests, and then use the command when coloring the output
77 - from the tests, but there is no guarantee "tput" works after
78 - switching HOME.
100 + "git checkout-index --temp=$target $path" did not work correctly
101 + for paths outside the current subdirectory in the project.
102
80 - Will merge to 'next'.
103
82 -* sp/subtree-doc (2015-01-06) 1 commit
83 - - subtree: fix AsciiDoc list item continuation
104 +* es/squelch-openssl-warnings-on-macosx (2014-12-18) 1 commit
105 + (merged to 'next' on 2014-12-23 at e88cf6a)
106 + + git-compat-util: suppress unavoidable Apple-specific deprecation warnings
107 +
108 + Squelch useless compiler warnings on Mac OS X.
109
85 - Will merge to 'next'.
110 +
111 +* jc/checkout-local-track-report (2014-10-14) 1 commit
112 + (merged to 'next' on 2014-12-15 at e91a7df)
113 + + checkout: report upstream correctly even with loosely defined branch.*.merge
114 +
115 + The report from "git checkout" on a branch that builds on another
116 + local branch by setting its branch.*.merge to branch name (not a
117 + full refname) incorrectly said that the upstream is gone.
118 +
119 +
120 +* jc/clone-borrow (2014-10-15) 1 commit
121 + (merged to 'next' on 2014-12-15 at 08fdf77)
122 + + clone: --dissociate option to mark that reference is only temporary
123 +
124 + Allow "git clone --reference" to be used more safely.
125 +
126 +
127 +* jc/diff-b-m (2014-10-23) 1 commit
128 + (merged to 'next' on 2014-12-15 at 59c6636)
129 + + diff -B -M: fix output for "copy and then rewrite" case
130 +
131 + Fix long-standing bug in "diff -B -M" output.
132 +
133 +
134 +* jc/merge-bases (2014-10-30) 2 commits
135 + (merged to 'next' on 2014-12-15 at cac279e)
136 + + get_merge_bases(): always clean-up object flags
137 + + bisect: clean flags after checking merge bases
138 +
139 + The get_merge_bases*() API was easy to misuse by careless
140 + copy&paste coders, leaving object flags tainted in the commits that
141 + needed to be traversed.
142 +
143 +
144 +* jc/strbuf-add-lines-avoid-sp-ht-sequence (2014-10-27) 1 commit
145 + (merged to 'next' on 2014-12-15 at b499889)
146 + + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines
147 +
148 + The commented output used to blindly add a SP before the payload
149 + line, resulting in "# \t<indented text>\n" when the payload began
150 + with a HT. Instead, produce "#\t<indented text>\n".
151 +
152 +
153 +* jh/pre-push-sample-no-custom-ifs (2014-12-22) 1 commit
154 + (merged to 'next' on 2014-12-29 at c516021)
155 + + pre-push.sample: remove unnecessary and misleading IFS=' '
156 +
157 + The sample pre-push hook used customized IFS=' ' for no good reason.
158 +
159 +
160 +* jk/add-i-read-error (2014-12-15) 1 commit
161 + (merged to 'next' on 2014-12-23 at 9b76001)
162 + + add--interactive: leave main loop on read error
163 +
164 + "git add -i" did not notice when the interactive command input
165 + stream went away and kept asking.
166 +
167 +
168 +* jk/approxidate-avoid-y-d-m-over-future-dates (2014-11-13) 2 commits
169 + (merged to 'next' on 2014-12-15 at 397e986)
170 + + approxidate: allow ISO-like dates far in the future
171 + + pass TIME_DATE_NOW to approxidate future-check
172 +
173 + Traditionally we tried to avoid interpreting date strings given by
174 + the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
175 + used early November 2014 was taken as "October 12, 2014" because it
176 + is likely that a date in the future, December 10, is a mistake.
177 +
178 + This heuristics has been loosened to allow people to express future
179 + dates (most notably, --until=<date> may want to be far in the
180 + future) and we no longer tiebreak by future-ness of the date when
181 +
182 + (1) ISO-like format is used, and
183 + (2) the string can make sense interpreted as both y-m-d and y-d-m.
184 +
185 + Git may still have to use the heuristics to tiebreak between dd/mm/yy
186 + and mm/dd/yy, though.
187 +
188 +
189 +* lh/send-email-hide-x-mailer (2014-12-15) 2 commits
190 + (merged to 'next' on 2014-12-23 at fc16c68)
191 + + test/send-email: --[no-]xmailer tests
192 + + send-email: add --[no-]xmailer option
193 +
194 + "git send-email" normally identifies itself via X-Mailer: header
195 + in the message it sends out. A new command line flag allows the
196 + header to be squelched.
197 +
198 +
199 +* nd/lockfile-absolute (2014-11-03) 1 commit
200 + (merged to 'next' on 2014-12-15 at 34db9af)
201 + + lockfile.c: store absolute path
202 +
203 + The lockfile API can get confused which file to clean up when the
204 + process moved the $cwd after creating a lockfile.
205 +
206 +
207 +* pd/completion-filenames-fix (2014-12-15) 1 commit
208 + (merged to 'next' on 2014-12-23 at e2b10ab)
209 + + Update documentation occurrences of filename .sh
210 +
211 + The top-of-the-file instruction for completion scripts (in contrib/)
212 + did not name the files correctly.
213 +
214 +
215 +* rd/send-email-2047-fix (2014-12-15) 2 commits
216 + (merged to 'next' on 2014-12-23 at 2b101ce)
217 + + send-email: handle adjacent RFC 2047-encoded words properly
218 + + send-email: align RFC 2047 decoding more closely with the spec
219 +
220 + "git send-email" did not handle RFC 2047 encoded headers quite
221 + right.
222 +
223 +
224 +* rs/plug-strbuf-leak-in-lock-ref (2014-12-29) 1 commit
225 + (merged to 'next' on 2015-01-07 at 4d4a600)
226 + + refs: plug strbuf leak in lock_ref_sha1_basic()
227 +
228 +
229 +* rs/plug-strbuf-leak-in-merge (2014-12-29) 1 commit
230 + (merged to 'next' on 2015-01-07 at 2cb8cea)
231 + + merge: release strbuf after use in suggest_conflicts()
232 +
233 +
234 +* rs/simplify-parsing-commit-tree-S (2014-12-29) 1 commit
235 + (merged to 'next' on 2015-01-07 at 51446e0)
236 + + commit-tree: simplify parsing of option -S using skip_prefix()
237 +
238 +
239 +* rs/simplify-transport-get (2014-12-29) 1 commit
240 + (merged to 'next' on 2015-01-07 at cd27fc8)
241 + + transport: simplify duplicating a substring in transport_get() using xmemdupz()
242 +
243 +
244 +* sb/dco-indentation-fix (2014-12-22) 1 commit
245 + (merged to 'next' on 2014-12-23 at c865690)
246 + + Documentation/SubmittingPatches: unify whitespace/tabs for the DCO
247 +
248 +
249 +* sb/doc-submitting-patches-keep-notes (2015-01-07) 1 commit
250 + (merged to 'next' on 2015-01-07 at c362440)
251 + + SubmittingPatches: explain rationale for using --notes with format-patch
252 +
253 +
254 +* sb/t5400-remove-unused (2014-12-16) 1 commit
255 + (merged to 'next' on 2014-12-23 at a992011)
256 + + t5400: remove dead code
257 +
258 +
259 +* tf/prompt-preserve-exit-status (2014-12-22) 1 commit
260 + (merged to 'next' on 2014-12-23 at dfcd89f)
261 + + git-prompt: preserve value of $? inside shell prompt
262 +
263 + Using the exit status of the last command in the prompt, e.g.
264 + PS1='$(__git_ps1) $? ', did not work well because the helper
265 + function stomped on the exit status.
266
267 --------------------------------------------------
88 -[Stalled]
268 +[New Topics]
269
90 -* jn/rerere-fail-on-auto-update-failure (2014-12-03) 2 commits
91 - - SQUASH???
92 - - rerere: error out on autoupdate failure
270 +* lf/blame-commit-label (2015-01-12) 1 commit
271 + . blame.c: fix garbled error message
272
94 - Will be rerolled as a part of a larger series.
273 + Needs fixing.
274
275
97 -* jn/doc-api-errors (2014-12-04) 1 commit
98 - - doc: document error handling functions and conventions
276 +* aw/doc-smtp-ssl-cert-path (2015-01-07) 1 commit
277 + (merged to 'next' on 2015-01-12 at 61d0b22)
278 + + correct smtp-ssl-cert-path description
279
100 - For discussion.
280 + A long overdue documentation update to match an age-old code
281 + update.
282
283 + Will merge to 'master'.
284
103 -* sb/copy-fd-errno (2014-11-17) 1 commit
104 - - copy.c: make copy_fd preserve meaningful errno
285
106 - Will be rerolled as a part of a larger series.
286 +* mm/complete-rebase-autostash (2015-01-07) 1 commit
287 + (merged to 'next' on 2015-01-12 at edcdead)
288 + + git-completion: add --autostash for 'git rebase'
289 +
290 + Will merge to 'master'.
291 +
292 +
293 +* rh/hide-prompt-in-ignored-directory (2015-01-07) 2 commits
294 + (merged to 'next' on 2015-01-12 at 9aed017)
295 + + git-prompt.sh: allow to hide prompt for ignored pwd
296 + + git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt
297 +
298 + Will merge to 'master'.
299 +
300 +
301 +* bc/http-fallback-to-password-after-krb-fails (2015-01-07) 1 commit
302 + (merged to 'next' on 2015-01-12 at 4c67038)
303 + + remote-curl: fall back to Basic auth if Negotiate fails
304 +
305 + After attempting and failing a password-less authentication
306 + (e.g. kerberos), libcURL refuses to fall back to password based
307 + Basic authentication without a bit of help/encouragement.
308 +
309 + Will cook in 'next'.
310 +
311 +
312 +* bp/diff-relative-config (2015-01-07) 2 commits
313 + - diff: teach diff.relative to give default to --relative=<value>
314 + - diff: teach --no-relative to override earlier --relative
315 +
316 +
317 +* dk/format-patch-ignore-diff-submodule (2015-01-07) 2 commits
318 + (merged to 'next' on 2015-01-12 at 6b4605b)
319 + + format-patch: ignore diff.submodule setting
320 + + t4255: test am submodule with diff.submodule
321 +
322 + Setting diff.submodule to 'log' made "git format-patch" produce
323 + broken patches.
324 +
325 + Will cook in 'next'.
326 +
327 +
328 +* nd/attr-optim (2014-12-29) 3 commits
329 + - attr: avoid heavy work when we know the specified attr is not defined
330 + - attr: do not attempt to expand when we know it's not a macro
331 + - attr.c: rename arg name attr_nr to avoid shadowing the global one
332 +
333 +
334 +* ak/doc-add-v-n-options (2015-01-09) 1 commit
335 + (merged to 'next' on 2015-01-12 at 0888edf)
336 + + Documentation: list long options for -v and -n
337 +
338 + Will merge to 'master'.
339 +
340 +
341 +* ak/fewer-includes (2015-01-09) 2 commits
342 + (merged to 'next' on 2015-01-12 at d425e96)
343 + + cat-file: remove unused includes
344 + + git.c: remove unnecessary #includes
345 +
346 + Will merge to 'master'.
347 +
348 +
349 +* ak/show-branch-usage-string (2015-01-08) 1 commit
350 + (merged to 'next' on 2015-01-12 at 3a0de03)
351 + + show-branch: line-wrap show-branch usage
352 +
353 + Will merge to 'master'.
354 +
355 +
356 +* cj/log-invert-grep (2015-01-12) 1 commit
357 + (merged to 'next' on 2015-01-12 at 4589ca2)
358 + + log: teach --invert-grep option
359 +
360 + Will cook in 'next'.
361 +
362 +
363 +* km/gettext-n (2015-01-12) 1 commit
364 + (merged to 'next' on 2015-01-12 at 0cbbf4a)
365 + + gettext.h: add parentheses around N_ expansion if supported
366 +
367 + Will cook in 'next'.
368 +
369 +
370 +* rh/autoconf-rhel3 (2015-01-09) 3 commits
371 + (merged to 'next' on 2015-01-12 at 57f125c)
372 + + configure.ac: check for HMAC_CTX_cleanup
373 + + configure.ac: check for clock_gettime and CLOCK_MONOTONIC
374 + + configure.ac: check 'tv_nsec' field in 'struct stat'
375 +
376 + Build update for older RHEL.
377 +
378 + Will merge to 'master'.
379 +--------------------------------------------------
380 +[Stalled]
381 +
382 +* jn/doc-api-errors (2014-12-04) 1 commit
383 + - doc: document error handling functions and conventions
384 +
385 + For discussion.
386
387
388 * ye/http-accept-language (2014-12-22) 1 commit
@@ -140,35 +419,12 @@ of the repositories listed at
419 - git-quiltimport.sh: allow declining fuzz with --exact option
420
421 "quiltimport" drove "git apply" always with -C1 option to reduce
143 - context of the patch in order to give more chance to somewhat stale
144 - patches to apply. Add an "--exact" option to disable, and also
145 - "-C$n" option to customize this behaviour. The top patch
146 - optionally flips the default to "--exact".
147 -
148 - Tired of waiting for an Ack; will discard.
149 -
150 -
151 -* jc/push-cert-hmac-optim (2014-09-25) 2 commits
152 - - receive-pack: truncate hmac early and convert only necessary bytes
153 - - sha1_to_hex: split out "hex-format n bytes" helper and use it
154 -
155 - This is "we could do this if we wanted to", not "we measured and it
156 - improves performance critical codepath".
157 -
158 - Will perhaps drop.
159 -
160 -
161 -* mt/patch-id-stable (2014-06-10) 1 commit
162 - - patch-id: change default to stable
163 -
164 - Teaches "git patch-id" to compute the patch ID that does not change
165 - when the files in a single patch is reordered. As this new algorithm
166 - is backward incompatible, the last bit to flip it to be the default
167 - is left out of 'master' for now.
422 + context of the patch in order to give more chance to somewhat stale
423 + patches to apply. Add an "--exact" option to disable, and also
424 + "-C$n" option to customize this behaviour. The top patch
425 + optionally flips the default to "--exact".
426
169 - Nobody seems to be jumping up & down requesting this last step,
170 - which makes the result somewhat backward incompatible.
171 - Will perhaps drop.
427 + Tired of waiting for an Ack; will discard.
428
429
430 * tr/remerge-diff (2014-11-10) 9 commits
@@ -273,189 +529,133 @@ of the repositories listed at
529 --------------------------------------------------
530 [Cooking]
531
276 -* bw/maint-0090-awk-tweak (2014-12-23) 1 commit
277 - (merged to 'next' on 2014-12-29 at 9301c36)
278 - + t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk
279 -
280 - Will merge to 'master'.
281 -
282 -
283 -* cc/bisect-rev-parsing (2014-12-29) 2 commits
284 - - bisect: add test to check that revs are properly parsed
285 - - bisect: parse revs before passing them to check_expected_revs()
286 -
287 - The logic in "git bisect bad HEAD" etc. to avoid forcing the test
288 - of the common ancestor of bad and good commits was broken.
289 -
290 - Will merge to 'next'.
291 -
292 -
293 -* es/checkout-index-temp (2014-12-29) 5 commits
294 - - checkout-index: fix --temp relative path mangling
295 - - t2004: demonstrate broken relative path printing
296 - - t2004: standardize file naming in symlink test
297 - - t2004: drop unnecessary write-tree/read-tree
298 - - t2004: modernize style
299 -
300 - "git checkout-index --temp=$target $path" did not work correctly
301 - for paths outside the current subdirectory in the project.
302 -
303 - Will merge to 'next'.
304 -
305 -
306 -* js/remote-add-with-insteadof (2014-12-23) 2 commits
307 - - Add a regression test for 'git remote add <existing> <same-url>'
308 - - git remote: allow adding remotes agreeing with url.<...>.insteadOf
309 -
310 - "git remote add $name $URL" is now allowed when "url.$URL.insteadOf"
311 - is already defined.
312 -
313 -
314 -* rs/plug-strbuf-leak-in-lock-ref (2014-12-29) 1 commit
315 - - refs: plug strbuf leak in lock_ref_sha1_basic()
316 -
317 - Will merge to 'next'.
532 +* jn/rerere-fail-on-auto-update-failure (2015-01-08) 1 commit
533 + (merged to 'next' on 2015-01-12 at 313c449)
534 + + rerere: error out on autoupdate failure
535
536 + "git rerere" (invoked internally from many mergy operations) did
537 + not correctly signal errors when told to update the working tree
538 + files and failed to do so for whatever reason.
539
320 -* rs/plug-strbuf-leak-in-merge (2014-12-29) 1 commit
321 - - merge: release strbuf after use in suggest_conflicts()
540 + Will cook in 'next'.
541
323 - Will merge to 'next'.
542
543 +* jk/prune-packed-server-info (2015-01-06) 2 commits
544 + (merged to 'next' on 2015-01-12 at 5e789e2)
545 + + update-server-info: create info/* with mode 0666
546 + + t1301: set umask in reflog sharedrepository=group test
547
326 -* rs/simplify-parsing-commit-tree-S (2014-12-29) 1 commit
327 - - commit-tree: simplify parsing of option -S using skip_prefix()
548 + Fix recent breakage in Git 2.2 that started creating info/refs and
549 + objects/info/packs files with permission bits tighter than user's
550 + umask.
551
329 - Will merge to 'next'.
552 + Will merge to 'master'.
553
554
332 -* rs/simplify-transport-get (2014-12-29) 1 commit
333 - - transport: simplify duplicating a substring in transport_get() using xmemdupz()
555 +* km/imap-send-libcurl-options (2015-01-06) 2 commits
556 + (merged to 'next' on 2015-01-12 at 5bb8802)
557 + + imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY
558 + + imap-send.c: support GIT_CURL_VERBOSE
559
335 - Will merge to 'next'.
560 + Now imap-send learned to talk to the server using cURL library,
561 + allow the same GIT_CURL_VERBOSE environment variable to control the
562 + verbosity of the chattering.
563
564 + Will merge to 'master'.
565
338 -* sb/doc-submitting-patches-keep-notes (2014-12-29) 1 commit
339 - - Documentation/SubmittingPatches: Explain the rationale of git notes
566
341 - Will merge to 'next'.
567 +* km/log-usage-string-i18n (2015-01-06) 1 commit
568 + (merged to 'next' on 2015-01-12 at 437bf8a)
569 + + log.c: fix translation markings
570
571 + Will merge to 'master'.
572
344 -* bb/update-unicode-table (2014-12-22) 5 commits
345 - (merged to 'next' on 2014-12-23 at b4ce669)
346 - + update_unicode.sh: delete the command group
347 - + update_unicode.sh: make the output structure visible
348 - + update_unicode.sh: shorten uniset invocation path
349 - + update_unicode.sh: set UNICODE_DIR only once
350 - + update_unicode.sh: simplify output capture
573
352 - Simplify the procedure to generate unicode table.
574 +* rc/for-each-ref-tracking (2015-01-12) 1 commit
575 + (merged to 'next' on 2015-01-12 at 94eef27)
576 + + for-each-ref: always check stat_tracking_info()'s return value
577
578 Will merge to 'master'.
579
580
357 -* bc/fetch-thin-less-aggressive-in-normal-repository (2014-12-29) 3 commits
358 - - pack-objects: use --objects-edge-aggressive for shallow repos
359 - - rev-list: add an option to mark fewer edges as uninteresting
360 - - Documentation: add missing article in rev-list-options.txt
361 -
362 - Earlier we made "rev-list --object-edge" more aggressively list the
363 - objects at the edge commits, in order to reduce number of objects
364 - fetched into a shallow repository, but the change affected cases
365 - other than "fetching into a shallow repository" and made it
366 - unusably slow (e.g. fetching into a normal repository should not
367 - have to suffer the overhead from extra processing). Limit it to a
368 - more specific case by introducing --objects-edge-aggressive, a new
369 - option to rev-list.
581 +* rh/test-color-avoid-terminfo-in-original-home (2015-01-07) 2 commits
582 + (merged to 'next' on 2015-01-12 at eac0b93)
583 + + test-lib.sh: do tests for color support after changing HOME
584 + + test-lib: use 'test ...' instead of '[ ... ]'
585
371 - Will merge to 'next'.
586 + We try to see if "tput" gives a useful result before switching TERM
587 + to dumb and moving HOME to point to our fake location for stability
588 + of the tests, and then use the command when coloring the output
589 + from the tests, but there is no guarantee "tput" works after
590 + switching HOME.
591
592 + Will merge to 'master'.
593
374 -* es/squelch-openssl-warnings-on-macosx (2014-12-18) 1 commit
375 - (merged to 'next' on 2014-12-23 at e88cf6a)
376 - + git-compat-util: suppress unavoidable Apple-specific deprecation warnings
594
378 - Squelch useless compiler warnings on Mac OS X.
595 +* sp/subtree-doc (2015-01-06) 1 commit
596 + (merged to 'next' on 2015-01-12 at 7c488d6)
597 + + subtree: fix AsciiDoc list item continuation
598
599 Will merge to 'master'.
600
601
383 -* jh/pre-push-sample-no-custom-ifs (2014-12-22) 1 commit
384 - (merged to 'next' on 2014-12-29 at c516021)
385 - + pre-push.sample: remove unnecessary and misleading IFS=' '
602 +* js/remote-add-with-insteadof (2014-12-23) 2 commits
603 + (merged to 'next' on 2015-01-12 at ccff14f)
604 + + Add a regression test for 'git remote add <existing> <same-url>'
605 + + git remote: allow adding remotes agreeing with url.<...>.insteadOf
606
387 - The sample pre-push hook used customized IFS=' ' for no good reason.
607 + "git remote add $name $URL" is now allowed when "url.$URL.insteadOf"
608 + is already defined.
609
610 Will merge to 'master'.
611
612
392 -* sb/atomic-push (2014-12-22) 7 commits
393 - - t5543-atomic-push.sh: add basic tests for atomic pushes
394 - - push.c: add an --atomic argument
395 - - receive-pack: move execute_commands_non_atomic before execute_commands
396 - - receive-pack.c: receive-pack.c: use a single ref_transaction for atomic pushes
397 - - send-pack.c: add --atomic command line argument
398 - - send-pack: rename ref_update_to_be_sent to check_to_send_update
399 - - receive-pack.c: add protocol support to negotiate atomic-push
613 +* sb/atomic-push (2015-01-07) 10 commits
614 + (merged to 'next' on 2015-01-12 at 411c6a6)
615 + + t5543-atomic-push.sh: add basic tests for atomic pushes
616 + + push.c: add an --atomic argument
617 + + send-pack.c: add --atomic command line argument
618 + + send-pack: rename ref_update_to_be_sent to check_to_send_update
619 + + receive-pack.c: negotiate atomic push support
620 + + receive-pack.c: add execute_commands_atomic function
621 + + receive-pack.c: move transaction handling in a central place
622 + + receive-pack.c: move iterating over all commands outside execute_commands
623 + + receive-pack.c: die instead of error in case of possible future bug
624 + + receive-pack.c: shorten the execute_commands loop over all commands
625 (this branch uses mh/reflog-expire.)
626
627 "git push" has been taught a "--atomic" option that makes push to
628 update more than one ref an "all-or-none" affair.
629
405 - What is queued here is a few iterations old; need to pick a new one
406 - up when the dust settles.
407 -
408 -
409 -* sb/dco-indentation-fix (2014-12-22) 1 commit
410 - (merged to 'next' on 2014-12-23 at c865690)
411 - + Documentation/SubmittingPatches: unify whitespace/tabs for the DCO
412 -
413 - Will merge to 'master'.
414 -
415 -
416 -* sb/t5400-remove-unused (2014-12-16) 1 commit
417 - (merged to 'next' on 2014-12-23 at a992011)
418 - + t5400: remove dead code
419 -
420 - Will merge to 'master'.
421 -
422 -
423 -* tf/prompt-preserve-exit-status (2014-12-22) 1 commit
424 - (merged to 'next' on 2014-12-23 at dfcd89f)
425 - + git-prompt: preserve value of $? inside shell prompt
426 -
427 - Using the exit status of the last command in the prompt, e.g.
428 - PS1='$(__git_ps1) $? ', did not work well because the helper
429 - function stomped on the exit status.
430 -
431 - Will merge to 'master'.
630 + Will cook in 'next'.
631
632
633 * mh/reflog-expire (2014-12-22) 24 commits
435 - - refs.c: let fprintf handle the formatting
436 - - refs.c: don't expose the internal struct ref_lock in the header file
437 - - lock_any_ref_for_update(): inline function
438 - - refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
439 - - reflog_expire(): new function in the reference API
440 - - expire_reflog(): treat the policy callback data as opaque
441 - - Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
442 - - expire_reflog(): move rewrite to flags argument
443 - - expire_reflog(): move verbose to flags argument
444 - - expire_reflog(): pass flags through to expire_reflog_ent()
445 - - struct expire_reflog_cb: a new callback data type
446 - - Rename expire_reflog_cb to expire_reflog_policy_cb
447 - - expire_reflog(): move updateref to flags argument
448 - - expire_reflog(): move dry_run to flags argument
449 - - expire_reflog(): add a "flags" argument
450 - - expire_reflog(): extract two policy-related functions
451 - - Extract function should_expire_reflog_ent()
452 - - expire_reflog(): use a lock_file for rewriting the reflog file
453 - - expire_reflog(): return early if the reference has no reflog
454 - - expire_reflog(): rename "ref" parameter to "refname"
455 - - expire_reflog(): it's not an each_ref_fn anymore
456 - - refs.c: add a function to append a reflog entry to a fd
457 - - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
458 - - refs.c: make ref_transaction_create a wrapper for ref_transaction_update
634 + (merged to 'next' on 2015-01-12 at 12a7dff)
635 + + refs.c: let fprintf handle the formatting
636 + + refs.c: don't expose the internal struct ref_lock in the header file
637 + + lock_any_ref_for_update(): inline function
638 + + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
639 + + reflog_expire(): new function in the reference API
640 + + expire_reflog(): treat the policy callback data as opaque
641 + + Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
642 + + expire_reflog(): move rewrite to flags argument
643 + + expire_reflog(): move verbose to flags argument
644 + + expire_reflog(): pass flags through to expire_reflog_ent()
645 + + struct expire_reflog_cb: a new callback data type
646 + + Rename expire_reflog_cb to expire_reflog_policy_cb
647 + + expire_reflog(): move updateref to flags argument
648 + + expire_reflog(): move dry_run to flags argument
649 + + expire_reflog(): add a "flags" argument
650 + + expire_reflog(): extract two policy-related functions
651 + + Extract function should_expire_reflog_ent()
652 + + expire_reflog(): use a lock_file for rewriting the reflog file
653 + + expire_reflog(): return early if the reference has no reflog
654 + + expire_reflog(): rename "ref" parameter to "refname"
655 + + expire_reflog(): it's not an each_ref_fn anymore
656 + + refs.c: add a function to append a reflog entry to a fd
657 + + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
658 + + refs.c: make ref_transaction_create a wrapper for ref_transaction_update
659 (this branch is used by sb/atomic-push.)
660
661 Restructure "reflog expire" to fit the reflogs better with the
@@ -464,68 +664,28 @@ of the repositories listed at
664 Looked reasonable (except that some shortlog entries stood out like
665 a sore thumb).
666
667 + Will cook in 'next'.
668
468 -* po/doc-core-ignorestat (2015-01-06) 3 commits
469 - - SQUASH???
470 - - doc: core.ignoreStat update, and clarify the --assume-unchanged effect
669 +
670 +* po/doc-core-ignorestat (2015-01-12) 2 commits
671 + (merged to 'next' on 2015-01-12 at c660a71)
672 + + doc: core.ignoreStat update, and clarify the --assume-unchanged effect
673 (merged to 'next' on 2014-12-23 at d2b3e84)
674 + doc: core.ignoreStat clarify the --assume-unchanged effect
675
474 - Will merge to 'next' after squashing in the fixup.
475 -
476 -
477 -* jk/add-i-read-error (2014-12-15) 1 commit
478 - (merged to 'next' on 2014-12-23 at 9b76001)
479 - + add--interactive: leave main loop on read error
480 -
481 - "git add -i" did not notice when the interactive command input
482 - stream went away and kept asking.
483 -
484 - Will merge to 'master'.
485 -
486 -
487 -* pd/completion-filenames-fix (2014-12-15) 1 commit
488 - (merged to 'next' on 2014-12-23 at e2b10ab)
489 - + Update documentation occurrences of filename .sh
490 -
491 - The top-of-the-file instruction for completion scripts (in contrib/)
492 - did not name the files correctly.
493 -
494 - Will merge to 'master'.
495 -
496 -
497 -* rd/send-email-2047-fix (2014-12-15) 2 commits
498 - (merged to 'next' on 2014-12-23 at 2b101ce)
499 - + send-email: handle adjacent RFC 2047-encoded words properly
500 - + send-email: align RFC 2047 decoding more closely with the spec
501 -
502 - "git send-email" did not handle RFC 2047 encoded headers quite
503 - right.
504 -
676 Will merge to 'master'.
677
678
508 -* jc/push-to-checkout (2014-12-01) 2 commits
509 - - receive-pack: support push-to-checkout hook
510 - - receive-pack: refactor updateInstead codepath
679 +* jc/push-to-checkout (2015-01-08) 2 commits
680 + (merged to 'next' on 2015-01-12 at e64df63)
681 + + receive-pack: support push-to-checkout hook
682 + + receive-pack: refactor updateInstead codepath
683
684 Extending the js/push-to-deploy topic, the behaviour of "git push"
685 when updating the working tree and the index with an update to the
686 branch that is checked out can be tweaked by push-to-checkout hook.
687
516 - Needs docs.
517 -
518 -
519 -* lh/send-email-hide-x-mailer (2014-12-15) 2 commits
520 - (merged to 'next' on 2014-12-23 at fc16c68)
521 - + test/send-email: --[no-]xmailer tests
522 - + send-email: add --[no-]xmailer option
523 -
524 - "git send-email" normally identifies itself via X-Mailer: header
525 - in the message it sends out. A new command line flag allows the
526 - header to be squelched.
527 -
528 - Will merge to 'master'.
688 + Will cook in 'next'.
689
690
691 * nd/list-files (2014-12-01) 19 commits
@@ -555,7 +715,10 @@ of the repositories listed at
715 Comments?
716
717
558 -* nd/multiple-work-trees (2014-12-01) 34 commits
718 +* nd/multiple-work-trees (2015-01-07) 37 commits
719 + - git-checkout.txt: a note about multiple checkout support for submodules
720 + - checkout: add --ignore-other-wortrees
721 + - checkout: pass whole struct to parse_branchname_arg instead of individual flags
722 - git-common-dir: make "modules/" per-working-directory directory
723 - checkout: do not fail if target is an empty directory
724 - t2025: add a test to make sure grafts is working from a linked checkout
@@ -596,76 +759,6 @@ of the repositories listed at
759 by making the borrowee and borrowers aware of each other.
760
761
599 -* jk/approxidate-avoid-y-d-m-over-future-dates (2014-11-13) 2 commits
600 - (merged to 'next' on 2014-12-15 at 397e986)
601 - + approxidate: allow ISO-like dates far in the future
602 - + pass TIME_DATE_NOW to approxidate future-check
603 -
604 - Traditionally we tried to avoid interpreting date strings given by
605 - the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
606 - used early November 2014 was taken as "October 12, 2014" because it
607 - is likely that a date in the future, December 10, is a mistake.
608 -
609 - Loosen this and do not tiebreak by future-ness of the date when
610 -
611 - (1) ISO-like format is used, and
612 - (2) the string can make sense interpreted as both y-m-d and y-d-m.
613 -
614 - Will merge to 'master'.
615 -
616 -
617 -* br/imap-send-verbosity (2014-11-05) 1 commit
618 - (merged to 'next' on 2014-12-15 at 504af0b)
619 - + imap-send: use parse options API to determine verbosity
620 - (this branch is used by br/imap-send-via-libcurl and km/imap-send-libcurl-options.)
621 -
622 - Will merge to 'master'.
623 -
624 -
625 -* br/imap-send-via-libcurl (2014-11-10) 1 commit
626 - (merged to 'next' on 2014-12-15 at 90db637)
627 - + git-imap-send: use libcurl for implementation
628 - (this branch is used by km/imap-send-libcurl-options; uses br/imap-send-verbosity.)
629 -
630 - Newer libCurl knows how to talk IMAP; "git imap-send" has been
631 - updated to use this instead of a hand-rolled OpenSSL calls.
632 -
633 - Will merge to 'master'.
634 -
635 -
636 -* nd/lockfile-absolute (2014-11-03) 1 commit
637 - (merged to 'next' on 2014-12-15 at 34db9af)
638 - + lockfile.c: store absolute path
639 -
640 - The lockfile API can get confused which file to clean up when the
641 - process moved the $cwd after creating a lockfile.
642 -
643 - Will merge to 'master'.
644 -
645 -
646 -* jc/merge-bases (2014-10-30) 2 commits
647 - (merged to 'next' on 2014-12-15 at cac279e)
648 - + get_merge_bases(): always clean-up object flags
649 - + bisect: clean flags after checking merge bases
650 -
651 - The get_merge_bases*() API was easy to misuse by careless
652 - copy&paste coders, leaving object flags tainted in the commits that
653 - needed to be traversed.
654 -
655 - Will merge to 'master'.
656 -
657 -
658 -* jc/strbuf-add-lines-avoid-sp-ht-sequence (2014-10-27) 1 commit
659 - (merged to 'next' on 2014-12-15 at b499889)
660 - + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines
661 -
662 - The commented output used to blindly add a SP before the payload
663 - line, resulting in "# \t<indented text>\n" when the payload began
664 - with a HT. Instead, produce "#\t<indented text>\n".
665 -
666 - Will merge to 'master'.
667 -
668 -
762 * nd/untracked-cache (2015-01-06) 24 commits
763 - fixup! untracked cache: load from UNTR index extension
764 - untracked cache: guard and disable on system changes
@@ -694,34 +787,32 @@ of the repositories listed at
787
788 Comments?
789
790 +--------------------------------------------------
791 +[Discarded]
792
698 -* jc/diff-b-m (2014-10-23) 1 commit
699 - (merged to 'next' on 2014-12-15 at 59c6636)
700 - + diff -B -M: fix output for "copy and then rewrite" case
701 -
702 - Fix long-standing bug in "diff -B -M" output.
793 +* jc/push-cert-hmac-optim (2014-09-25) 2 commits
794 + . receive-pack: truncate hmac early and convert only necessary bytes
795 + . sha1_to_hex: split out "hex-format n bytes" helper and use it
796
704 - Will merge to 'master'.
797 + This is "we could do this if we wanted to", not "we measured and it
798 + improves performance critical codepath".
799
800
707 -* jc/checkout-local-track-report (2014-10-14) 1 commit
708 - (merged to 'next' on 2014-12-15 at e91a7df)
709 - + checkout: report upstream correctly even with loosely defined branch.*.merge
801 +* mt/patch-id-stable (2014-06-10) 1 commit
802 + . patch-id: change default to stable
803
711 - The report from "git checkout" on a branch that builds on another
712 - local branch by setting its branch.*.merge to branch name (not a
713 - full refname) incorrectly said that the upstream is gone.
804 + Nobody seems to be jumping up & down requesting this last step,
805 + which makes the result somewhat backward incompatible.
806
715 - Will merge to 'master'.
807
808 +* sb/copy-fd-errno (2014-11-17) 1 commit
809 + . copy.c: make copy_fd preserve meaningful errno
810
718 -* jc/clone-borrow (2014-10-15) 1 commit
719 - (merged to 'next' on 2014-12-15 at 08fdf77)
720 - + clone: --dissociate option to mark that reference is only temporary
811
722 - Allow "git clone --reference" to be used more safely.
812 +* cj/grep-none-match (2015-01-06) 1 commit
813 + . git-log: added --none-match option
814
724 - Will merge to 'master'.
815 + "git log --none-match --grep=WIP" will show only commits that are
816 + not marked as WIP.
817
726 ---------------------------------------------------
727 -[Discarded]
818 + cj/log-invert-grep replaces this.