1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Sep 2013, #02; Mon, 9)
4 X-master-at: bb80ee09974667a1db6bbc5e33574ed869b76a88
5 X-next-at: 117d2e3ab92364a7d246c98cc5b71f2b751600e6
7 What's cooking in git.git (Sep 2013, #02; Mon, 9)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 The second batch of topics are now in 'master'.
16 You can find the changes described here in the integration branches
17 of the repositories listed at
19 http://git-blame.blogspot.com/p/git-public-repositories.html
21 --------------------------------------------------
22 [Graduated to "master"]
24 * aj/p4-symlink-lose-nl (2013-08-12) 1 commit
25 (merged to 'next' on 2013-08-28 at 5ce9ceb)
26 + git-p4: Fix occasional truncation of symlink contents.
28 Originally merged to 'next' on 2013-08-14
31 * ap/remote-hg-tilde-is-home-directory (2013-08-09) 1 commit
32 (merged to 'next' on 2013-08-28 at 9bfc430)
33 + remote-hg: fix path when cloning with tilde expansion
35 Originally merged to 'next' on 2013-08-14
38 * bc/unuse-packfile (2013-08-02) 2 commits
39 (merged to 'next' on 2013-08-28 at 9029801)
40 + Don't close pack fd when free'ing pack windows
41 + sha1_file: introduce close_one_pack() to close packs on fd pressure
43 Originally merged to 'next' on 2013-08-06
45 Handle memory pressure and file descriptor pressure separately when
46 deciding to release pack windows to honor resource limits.
49 * da/darwin (2013-08-05) 3 commits
50 (merged to 'next' on 2013-08-28 at 6e4c5ae)
51 + OS X: Fix redeclaration of die warning
52 + Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
53 + imap-send: use Apple's Security framework for base64 encoding
55 Originally merged to 'next' on 2013-08-05
58 * db/http-savecookies (2013-08-05) 2 commits
59 (merged to 'next' on 2013-08-28 at 22a8464)
60 + t5551: Remove header from curl cookie file
61 + http: add http.savecookies option to write out HTTP cookies
63 Originally merged to 'next' on 2013-08-05
66 * es/blame-L-more (2013-08-05) 11 commits
67 (merged to 'next' on 2013-08-28 at b73cdc9)
68 + blame: reject empty ranges -L,+0 and -L,-0
69 + t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
70 + blame: reject empty ranges -LX,+0 and -LX,-0
71 + t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
72 + log: fix -L bounds checking bug
73 + t4211: retire soon-to-be unimplementable tests
74 + t4211: log: demonstrate -L bounds checking bug
75 + blame: fix -L bounds checking bug
76 + t8001/t8002: blame: add empty file & partial-line tests
77 + t8001/t8002: blame: demonstrate -L bounds checking bug
78 + t8001/t8002: blame: decompose overly-large test
79 (this branch is used by es/blame-L-twice and es/contacts-blame-L-multi.)
81 Originally merged to 'next' on 2013-08-06
83 More fixes to the code to parse the "-L" option in "log" and "blame".
86 * es/blame-L-twice (2013-08-06) 16 commits
87 (merged to 'next' on 2013-08-28 at e83ae2e)
88 + line-range: reject -L line numbers less than 1
89 + t8001/t8002: blame: add tests of -L line numbers less than 1
90 + line-range: teach -L^:RE to search from start of file
91 + line-range: teach -L:RE to search from end of previous -L range
92 + line-range: teach -L^/RE/ to search from start of file
93 + line-range-format.txt: document -L/RE/ relative search
94 + log: teach -L/RE/ to search from end of previous -L range
95 + blame: teach -L/RE/ to search from end of previous -L range
96 + line-range: teach -L/RE/ to search relative to anchor point
97 + blame: document multiple -L support
98 + t8001/t8002: blame: add tests of multiple -L options
99 + blame: accept multiple -L ranges
100 + blame: inline one-line function into its lone caller
101 + range-set: publish API for re-use by git-blame -L
102 + line-range-format.txt: clarify -L:regex usage form
103 + git-log.txt: place each -L option variation on its own line
104 (this branch is used by es/contacts-blame-L-multi; uses es/blame-L-more.)
106 Originally merged to 'next' on 2013-08-08
108 Teaches "git blame" to take more than one -L ranges.
111 * es/contacts-blame-L-multi (2013-08-13) 3 commits
112 (merged to 'next' on 2013-08-28 at 24ff8b4)
113 + contacts: reduce git-blame invocations
114 + contacts: gather all blame sources prior to invoking git-blame
115 + contacts: validate hunk length earlier
116 (this branch uses es/blame-L-more and es/blame-L-twice.)
118 Originally merged to 'next' on 2013-08-14
121 * fc/remote-hg-shared-setup (2013-08-11) 2 commits
122 (merged to 'next' on 2013-08-28 at 41ee3fe)
123 + remote-hg: add shared repo upgrade
124 + remote-hg: ensure shared repo is initialized
126 Originally merged to 'next' on 2013-08-14
129 * fc/unpack-trees-leakfix (2013-08-13) 1 commit
130 (merged to 'next' on 2013-08-28 at 3ad1f21)
131 + unpack-trees: plug a memory leak
133 Originally merged to 'next' on 2013-08-14
136 * jc/check-x-z (2013-07-11) 4 commits
137 (merged to 'next' on 2013-08-28 at a7670ce)
138 + check-attr -z: a single -z should apply to both input and output
139 + check-ignore -z: a single -z should apply to both input and output
140 + check-attr: the name of the character is NUL, not NULL
141 + check-ignore: the name of the character is NUL, not NULL
143 Originally merged to 'next' on 2013-07-15
145 "git check-ignore -z" applied the NUL termination to both its input
146 (with --stdin) and its output, but "git check-attr -z" ignored the
147 option on the output side.
149 This is potentially a backward incompatible fix. Let's see if
150 anybody screams before deciding if we want to do anything to help
151 existing users (there may be none).
154 * jc/diff-filter-negation (2013-07-19) 6 commits
155 (merged to 'next' on 2013-08-28 at 5cc7720)
156 + diff: deprecate -q option to diff-files
157 + diff: allow lowercase letter to specify what change class to exclude
158 + diff: reject unknown change class given to --diff-filter
159 + diff: preparse --diff-filter string argument
160 + diff: factor out match_filter()
161 + diff: pass the whole diff_options to diffcore_apply_filter()
162 (this branch is used by jc/hold-diff-remove-q-synonym-for-no-deletion.)
164 Originally merged to 'next' on 2013-07-22
166 Teach "git diff --diff-filter" to express "I do not want to see
167 these classes of changes" more directly by listing only the
168 unwanted ones in lowercase (e.g. "--diff-filter=d" will show
169 everything but deletion) and deprecate "diff-files -q" which did
170 the same thing as "--diff-filter=d".
173 * jc/parseopt-command-modes (2013-07-30) 2 commits
174 (merged to 'next' on 2013-08-28 at 738b399)
175 + tag: use OPT_CMDMODE
176 + parse-options: add OPT_CMDMODE()
177 (this branch is used by sb/parseopt-boolean-removal.)
179 Many commands use --dashed-option as a operation mode selector
180 (e.g. "git tag --delete") that the user can use at most one
181 (e.g. "git tag --delete --verify" is a nonsense) and you cannot
182 negate (e.g. "git tag --no-delete" is a nonsense). Make it easier
183 for users of parse_options() to enforce these restrictions.
186 * jc/push-cas (2013-08-02) 9 commits
187 (merged to 'next' on 2013-08-28 at 784281f)
188 + push: teach --force-with-lease to smart-http transport
189 + send-pack: fix parsing of --force-with-lease option
190 + t5540/5541: smart-http does not support "--force-with-lease"
191 + t5533: test "push --force-with-lease"
192 + push --force-with-lease: tie it all together
193 + push --force-with-lease: implement logic to populate old_sha1_expect[]
194 + remote.c: add command line option parser for "--force-with-lease"
195 + builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
196 + cache.h: move remote/connect API out of it
198 Originally merged to 'next' on 2013-08-05
200 Allow a safer "rewind of the remote tip" push than blind "--force",
201 by requiring that the overwritten remote ref to be unchanged since
202 the new history to replace it was prepared.
204 The machinery is more or less ready. The "--force" option is again
205 the big red button to override any safety, thanks to J6t's sanity
206 (the original round allowed --lockref to defeat --force).
208 The logic to choose the default implemented here is fragile
209 (e.g. "git fetch" after seeing a failure will update the
210 remote-tracking branch and will make the next "push" pass,
211 defeating the safety pretty easily). It is suitable only for the
212 simplest workflows, and it may hurt users more than it helps them.
215 * jc/transport-do-not-use-connect-twice-in-fetch (2013-08-28) 6 commits
216 (merged to 'next' on 2013-08-29 at f88a6da)
217 + builtin/fetch.c: Fix a sparse warning
218 (merged to 'next' on 2013-08-28 at 2ed86df)
219 + fetch: work around "transport-take-over" hack
220 + fetch: refactor code that fetches leftover tags
221 + fetch: refactor code that prepares a transport
222 + fetch: rename file-scope global "transport" to "gtransport"
223 + t5802: add test for connect helper
225 Originally merged to 'next' on 2013-08-20
227 The auto-tag-following code in "git fetch" tries to reuse the same
228 transport twice when the serving end does not cooperate and does
229 not give tags that point to commits that are asked for as part of
230 the primary transfer. Unfortunately, Git-aware transport helper
231 interface is not designed to be used more than once, hence this
232 does not work over smart-http transfer.
235 * jc/url-match (2013-08-09) 7 commits
236 (merged to 'next' on 2013-08-28 at 2a9fd23)
237 + builtin/config.c: compilation fix
238 + config: "git config --get-urlmatch" parses section.<url>.key
239 + builtin/config: refactor collect_config()
240 + config: parse http.<url>.<variable> using urlmatch
241 + config: add generic callback wrapper to parse section.<url>.key
242 + config: add helper to normalize and match URLs
243 + http.c: fix parsing of http.sslCertPasswordProtected variable
245 Originally merged to 'next' on 2013-08-12
247 Allow section.<urlpattern>.var configuration variables to be
248 treated as a "virtual" section.var given a URL, and use the
249 mechanism to enhance http.* configuration variables.
251 This is a reroll of Kyle J. McKay's work.
254 * jk/cat-file-batch-optim (2013-08-05) 1 commit
255 (merged to 'next' on 2013-08-28 at 624e60d)
256 + cat-file: only split on whitespace when %(rest) is used
258 Originally merged to 'next' on 2013-08-06
260 Rework the reverted change to `cat-file --batch-check`.
263 * jk/fast-import-empty-ls (2013-06-23) 4 commits
264 (merged to 'next' on 2013-08-28 at 876a39d)
265 + fast-import: allow moving the root tree
266 + fast-import: allow ls or filecopy of the root tree
267 + fast-import: set valid mode on root tree in "ls"
268 + t9300: document fast-import empty path issues
270 Originally merged to 'next' on 2013-07-22
273 * jk/mailmap-incomplete-line (2013-08-28) 1 commit
274 (merged to 'next' on 2013-09-04 at e77e887)
275 + mailmap: handle mailmap blobs without trailing newlines
277 Will merge later to 'maint'.
280 * jl/some-submodule-config-are-not-boolean (2013-08-19) 1 commit
281 (merged to 'next' on 2013-08-28 at 7fabc3e)
282 + avoid segfault on submodule.*.path set to an empty "true"
284 Originally merged to 'next' on 2013-08-20
287 * jl/submodule-mv (2013-08-06) 5 commits
288 (merged to 'next' on 2013-08-28 at 4ec6b41)
289 + rm: delete .gitmodules entry of submodules removed from the work tree
290 + mv: update the path entry in .gitmodules for moved submodules
291 + submodule.c: add .gitmodules staging helper functions
292 + mv: move submodules using a gitfile
293 + mv: move submodules together with their work trees
294 (this branch is tangled with nd/magic-pathspec.)
296 Originally merged to 'next' on 2013-08-08
298 "git mv A B" when moving a submodule A does "the right thing",
299 inclusing relocating its working tree and adjusting the paths in
300 the .gitmodules file.
303 * km/svn-1.8-serf-only (2013-07-18) 3 commits
304 (merged to 'next' on 2013-08-28 at 1119134)
305 + Git.pm: revert _temp_cache use of temp_is_locked
306 + git-svn: allow git-svn fetching to work using serf
307 + Git.pm: add new temp_is_locked function
309 Originally merged to 'next' on 2013-07-19
311 Subversion 1.8.0 that was recently released breaks older subversion
312 clients coming over http/https in various ways.
315 * mm/no-shell-escape-in-die-message (2013-08-07) 1 commit
316 (merged to 'next' on 2013-08-28 at 86b300f)
317 + die_with_status: use "printf '%s\n'", not "echo"
319 Originally merged to 'next' on 2013-08-08
321 Fixes a minor bug in "git rebase -i" (there could be others, as the
322 root cause is pretty generic) where the code feeds a random, data
323 dependeant string to 'echo' and expects it to come out literally.
326 * ms/fetch-prune-configuration (2013-07-18) 1 commit
327 (merged to 'next' on 2013-08-28 at fa6ffc7)
328 + fetch: make --prune configurable
330 Originally merged to 'next' on 2013-07-21
332 Allow fetch.prune and remote.*.prune configuration variables to be set,
333 and "git fetch" to behave as if "--prune" is given.
335 "git fetch" that honors remote.*.prune is fine, but I wonder if we
336 should somehow make "git push" aware of it as well. Perhaps
337 remote.*.prune should not be just a boolean, but a 4-way "none",
338 "push", "fetch", "both"?
341 * nd/clone-connectivity-shortcut (2013-07-23) 1 commit
342 (merged to 'next' on 2013-08-28 at d227f9f)
343 + smart http: use the same connectivity check on cloning
345 Originally merged to 'next' on 2013-07-30
348 * nd/gc-lock-against-each-other (2013-08-09) 1 commit
349 (merged to 'next' on 2013-08-28 at 46e072b)
350 + gc: reject if another gc is running, unless --force is given
352 Originally merged to 'next' on 2013-08-14
355 * nd/magic-pathspec (2013-09-05) 50 commits
356 (merged to 'next' on 2013-09-05 at b832b8d)
357 + add: lift the pathspec magic restriction on "add -p"
358 + pathspec: catch prepending :(prefix) on pathspec with short magic
359 (merged to 'next' on 2013-08-28 at 305c6e9)
360 + rm: do not set a variable twice without intermediate reading.
361 + t6131 - skip tests if on case-insensitive file system
362 + parse_pathspec: accept :(icase)path syntax
363 + pathspec: support :(glob) syntax
364 + pathspec: make --literal-pathspecs disable pathspec magic
365 + pathspec: support :(literal) syntax for noglob pathspec
366 + kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
367 + parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
368 + parse_pathspec: make sure the prefix part is wildcard-free
369 + rename field "raw" to "_raw" in struct pathspec
370 + tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
371 + remove match_pathspec() in favor of match_pathspec_depth()
372 + remove init_pathspec() in favor of parse_pathspec()
373 + remove diff_tree_{setup,release}_paths
374 + convert common_prefix() to use struct pathspec
375 + convert add_files_to_cache to take struct pathspec
376 + convert {read,fill}_directory to take struct pathspec
377 + convert refresh_index to take struct pathspec
378 + convert report_path_error to take struct pathspec
379 + checkout: convert read_tree_some to take struct pathspec
380 + convert unmerge_cache to take struct pathspec
381 + convert run_add_interactive to use struct pathspec
382 + convert read_cache_preload() to take struct pathspec
383 + line-log: convert to use parse_pathspec
384 + reset: convert to use parse_pathspec
385 + add: convert to use parse_pathspec
386 + check-ignore: convert to use parse_pathspec
387 + archive: convert to use parse_pathspec
388 + ls-files: convert to use parse_pathspec
389 + rm: convert to use parse_pathspec
390 + checkout: convert to use parse_pathspec
391 + rerere: convert to use parse_pathspec
392 + status: convert to use parse_pathspec
393 + commit: convert to use parse_pathspec
394 + clean: convert to use parse_pathspec
395 + guard against new pathspec magic in pathspec matching code
396 + parse_pathspec: support prefixing original patterns
397 + parse_pathspec: support stripping/checking submodule paths
398 + parse_pathspec: support stripping submodule trailing slashes
399 + parse_pathspec: add special flag for max_depth feature
400 + convert some get_pathspec() calls to parse_pathspec()
401 + parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
402 + parse_pathspec: save original pathspec for reporting
403 + add parse_pathspec() that converts cmdline args to struct pathspec
404 + pathspec: add copy_pathspec
405 + pathspec: i18n-ize error strings in pathspec parsing code
406 + move struct pathspec and related functions to pathspec.[ch]
407 + clean: remove unused variable "seen"
408 (this branch is tangled with jl/submodule-mv.)
410 Originally merged to 'next' on 2013-07-23
412 Use "struct pathspec" interface in more places, instead of array of
413 characters, the latter of which cannot express magic pathspecs
414 (e.g. ":(icase)makefile" that matches both Makefile and makefile).
417 * nd/sq-quote-buf (2013-07-30) 3 commits
418 (merged to 'next' on 2013-08-28 at d0ffd55)
419 + quote: remove sq_quote_print()
420 + tar-tree: remove dependency on sq_quote_print()
421 + for-each-ref, quote: convert *_quote_print -> *_quote_buf
423 Originally merged to 'next' on 2013-08-01
425 Code simplification as a preparatory step to something larger.
428 * rr/feed-real-path-to-editor (2013-07-29) 1 commit
429 (merged to 'next' on 2013-08-28 at 7458fa4)
430 + editor: use canonicalized absolute path
432 Originally merged to 'next' on 2013-07-30
435 * sb/diff-delta-remove-needless-comparison (2013-08-18) 1 commit
436 (merged to 'next' on 2013-08-28 at ba09c3f)
437 + create_delta_index: simplify condition always evaluating to true
439 Originally merged to 'next' on 2013-08-20
442 * sb/misc-cleanup (2013-08-09) 3 commits
443 (merged to 'next' on 2013-08-28 at bc2045b)
444 + rm: remove unneeded null pointer check
445 + diff: fix a possible null pointer dereference
446 + diff: remove ternary operator evaluating always to true
448 Originally merged to 'next' on 2013-08-14
451 * sb/parseopt-boolean-removal (2013-08-07) 9 commits
452 (merged to 'next' on 2013-08-28 at 2f3f21f)
453 + revert: use the OPT_CMDMODE for parsing, reducing code
454 + checkout-index: fix negations of even numbers of -n
455 + config parsing options: allow one flag multiple times
456 + hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
457 + branch, commit, name-rev: ease up boolean conditions
458 + checkout: remove superfluous local variable
459 + log, format-patch: parsing uses OPT__QUIET
460 + Replace deprecated OPT_BOOLEAN by OPT_BOOL
461 + Remove deprecated OPTION_BOOLEAN for parsing arguments
462 (this branch uses jc/parseopt-command-modes.)
464 Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use
465 OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn
466 remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary.
469 * sg/bash-prompt-lf-in-cwd-test (2013-08-18) 1 commit
470 (merged to 'next' on 2013-08-28 at eb449b5)
471 + bash prompt: test the prompt with newline in repository path
473 Originally merged to 'next' on 2013-08-20
476 * sp/clip-read-write-to-8mb (2013-08-20) 2 commits
477 (merged to 'next' on 2013-08-28 at c9840d7)
478 + Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU"
479 + xread, xwrite: limit size of IO to 8MB
481 Originally merged to 'next' on 2013-08-22
483 Send a large request to read(2)/write(2) as a smaller but still
484 reasonably large chunks, which would improve the latency when the
485 operation needs to be killed and incidentally works around broken
486 64-bit systems that cannot take a 2GB write or read in one go.
489 * tg/index-struct-sizes (2013-08-20) 1 commit
490 (merged to 'next' on 2013-08-28 at c815042)
491 + read-cache: use fixed width integer types
493 Originally merged to 'next' on 2013-08-22
495 The code that reads from a region that mmaps an on-disk index
496 assumed that "int"/"short" are always 32/16 bits.
499 * tr/fd-gotcha-fixes (2013-08-06) 1 commit
500 (merged to 'next' on 2013-08-28 at 5305271)
501 + t0070: test that git_mkstemps correctly checks return value of open()
503 Originally merged to 'next' on 2013-08-08
505 Finishing touches to an earlier fix already in 'master'.
508 * tr/log-full-diff-keep-true-parents (2013-08-05) 2 commits
509 (merged to 'next' on 2013-08-28 at e86ec11)
510 + log: use true parents for diff when walking reflogs
511 + log: use true parents for diff even when rewriting
513 Originally merged to 'next' on 2013-08-08
515 Output from "git log --full-diff -- <pathspec>" looked strange,
516 because comparison was done with the previous ancestor that touched
517 the specified <pathspec>, causing the patches for paths outside the
518 pathspec to show more than the single commit has changed.
520 Tweak "git reflog -p" for the same reason using the same mechanism.
522 --------------------------------------------------
525 * js/add-i-mingw (2013-09-04) 1 commit
526 - add--interactive: fix external command invocation on Windows
528 The implementation of "add -i" has a crippling code to work around
529 ActiveState Perl limitation but it by mistake also triggered on Git
530 for Windows where MSYS perl is used.
532 Will merge to 'next'.
535 * rh/ishes-doc (2013-09-04) 7 commits
536 - glossary: fix and clarify the definition of 'ref'
537 - revisions.txt: fix and clarify <rev>^{<type>}
538 - glossary: more precise definition of tree-ish (a.k.a. treeish)
539 - use 'commit-ish' instead of 'committish'
540 - use 'tree-ish' instead of 'treeish'
541 - glossary: define commit-ish (a.k.a. committish)
542 - glossary: mention 'treeish' as an alternative to 'tree-ish'
544 We liberally use "committish" and "commit-ish" (and "treeish" and
545 "tree-ish"); as these are non-words, let's unify these terms to
546 their dashed form. More importantly, clarify the documentation on
547 object peeling using these terms.
549 Will merge to 'next'.
552 * jc/commit-is-spelled-with-two-ems (2013-09-05) 2 commits
553 (merged to 'next' on 2013-09-05 at 982aef2)
554 + typofix: cherry is spelled with two ars
555 + typofix: commit is spelled with two ems
557 Will merge to 'master'.
560 * bc/http-backend-allow-405 (2013-09-09) 1 commit
561 - http-backend: provide Allow header for 405
563 When the webserver responds with "405 Method Not Allowed", it
564 should tell the client what methods are allowed with the "Allow"
567 Will merge to 'next'.
570 * dw/check-ignore-sans-index (2013-09-05) 2 commits
571 - SQUASH??? do not let --no-index squat on short-and-sweet -i for now
572 - check-ignore: Add option to ignore index contents
574 "git check-ignore" follows the same rule as "git add" and "git
575 status" in that the ignore/exclude mechanism does not take effect
576 on paths that are already tracked. With "--no-index" option, it
577 can be used to diagnose which paths that should have been ignored
578 have been mistakenly added to the index.
580 Will squash the tip in and merge to 'next'.
583 * hu/cherry-pick-previous-branch (2013-09-09) 1 commit
584 - cherry-pick: allow "-" as abbreviation of '@{-1}'
586 Just like "git checkout -" knows to check out and "git merge -"
587 knows to merge the branch you were previously on, teach "git
588 cherry-pick" to understand "-" as the previous branch.
590 Will merge to 'next'.
593 * jh/checkout-auto-tracking (2013-09-09) 5 commits
594 - branch.c: Relax unnecessary requirement on upstream's remote ref name
595 - t3200: Add test demonstrating minor regression in 41c21f2
596 - Refer to branch.<name>.remote/merge when documenting --track
597 - t3200: Minor fix when preparing for tracking failure
598 - t2024: Fix &&-chaining and a couple of typos
600 Fix a minor regression in v1.8.3.2 and later that made it
601 impossible to base your local work on anything but a local branch
602 of the upstream repository you are tracking from.
604 Will merge to 'next'.
607 * jk/remove-remote-helpers-in-python (2013-09-09) 1 commit
608 - git_remote_helpers: remove little used Python library
610 Remove now disused remote-helpers framework for helpers written in
613 Will merge to 'next'.
616 * jk/upload-pack-keepalive (2013-09-09) 2 commits
617 - upload-pack: bump keepalive default to 5 seconds
618 - upload-pack: send keepalive packets during pack computation
620 When running "fetch -q", a long silence while the sender side
621 computes the set of objects to send can be mistaken by proxies as
624 Will merge to 'next'.
627 * mm/rebase-continue-freebsd-WB (2013-09-09) 1 commit
628 - rebase: fix run_specific_rebase's use of "return" on FreeBSD
630 Work around a bug in FreeBSD shell that caused a regression to "git
631 rebase" in v1.8.4. It would be lovely to hear from FreeBSD folks a
632 success report to make sure we didn't miss any other use of a bare
633 "return" from dot-sourced script.
635 Will merge to 'next'.
638 * ss/doclinks (2013-09-06) 1 commit
639 - Documentation: make AsciiDoc links always point to HTML files
641 When we converted many documents that were traditionally text-only
642 to be formatted to AsciiDoc, we did not update links that point at
643 them to refer to the formatted HTML files.
645 Will merge to 'next'.
648 * uh/git-svn-serf-fix (2013-09-06) 1 commit
649 - git-svn: fix termination issues for remote svn connections
651 "git-svn" used with SVN 1.8.0 when talking over https:// connection
652 dumped core due to a bug in the serf library that SVN uses. Work
653 it around on our side, even though the SVN side is being fixed.
655 --------------------------------------------------
658 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
659 - git-send-email: Cache generated message-ids, use them when prompting
660 - git-send-email: add optional 'choices' parameter to the ask sub
663 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
664 - ### DONTMERGE: needs better explanation on what config they need
665 - pack-refs.c: Add missing call to git_config()
666 - show-ref.c: Add missing call to git_config()
668 The changes themselves are probably good, but it is unclear what
669 basic setting needs to be read for which exact operation.
671 Waiting for clarification.
675 * jh/shorten-refname (2013-05-07) 4 commits
676 - t1514: refname shortening is done after dereferencing symbolic refs
677 - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
678 - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
679 - t1514: Add tests of shortening refnames in strict/loose mode
681 When remotes/origin/HEAD is not a symbolic ref, "rev-parse
682 --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
683 "origin/HEAD", which is fixed with this series (if it is a symbolic
684 ref that points at remotes/origin/something, then it should show
685 "origin/something" and it already does).
687 Expecting a reroll, as an early part of a larger series.
691 * mg/more-textconv (2013-05-10) 7 commits
692 - grep: honor --textconv for the case rev:path
693 - grep: allow to use textconv filters
694 - t7008: demonstrate behavior of grep with textconv
695 - cat-file: do not die on --textconv without textconv filters
696 - show: honor --textconv for blobs
697 - diff_opt: track whether flags have been set explicitly
698 - t4030: demonstrate behavior of show with textconv
700 Make "git grep" and "git show" pay attention to --textconv when
701 dealing with blob objects.
703 I thought this was pretty well designed and executed, but it seems
704 there are some doubts on the list; kicked back to 'pu'.
707 * jc/format-patch (2013-04-22) 2 commits
708 - format-patch: --inline-single
709 - format-patch: rename "no_inline" field
711 A new option to send a single patch to the standard output to be
712 appended at the bottom of a message. I personally have no need for
713 this, but it was easy enough to cobble together. Tests, docs and
714 stripping out more MIMEy stuff are left as exercises to interested
717 Not ready for inclusion.
719 Will discard unless we hear from anybody who is interested in
720 tying its loose ends.
723 * jk/gitweb-utf8 (2013-04-08) 4 commits
724 - gitweb: Fix broken blob action parameters on blob/commitdiff pages
725 - gitweb: Don't append ';js=(0|1)' to external links
726 - gitweb: Make feed title valid utf8
727 - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
729 Various fixes to gitweb.
731 Drew Northup volunteered to take a look into this.
735 * jc/show-branch (2013-06-07) 5 commits
736 - show-branch: use commit slab to represent bitflags of arbitrary width
737 - show-branch.c: remove "all_mask"
738 - show-branch.c: abstract out "flags" operation
739 - show-branch.c: lift all_mask/all_revs to a global static
740 - show-branch.c: update comment style
742 Waiting for the final step to lift the hard-limit before sending it out.
744 --------------------------------------------------
747 * fc/contrib-bzr-hg-fixes (2013-09-03) 10 commits
748 - contrib/remote-helpers: quote variable references in redirection targets
749 - contrib/remote-helpers: style updates for test scripts
750 - remote-hg: use notes to keep track of Hg revisions
751 - remote-helpers: cleanup more global variables
752 - remote-helpers: trivial style fixes
753 - remote-hg: improve basic test
754 - remote-hg: add missing &&s in the test
755 - remote-hg: fix test
756 - remote-bzr: make bzr branches configurable per-repo
757 - remote-bzr: fix export of utf-8 authors
759 Will merge to 'next'.
762 * jc/pager-configuration-doc (2013-08-29) 1 commit
763 (merged to 'next' on 2013-09-05 at 3169083)
764 + config: rewrite core.pager documentation
766 It was unclear in the documentation how various configurations and
767 environment variables determine which pager is eventually used.
769 Will merge to 'master'.
772 * np/pack-v4 (2013-09-03) 24 commits
773 - Document pack v4 format
774 - initial pack index v3 support on the read side
775 - pack v4: add progress display
776 - pack v4: normalize pack name to properly generate the pack index file name
778 - pack v4: relax commit parsing a bit
779 - pack v4: honor pack.compression config option
780 - pack v4: load delta candidate for encoding tree objects
781 - pack v4: tree object delta encoding
782 - pack v4: object writing
783 - pack v4: object data copy
784 - pack v4: object headers
785 - pack v4: creation code
786 - pack v4: dictionary table output
787 - pack v4: tree object encoding
788 - pack v4: commit object encoding
789 - pack v4: basic references encoding
790 - pack v4: move to struct pack_idx_entry and get rid of our own struct idx_entry
791 - pack v4: split the object list and dictionary creation
792 - pack v4: add commit object parsing
793 - pack v4: add tree entry mode support to dictionary entries
794 - pack v4: scan tree objects
795 - export packed_object_info()
796 - pack v4: initial pack dictionary structure and code
798 Will replace with a newer version of the series.
801 * jk/free-tree-buffer (2013-06-06) 1 commit
802 (merged to 'next' on 2013-09-09 at 3576189)
803 + clear parsed flag when we free tree buffers
805 Will merge to 'master'.
808 * jk/has-sha1-file-retry-packed (2013-08-30) 1 commit
809 (merged to 'next' on 2013-09-09 at fc42e9b)
810 + has_sha1_file: re-check pack directory before giving up
812 When an object is not found after checking the packfiles and then
813 loose object directory, read_sha1_file() re-checks the packfiles to
814 prevent racing with a concurrent repacker; teach the same logic to
817 Will merge to 'master'.
820 * ab/gitweb-author-initials (2013-08-30) 1 commit
821 (merged to 'next' on 2013-09-09 at ecb924d)
822 + gitweb: Fix the author initials in blame for non-ASCII names
824 Will merge to 'master'.
827 * bk/refs-multi-update (2013-09-09) 8 commits
828 - update-ref: add test cases covering --stdin signature
829 - update-ref: support multiple simultaneous updates
830 - refs: add update_refs for multiple simultaneous updates
831 - refs: add function to repack without multiple refs
832 - refs: factor delete_ref loose ref step into a helper
833 - refs: factor update_ref steps into helpers
834 - refs: report ref type from lock_any_ref_for_update
835 - reset: rename update_refs to reset_refs
837 Give "update-refs" a "--stdin" option to read multiple update
838 requests and perform them in an all-or-none fashion.
843 * fc/at-head (2013-09-09) 3 commits
845 - Add new @ shortcut for HEAD
846 - sha1-name: pass len argument to interpret_branch_name()
848 Attempt to resurrect "Type @ for HEAD"; the bottom one seems to be
849 a genuine code improvement, but identifying cases where "@" means
850 HEAD were harder than it should have been. I think the result of
851 squashing the tip one in covers all the necessary cases.
853 Will squash the tip in and merge to 'next'.
856 * fc/fast-export (2013-09-03) 2 commits
857 (merged to 'next' on 2013-09-09 at 8d5d396)
858 + fast-export: refactor get_tags_and_duplicates()
859 + fast-export: make extra_refs global
863 Will merge to 'master'.
866 * fc/rev-parse-test-updates (2013-09-03) 4 commits
867 (merged to 'next' on 2013-09-09 at 92c51ef)
868 + rev-parse test: use standard test functions for setup
869 + rev-parse test: use test_cmp instead of "test" builtin
870 + rev-parse test: use test_must_fail, not "if <command>; then false; fi"
871 + rev-parse test: modernize quoting and whitespace
875 Will merge to 'master'.
878 * fc/t3200-fixes (2013-09-03) 3 commits
879 (merged to 'next' on 2013-09-09 at 3626363)
880 + t: branch: fix broken && chains
881 + t: branch: fix typo
882 + t: branch: trivial style fix
884 Will merge to 'master'.
887 * fc/trivial (2013-09-08) 5 commits
888 (merged to 'next' on 2013-09-09 at a8ad2e1)
889 + pull: use $curr_branch_short more
890 + add: trivial style cleanup
891 + reset: trivial style cleanup
892 + branch: trivial style fix
893 + reset: trivial refactoring
895 Will merge to 'master'.
898 * jc/ref-excludes (2013-09-03) 2 commits
899 - document --exclude option
900 - revision: introduce --exclude=<glob> to tame wildcards
902 People often wished a way to tell "git log --branches" (and "git
903 log --remotes --not --branches") to exclude some local branches
904 from the expansion of "--branches" (similarly for "--tags", "--all"
905 and "--glob=<pattern>"). Now they have one.
907 Will merge to 'next'.
910 * jk/pager-bypass-cat-for-default-pager (2013-09-03) 1 commit
911 (merged to 'next' on 2013-09-09 at c9cfbaa)
912 + pager: turn on "cat" optimization for DEFAULT_PAGER
914 If a build-time fallback is set to "cat" instead of "less", we
915 should apply the same "no subprocess or pipe" optimization as we
916 apply to user-supplied GIT_PAGER=cat.
918 Will merge to 'master'.
921 * nd/git-dir-pointing-at-gitfile (2013-09-03) 1 commit
922 (merged to 'next' on 2013-09-09 at 5b0a4bf)
923 + Make setup_git_env() resolve .git file when $GIT_DIR is not specified
925 We made sure that we notice the user-supplied GIT_DIR is actually a
926 gitfile, but failed to do so when the default ".git" is a gitfile.
928 Will merge to 'master'.
931 * nr/git-cd-to-a-directory (2013-09-09) 1 commit
932 - git: run in a directory given with -C option
934 Just like "make -C <directory>", make "git -C <directory> ..." to
935 go there before doing anything else.
937 Will merge to 'next'.
940 * rh/peeling-tag-to-tag (2013-09-03) 2 commits
941 - peel_onion: do not assume length of x_type globals
942 - peel_onion(): add support for <rev>^{tag}
944 Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
947 Will merge to 'next'.
950 * cc/replace-with-the-same-type (2013-09-09) 8 commits
951 - Doc: 'replace' merge and non-merge commits
952 - t6050-replace: use some long option names
953 - replace: allow long option names
954 - Documentation/replace: add Creating Replacement Objects section
955 - t6050-replace: add test to clean up all the replace refs
956 - t6050-replace: test that objects are of the same type
957 - Documentation/replace: state that objects must be of the same type
958 - replace: forbid replacing an object with one of a different type
960 Using the replace mechanism to swap an object with another object
961 of a different type can introduce inconsistency (e.g. a tree
962 expects an object name to refer to a blob, but the blob object can
963 be mistakenly or maliciously replaced with an object with a
964 different type). Attempt to forbid such.
966 Will merge to 'next'.
969 * jx/clean-interactive (2013-08-28) 1 commit
970 (merged to 'next' on 2013-09-09 at 477fec6)
971 + documentation: clarify notes for clean.requireForce
973 Finishing touches to update the document to adjust to a new option
974 "git clean" learned recently.
976 Will merge to 'master'.
979 * mm/status-without-comment-char (2013-09-06) 6 commits
980 - status: add missing blank line after list of "other" files
981 - tests: don't set status.displayCommentPrefix file-wide
982 - status: disable display of '#' comment prefix by default
983 - submodule summary: ignore --for-status option
984 - wt-status: use argv_array API
985 - builtin/stripspace.c: fix broken indentation
987 Allow "git status" to omit the prefix to make its output a comment
988 in a commit log editor, which is not necessary for human
991 We may want to tighten the output to omit unnecessary trailing
992 blank lines, but that does not have to be in the scope of this
995 Will merge to 'next'.
998 * js/xread-in-full (2013-08-20) 1 commit
999 (merged to 'next' on 2013-09-04 at 5bfb049)
1000 + stream_to_pack: xread does not guarantee to read all requested bytes
1002 Originally merged to 'next' on 2013-08-20
1004 A call to xread() was used without a loop around to cope with short
1005 read in the codepath to stream new contents to a pack.
1007 Will merge to 'master' in the third batch.
1010 * sb/mailmap-freeing-NULL-is-ok (2013-08-20) 1 commit
1011 (merged to 'next' on 2013-09-04 at c831015)
1012 + mailmap: remove redundant check for freeing memory
1014 Originally merged to 'next' on 2013-08-20
1016 Will merge to 'master' in the third batch.
1019 * bc/submodule-status-ignored (2013-09-04) 2 commits
1020 - submodule: don't print status output with ignore=all
1021 - submodule: fix confusing variable name
1023 Originally merged to 'next' on 2013-08-22
1025 Will merge to 'next'.
1028 * jk/config-int-range-check (2013-09-09) 5 commits
1029 (merged to 'next' on 2013-09-09 at 9ab779d)
1030 + git-config: always treat --int as 64-bit internally
1031 + config: make numeric parsing errors more clear
1032 + config: set errno in numeric git_parse_* functions
1033 + config: properly range-check integer values
1034 + config: factor out integer parsing from range checks
1036 Originally merged to 'next' on 2013-08-22
1038 "git config --int section.var 3g" should somehow diagnose that the
1039 number does not fit in "int" (on 32-bit platforms anyway) but it
1042 Will merge to 'master'.
1045 * jk/duplicate-objects-in-packs (2013-09-04) 5 commits
1046 (merged to 'next' on 2013-09-09 at 72f2c3d)
1047 + t5308: check that index-pack --strict detects duplicate objects
1048 + test index-pack on packs with recoverable delta cycles
1049 + add tests for indexing packs with delta cycles
1050 + sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
1051 + test-sha1: add a binary output mode
1053 A packfile that stores the same object more than once is broken and
1056 Will merge to 'master'.
1059 * mm/mediawiki-dumb-push-fix (2013-09-03) 4 commits
1060 (merged to 'next' on 2013-09-05 at f8313f4)
1061 + git-remote-mediawiki: no need to update private ref in non-dumb push
1062 + git-remote-mediawiki: use no-private-update capability on dumb push
1063 + transport-helper: add no-private-update capability
1064 + git-remote-mediawiki: add test and check Makefile targets
1066 Will merge to 'master'.
1069 * rt/rebase-p-no-merge-summary (2013-08-21) 1 commit
1070 (merged to 'next' on 2013-09-04 at d8d89ee)
1071 + rebase --preserve-merges: ignore "merge.log" config
1073 Originally merged to 'next' on 2013-08-22
1075 "git rebase -p" internally used the merge machinery, but when
1076 rebasing, there should not be a need for merge summary.
1078 Will merge to 'master' in the third batch.
1081 * dw/diff-no-index-doc (2013-08-28) 2 commits
1082 - diff --no-index: describe in a separate paragraph
1083 - diff --no-index: clarify operation when not inside a repository
1085 When the user types "git diff" outside a working tree, thinking he
1086 is inside one, the current error message that is a single-liner
1087 "usage: git diff --no-index <path> <path>" may not be sufficient to
1088 make him realize the mistake. Add "Not a git repository" to the
1089 error message when we fell into the "--no-index" mode without an
1090 explicit command line option to instruct us to do so.
1092 Will merge to 'next'.
1095 * sb/repack-in-c (2013-08-30) 2 commits
1096 - repack: retain the return value of pack-objects
1097 - repack: rewrite the shell script in C
1099 Any further reviews?
1102 * ap/commit-author-mailmap (2013-08-24) 1 commit
1103 (merged to 'next' on 2013-09-09 at 79d5a20)
1104 + commit: search author pattern against mailmap
1106 "git commit --author=$name", when $name is not in the canonical
1107 "A. U. Thor <au.thor@example.xz>" format, looks for a matching name
1108 from existing history, but did not consult mailmap to grab the
1109 preferred author name.
1111 Will merge to 'master'.
1114 * jk/write-broken-index-with-nul-sha1 (2013-08-28) 1 commit
1115 (merged to 'next' on 2013-09-09 at 6953f27)
1116 + write_index: optionally allow broken null sha1s
1118 Earlier we started rejecting an attempt to add 0{40} object name to
1119 the index and to tree objects, but it sometimes is necessary to
1120 allow so to be able to use tools like filter-branch to correct such
1121 broken tree objects.
1123 Will merge to 'master'.
1126 * kk/tests-with-no-perl (2013-08-24) 4 commits
1127 (merged to 'next' on 2013-09-09 at 67510b1)
1128 + reset test: modernize style
1129 + t/t7106-reset-unborn-branch.sh: Add PERL prerequisite
1130 + add -i test: use skip_all instead of repeated PERL prerequisite
1131 + Make test "using invalid commit with -C" more strict
1133 Some tests were not skipped under NO_PERL build.
1135 Will merge to 'master'.
1138 * mm/fast-import-feature-doc (2013-08-25) 1 commit
1139 (merged to 'next' on 2013-09-05 at 83802e2)
1140 + Documentation/fast-import: clarify summary for `feature` command
1142 Will merge to 'master'.
1145 * mm/remote-helpers-doc (2013-08-26) 1 commit
1146 (merged to 'next' on 2013-09-05 at c181b35)
1147 + Documentation/remote-helpers: document common use-case for private ref
1149 Will merge to 'master'.
1152 * mn/doc-pack-heu-remove-dead-pastebin (2013-08-23) 1 commit
1153 (merged to 'next' on 2013-09-05 at 5caecec)
1154 + remove dead pastebin link from pack-heuristics document
1156 Will merge to 'master'.
1159 * ta/user-manual (2013-08-27) 11 commits
1160 - "git prune" is safe
1161 - Remove irrelevant reference from "Tying it all together"
1162 - Remove unnecessary historical note from "Object storage format"
1163 - Improve section "Merging multiple trees"
1164 - Improve section "Manipulating branches"
1165 - Simplify "How to make a commit"
1166 - Fix some typos and improve wording
1167 - Use "git merge" instead of "git pull ."
1168 - Use current output for "git repack"
1169 - Use current "detached HEAD" message
1170 - Call it "Git User Manual" and remove reference to very old Git version
1172 Update the user's manual to more recent versions of Git.
1174 Will merge to 'next'.
1177 * tb/precompose-autodetect-fix (2013-08-27) 1 commit
1178 (merged to 'next' on 2013-09-09 at 9bfdac1)
1179 + Set core.precomposeunicode to true on e.g. HFS+
1181 On MacOS X, we detected if the filesystem needs the "pre-composed
1182 unicode strings" workaround, but did not automatically enable it.
1185 Will merge to 'master'.
1188 * tf/gitweb-ss-tweak (2013-08-20) 4 commits
1189 (merged to 'next' on 2013-09-04 at 774bfbe)
1190 + gitweb: make search help link less ugly
1191 + gitweb: omit the repository owner when it is unset
1192 + gitweb: vertically centre contents of page footer
1193 + gitweb: ensure OPML text fits inside its box
1195 Originally merged to 'next' on 2013-08-22
1197 Tweak Gitweb CSS to layout some elements better.
1199 Will merge to 'master' in the third batch.
1202 * es/rebase-i-respect-core-commentchar (2013-08-18) 1 commit
1203 (merged to 'next' on 2013-09-04 at 8c1ce68)
1204 + rebase -i: fix cases ignoring core.commentchar
1206 Originally merged to 'next' on 2013-08-20
1208 "rebase -i" forgot that the comment character can be configurable
1209 while reading its insn sheet.
1211 Will merge to 'master' in the third batch.
1214 * jx/branch-vv-always-compare-with-upstream (2013-08-26) 2 commits
1215 - status: always show tracking branch even no change
1216 - branch: report invalid tracking branch as gone
1218 "git branch -v -v" (and "git status") did not distinguish among a
1219 branch that does not build on any other branch, a branch that is in
1220 sync with the branch it builds on, and a branch that is configured
1221 to build on some other branch that no longer exists.
1223 Will merge to 'next'.
1226 * nd/fetch-into-shallow (2013-08-28) 7 commits
1227 (merged to 'next' on 2013-09-09 at 87a3b99)
1228 + Add testcase for needless objects during a shallow fetch
1229 + list-objects: mark more commits as edges in mark_edges_uninteresting
1230 + list-objects: reduce one argument in mark_edges_uninteresting
1231 + upload-pack: delegate rev walking in shallow fetch to pack-objects
1232 + shallow: add setup_temporary_shallow()
1233 + shallow: only add shallow graft points to new shallow file
1234 + move setup_alternate_shallow and write_shallow_commits to shallow.c
1236 When there is no sufficient overlap between old and new history
1237 during a fetch into a shallow repository, we unnecessarily sent
1238 objects the sending side knows the receiving end has.
1240 Will merge to 'master'.
1243 * jc/ls-files-killed-optim (2013-08-23) 4 commits
1244 (merged to 'next' on 2013-09-04 at 20c2304)
1245 + dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage
1246 + t3010: update to demonstrate "ls-files -k" optimization pitfalls
1247 + ls-files -k: a directory only can be killed if the index has a non-directory
1248 + dir.c: use the cache_* macro to access the current index
1250 Originally merged to 'next' on 2013-08-27
1252 "git ls-files -k" needs to crawl only the part of the working tree
1253 that may overlap the paths in the index to find killed files, but
1254 shared code with the logic to find all the untracked files, which
1255 made it unnecessarily inefficient.
1257 Will merge to 'master' in the third batch.
1260 * es/rebase-i-no-abbrev (2013-08-25) 3 commits
1261 (merged to 'next' on 2013-09-04 at 6027805)
1262 + rebase -i: fix short SHA-1 collision
1263 + t3404: rebase -i: demonstrate short SHA-1 collision
1264 + t3404: make tests more self-contained
1266 Originally merged to 'next' on 2013-08-26
1268 The commit object names in the insn sheet that was prepared at the
1269 beginning of "rebase -i" session can become ambiguous as the
1270 rebasing progresses and the repository gains more commits. Make
1271 sure the internal record is kept with full 40-hex object names.
1273 Will merge to 'master' in the third batch.
1276 * ks/p4-view-spec (2013-09-03) 2 commits
1277 - git p4: implement view spec wildcards with "p4 where"
1278 - git p4 test: sanitize P4CHARSET
1280 Replaced with a reroll that was whitespace damaged.
1282 Waiting for the final Ack.
1285 * nd/push-no-thin (2013-08-13) 1 commit
1286 (merged to 'next' on 2013-09-04 at faa8c02)
1287 + push: respect --no-thin
1289 Originally merged to 'next' on 2013-08-14
1291 "git push --no-thin" was a no-op by mistake.
1293 Will merge to 'master' in the third batch.
1296 * sh/pull-rebase-preserve (2013-09-04) 1 commit
1297 (merged to 'next' on 2013-09-04 at 32a93bb)
1298 + pull: allow pull to preserve merges when rebasing
1300 Originally merged to 'next' on 2013-08-14
1302 "git pull --rebase" always flattened the history; pull.rebase can
1303 now be set to "preserve" to invoke "rebase --preserve-merges".
1305 Will merge to 'master' in the third batch.
1308 * jn/post-receive-utf8 (2013-08-05) 3 commits
1309 (merged to 'next' on 2013-09-04 at 3a3f480)
1310 + hooks/post-receive-email: set declared encoding to utf-8
1311 + hooks/post-receive-email: force log messages in UTF-8
1312 + hooks/post-receive-email: use plumbing instead of git log/show
1314 Originally merged to 'next' on 2013-08-20
1316 Update post-receive-email script to make sure the message contents
1317 and pathnames are encoded consistently in UTF-8.
1319 Will merge to 'master' in the third batch.
1322 * tr/merge-recursive-index-only (2013-07-07) 3 commits
1323 - merge-recursive: -Xindex-only to leave worktree unchanged
1324 - merge-recursive: untangle double meaning of o->call_depth
1325 - merge-recursive: remove dead conditional in update_stages()
1327 Will hold, until we get any user.
1330 * jc/pull-training-wheel (2013-07-19) 1 commit
1331 (merged to 'next' on 2013-08-28 at c39bd15)
1332 + pull: require choice between rebase/merge on non-fast-forward pull
1334 Originally merged to 'next' on 2013-07-22
1336 Make "git pull" (without arguments that say what branch to
1337 integrate from where) refuse with "it does not fast forward; choose
1338 between 'pull --merge' and 'pull --rebase'".
1340 Will revert the merge, wait for the discussion to settle and
1341 produce a replacement to queue again.
1343 http://thread.gmane.org/gmane.comp.version-control.git/233554/focus=234375
1346 * jc/reflog-doc (2013-06-19) 1 commit
1347 - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
1349 Document rules to use GIT_REFLOG_ACTION variable in the scripted
1350 Porcelain. git-rebase--interactive locally violates this, but it
1351 is a leaf user that does not call out to or dot-sources other
1352 scripts, so fixing it is not all that urgent.
1355 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
1356 - git add: -u/-A now affects the entire working tree
1358 Will cook in 'next' until Git 2.0.
1361 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
1362 - core.statinfo: remove as promised in Git 2.0
1364 Will cook in 'next' until Git 2.0.
1367 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
1368 - push: switch default from "matching" to "simple"
1370 Will cook in 'next' until Git 2.0.
1373 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
1374 - git add <pathspec>... defaults to "-A"
1376 Updated endgame for "git add <pathspec>" that defaults to "--all"
1377 aka "--no-ignore-removal".
1379 Will cook in 'next' until Git 2.0.
1382 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
1383 - diff: remove "diff-files -q" in a version of Git in a distant future
1385 Will cook in 'next' until a distant future.