{"thread":{"id":"34894","subject":"What's cooking in git.git (Sep 2013, #02; Mon, 9)","startedAt":"2013-09-09T22:53:09Z","lastAt":"2013-09-22T17:06:45Z","messageCount":11,"participants":["Junio C Hamano","Matthieu Moy","Jens Lehmann","Stefan Beller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"227275","messageId":"xmqqa9jl38ve.fsf@gitster.dls.corp.google.com","threadId":"34894","inReplyTo":null,"subject":"What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-09-09T22:53:09Z","receivedAt":"2013-09-09T22:53:09Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking.  Commits prefixed with\n'-' are only in 'pu' (proposed updates) while commits prefixed with\n'+' are in 'next'.\n\nThe second batch of topics are now in 'master'.\n\nYou can find the changes described here in the integration branches\nof the repositories listed at\n\n    http://git-blame.blogspot.com/p/git-public-repositories.html\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* aj/p4-symlink-lose-nl (2013-08-12) 1 commit\n  (merged to 'next' on 2013-08-28 at 5ce9ceb)\n + git-p4: Fix occasional truncation of symlink contents.\n\n Originally merged to 'next' on 2013-08-14\n\n\n* ap/remote-hg-tilde-is-home-directory (2013-08-09) 1 commit\n  (merged to 'next' on 2013-08-28 at 9bfc430)\n + remote-hg: fix path when cloning with tilde expansion\n\n Originally merged to 'next' on 2013-08-14\n\n\n* bc/unuse-packfile (2013-08-02) 2 commits\n  (merged to 'next' on 2013-08-28 at 9029801)\n + Don't close pack fd when free'ing pack windows\n + sha1_file: introduce close_one_pack() to close packs on fd pressure\n\n Originally merged to 'next' on 2013-08-06\n\n Handle memory pressure and file descriptor pressure separately when\n deciding to release pack windows to honor resource limits.\n\n\n* da/darwin (2013-08-05) 3 commits\n  (merged to 'next' on 2013-08-28 at 6e4c5ae)\n + OS X: Fix redeclaration of die warning\n + Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1\n + imap-send: use Apple's Security framework for base64 encoding\n\n Originally merged to 'next' on 2013-08-05\n\n\n* db/http-savecookies (2013-08-05) 2 commits\n  (merged to 'next' on 2013-08-28 at 22a8464)\n + t5551: Remove header from curl cookie file\n + http: add http.savecookies option to write out HTTP cookies\n\n Originally merged to 'next' on 2013-08-05\n\n\n* es/blame-L-more (2013-08-05) 11 commits\n  (merged to 'next' on 2013-08-28 at b73cdc9)\n + blame: reject empty ranges -L,+0 and -L,-0\n + t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0\n + blame: reject empty ranges -LX,+0 and -LX,-0\n + t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0\n + log: fix -L bounds checking bug\n + t4211: retire soon-to-be unimplementable tests\n + t4211: log: demonstrate -L bounds checking bug\n + blame: fix -L bounds checking bug\n + t8001/t8002: blame: add empty file & partial-line tests\n + t8001/t8002: blame: demonstrate -L bounds checking bug\n + t8001/t8002: blame: decompose overly-large test\n (this branch is used by es/blame-L-twice and es/contacts-blame-L-multi.)\n\n Originally merged to 'next' on 2013-08-06\n\n More fixes to the code to parse the \"-L\" option in \"log\" and \"blame\".\n\n\n* es/blame-L-twice (2013-08-06) 16 commits\n  (merged to 'next' on 2013-08-28 at e83ae2e)\n + line-range: reject -L line numbers less than 1\n + t8001/t8002: blame: add tests of -L line numbers less than 1\n + line-range: teach -L^:RE to search from start of file\n + line-range: teach -L:RE to search from end of previous -L range\n + line-range: teach -L^/RE/ to search from start of file\n + line-range-format.txt: document -L/RE/ relative search\n + log: teach -L/RE/ to search from end of previous -L range\n + blame: teach -L/RE/ to search from end of previous -L range\n + line-range: teach -L/RE/ to search relative to anchor point\n + blame: document multiple -L support\n + t8001/t8002: blame: add tests of multiple -L options\n + blame: accept multiple -L ranges\n + blame: inline one-line function into its lone caller\n + range-set: publish API for re-use by git-blame -L\n + line-range-format.txt: clarify -L:regex usage form\n + git-log.txt: place each -L option variation on its own line\n (this branch is used by es/contacts-blame-L-multi; uses es/blame-L-more.)\n\n Originally merged to 'next' on 2013-08-08\n\n Teaches \"git blame\" to take more than one -L ranges.\n\n\n* es/contacts-blame-L-multi (2013-08-13) 3 commits\n  (merged to 'next' on 2013-08-28 at 24ff8b4)\n + contacts: reduce git-blame invocations\n + contacts: gather all blame sources prior to invoking git-blame\n + contacts: validate hunk length earlier\n (this branch uses es/blame-L-more and es/blame-L-twice.)\n\n Originally merged to 'next' on 2013-08-14\n\n\n* fc/remote-hg-shared-setup (2013-08-11) 2 commits\n  (merged to 'next' on 2013-08-28 at 41ee3fe)\n + remote-hg: add shared repo upgrade\n + remote-hg: ensure shared repo is initialized\n\n Originally merged to 'next' on 2013-08-14\n\n\n* fc/unpack-trees-leakfix (2013-08-13) 1 commit\n  (merged to 'next' on 2013-08-28 at 3ad1f21)\n + unpack-trees: plug a memory leak\n\n Originally merged to 'next' on 2013-08-14\n\n\n* jc/check-x-z (2013-07-11) 4 commits\n  (merged to 'next' on 2013-08-28 at a7670ce)\n + check-attr -z: a single -z should apply to both input and output\n + check-ignore -z: a single -z should apply to both input and output\n + check-attr: the name of the character is NUL, not NULL\n + check-ignore: the name of the character is NUL, not NULL\n\n Originally merged to 'next' on 2013-07-15\n\n \"git check-ignore -z\" applied the NUL termination to both its input\n (with --stdin) and its output, but \"git check-attr -z\" ignored the\n option on the output side.\n\n This is potentially a backward incompatible fix.  Let's see if\n anybody screams before deciding if we want to do anything to help\n existing users (there may be none).\n\n\n* jc/diff-filter-negation (2013-07-19) 6 commits\n  (merged to 'next' on 2013-08-28 at 5cc7720)\n + diff: deprecate -q option to diff-files\n + diff: allow lowercase letter to specify what change class to exclude\n + diff: reject unknown change class given to --diff-filter\n + diff: preparse --diff-filter string argument\n + diff: factor out match_filter()\n + diff: pass the whole diff_options to diffcore_apply_filter()\n (this branch is used by jc/hold-diff-remove-q-synonym-for-no-deletion.)\n\n Originally merged to 'next' on 2013-07-22\n\n Teach \"git diff --diff-filter\" to express \"I do not want to see\n these classes of changes\" more directly by listing only the\n unwanted ones in lowercase (e.g. \"--diff-filter=d\" will show\n everything but deletion) and deprecate \"diff-files -q\" which did\n the same thing as \"--diff-filter=d\".\n\n\n* jc/parseopt-command-modes (2013-07-30) 2 commits\n  (merged to 'next' on 2013-08-28 at 738b399)\n + tag: use OPT_CMDMODE\n + parse-options: add OPT_CMDMODE()\n (this branch is used by sb/parseopt-boolean-removal.)\n\n Many commands use --dashed-option as a operation mode selector\n (e.g. \"git tag --delete\") that the user can use at most one\n (e.g. \"git tag --delete --verify\" is a nonsense) and you cannot\n negate (e.g. \"git tag --no-delete\" is a nonsense).  Make it easier\n for users of parse_options() to enforce these restrictions.\n\n\n* jc/push-cas (2013-08-02) 9 commits\n  (merged to 'next' on 2013-08-28 at 784281f)\n + push: teach --force-with-lease to smart-http transport\n + send-pack: fix parsing of --force-with-lease option\n + t5540/5541: smart-http does not support \"--force-with-lease\"\n + t5533: test \"push --force-with-lease\"\n + push --force-with-lease: tie it all together\n + push --force-with-lease: implement logic to populate old_sha1_expect[]\n + remote.c: add command line option parser for \"--force-with-lease\"\n + builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN\n + cache.h: move remote/connect API out of it\n\n Originally merged to 'next' on 2013-08-05\n\n Allow a safer \"rewind of the remote tip\" push than blind \"--force\",\n by requiring that the overwritten remote ref to be unchanged since\n the new history to replace it was prepared.\n\n The machinery is more or less ready.  The \"--force\" option is again\n the big red button to override any safety, thanks to J6t's sanity\n (the original round allowed --lockref to defeat --force).\n\n The logic to choose the default implemented here is fragile\n (e.g. \"git fetch\" after seeing a failure will update the\n remote-tracking branch and will make the next \"push\" pass,\n defeating the safety pretty easily).  It is suitable only for the\n simplest workflows, and it may hurt users more than it helps them.\n\n\n* jc/transport-do-not-use-connect-twice-in-fetch (2013-08-28) 6 commits\n  (merged to 'next' on 2013-08-29 at f88a6da)\n + builtin/fetch.c: Fix a sparse warning\n  (merged to 'next' on 2013-08-28 at 2ed86df)\n + fetch: work around \"transport-take-over\" hack\n + fetch: refactor code that fetches leftover tags\n + fetch: refactor code that prepares a transport\n + fetch: rename file-scope global \"transport\" to \"gtransport\"\n + t5802: add test for connect helper\n\n Originally merged to 'next' on 2013-08-20\n\n The auto-tag-following code in \"git fetch\" tries to reuse the same\n transport twice when the serving end does not cooperate and does\n not give tags that point to commits that are asked for as part of\n the primary transfer.  Unfortunately, Git-aware transport helper\n interface is not designed to be used more than once, hence this\n does not work over smart-http transfer.\n\n\n* jc/url-match (2013-08-09) 7 commits\n  (merged to 'next' on 2013-08-28 at 2a9fd23)\n + builtin/config.c: compilation fix\n + config: \"git config --get-urlmatch\" parses section.<url>.key\n + builtin/config: refactor collect_config()\n + config: parse http.<url>.<variable> using urlmatch\n + config: add generic callback wrapper to parse section.<url>.key\n + config: add helper to normalize and match URLs\n + http.c: fix parsing of http.sslCertPasswordProtected variable\n\n Originally merged to 'next' on 2013-08-12\n\n Allow section.<urlpattern>.var configuration variables to be\n treated as a \"virtual\" section.var given a URL, and use the\n mechanism to enhance http.* configuration variables.\n\n This is a reroll of Kyle J. McKay's work.\n\n\n* jk/cat-file-batch-optim (2013-08-05) 1 commit\n  (merged to 'next' on 2013-08-28 at 624e60d)\n + cat-file: only split on whitespace when %(rest) is used\n\n Originally merged to 'next' on 2013-08-06\n\n Rework the reverted change to `cat-file --batch-check`.\n\n\n* jk/fast-import-empty-ls (2013-06-23) 4 commits\n  (merged to 'next' on 2013-08-28 at 876a39d)\n + fast-import: allow moving the root tree\n + fast-import: allow ls or filecopy of the root tree\n + fast-import: set valid mode on root tree in \"ls\"\n + t9300: document fast-import empty path issues\n\n Originally merged to 'next' on 2013-07-22\n\n\n* jk/mailmap-incomplete-line (2013-08-28) 1 commit\n  (merged to 'next' on 2013-09-04 at e77e887)\n + mailmap: handle mailmap blobs without trailing newlines\n\n Will merge later to 'maint'.\n\n\n* jl/some-submodule-config-are-not-boolean (2013-08-19) 1 commit\n  (merged to 'next' on 2013-08-28 at 7fabc3e)\n + avoid segfault on submodule.*.path set to an empty \"true\"\n\n Originally merged to 'next' on 2013-08-20\n\n\n* jl/submodule-mv (2013-08-06) 5 commits\n  (merged to 'next' on 2013-08-28 at 4ec6b41)\n + rm: delete .gitmodules entry of submodules removed from the work tree\n + mv: update the path entry in .gitmodules for moved submodules\n + submodule.c: add .gitmodules staging helper functions\n + mv: move submodules using a gitfile\n + mv: move submodules together with their work trees\n (this branch is tangled with nd/magic-pathspec.)\n\n Originally merged to 'next' on 2013-08-08\n\n \"git mv A B\" when moving a submodule A does \"the right thing\",\n inclusing relocating its working tree and adjusting the paths in\n the .gitmodules file.\n\n\n* km/svn-1.8-serf-only (2013-07-18) 3 commits\n  (merged to 'next' on 2013-08-28 at 1119134)\n + Git.pm: revert _temp_cache use of temp_is_locked\n + git-svn: allow git-svn fetching to work using serf\n + Git.pm: add new temp_is_locked function\n\n Originally merged to 'next' on 2013-07-19\n\n Subversion 1.8.0 that was recently released breaks older subversion\n clients coming over http/https in various ways.\n\n\n* mm/no-shell-escape-in-die-message (2013-08-07) 1 commit\n  (merged to 'next' on 2013-08-28 at 86b300f)\n + die_with_status: use \"printf '%s\\n'\", not \"echo\"\n\n Originally merged to 'next' on 2013-08-08\n\n Fixes a minor bug in \"git rebase -i\" (there could be others, as the\n root cause is pretty generic) where the code feeds a random, data\n dependeant string to 'echo' and expects it to come out literally.\n\n\n* ms/fetch-prune-configuration (2013-07-18) 1 commit\n  (merged to 'next' on 2013-08-28 at fa6ffc7)\n + fetch: make --prune configurable\n\n Originally merged to 'next' on 2013-07-21\n\n Allow fetch.prune and remote.*.prune configuration variables to be set,\n and \"git fetch\" to behave as if \"--prune\" is given.\n\n \"git fetch\" that honors remote.*.prune is fine, but I wonder if we\n should somehow make \"git push\" aware of it as well.  Perhaps\n remote.*.prune should not be just a boolean, but a 4-way \"none\",\n \"push\", \"fetch\", \"both\"?\n\n\n* nd/clone-connectivity-shortcut (2013-07-23) 1 commit\n  (merged to 'next' on 2013-08-28 at d227f9f)\n + smart http: use the same connectivity check on cloning\n\n Originally merged to 'next' on 2013-07-30\n\n\n* nd/gc-lock-against-each-other (2013-08-09) 1 commit\n  (merged to 'next' on 2013-08-28 at 46e072b)\n + gc: reject if another gc is running, unless --force is given\n\n Originally merged to 'next' on 2013-08-14\n\n\n* nd/magic-pathspec (2013-09-05) 50 commits\n  (merged to 'next' on 2013-09-05 at b832b8d)\n + add: lift the pathspec magic restriction on \"add -p\"\n + pathspec: catch prepending :(prefix) on pathspec with short magic\n  (merged to 'next' on 2013-08-28 at 305c6e9)\n + rm: do not set a variable twice without intermediate reading.\n + t6131 - skip tests if on case-insensitive file system\n + parse_pathspec: accept :(icase)path syntax\n + pathspec: support :(glob) syntax\n + pathspec: make --literal-pathspecs disable pathspec magic\n + pathspec: support :(literal) syntax for noglob pathspec\n + kill limit_pathspec_to_literal() as it's only used by parse_pathspec()\n + parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN\n + parse_pathspec: make sure the prefix part is wildcard-free\n + rename field \"raw\" to \"_raw\" in struct pathspec\n + tree-diff: remove the use of pathspec's raw[] in follow-rename codepath\n + remove match_pathspec() in favor of match_pathspec_depth()\n + remove init_pathspec() in favor of parse_pathspec()\n + remove diff_tree_{setup,release}_paths\n + convert common_prefix() to use struct pathspec\n + convert add_files_to_cache to take struct pathspec\n + convert {read,fill}_directory to take struct pathspec\n + convert refresh_index to take struct pathspec\n + convert report_path_error to take struct pathspec\n + checkout: convert read_tree_some to take struct pathspec\n + convert unmerge_cache to take struct pathspec\n + convert run_add_interactive to use struct pathspec\n + convert read_cache_preload() to take struct pathspec\n + line-log: convert to use parse_pathspec\n + reset: convert to use parse_pathspec\n + add: convert to use parse_pathspec\n + check-ignore: convert to use parse_pathspec\n + archive: convert to use parse_pathspec\n + ls-files: convert to use parse_pathspec\n + rm: convert to use parse_pathspec\n + checkout: convert to use parse_pathspec\n + rerere: convert to use parse_pathspec\n + status: convert to use parse_pathspec\n + commit: convert to use parse_pathspec\n + clean: convert to use parse_pathspec\n + guard against new pathspec magic in pathspec matching code\n + parse_pathspec: support prefixing original patterns\n + parse_pathspec: support stripping/checking submodule paths\n + parse_pathspec: support stripping submodule trailing slashes\n + parse_pathspec: add special flag for max_depth feature\n + convert some get_pathspec() calls to parse_pathspec()\n + parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags\n + parse_pathspec: save original pathspec for reporting\n + add parse_pathspec() that converts cmdline args to struct pathspec\n + pathspec: add copy_pathspec\n + pathspec: i18n-ize error strings in pathspec parsing code\n + move struct pathspec and related functions to pathspec.[ch]\n + clean: remove unused variable \"seen\"\n (this branch is tangled with jl/submodule-mv.)\n\n Originally merged to 'next' on 2013-07-23\n\n Use \"struct pathspec\" interface in more places, instead of array of\n characters, the latter of which cannot express magic pathspecs\n (e.g. \":(icase)makefile\" that matches both Makefile and makefile).\n\n\n* nd/sq-quote-buf (2013-07-30) 3 commits\n  (merged to 'next' on 2013-08-28 at d0ffd55)\n + quote: remove sq_quote_print()\n + tar-tree: remove dependency on sq_quote_print()\n + for-each-ref, quote: convert *_quote_print -> *_quote_buf\n\n Originally merged to 'next' on 2013-08-01\n\n Code simplification as a preparatory step to something larger.\n\n\n* rr/feed-real-path-to-editor (2013-07-29) 1 commit\n  (merged to 'next' on 2013-08-28 at 7458fa4)\n + editor: use canonicalized absolute path\n\n Originally merged to 'next' on 2013-07-30\n\n\n* sb/diff-delta-remove-needless-comparison (2013-08-18) 1 commit\n  (merged to 'next' on 2013-08-28 at ba09c3f)\n + create_delta_index: simplify condition always evaluating to true\n\n Originally merged to 'next' on 2013-08-20\n\n\n* sb/misc-cleanup (2013-08-09) 3 commits\n  (merged to 'next' on 2013-08-28 at bc2045b)\n + rm: remove unneeded null pointer check\n + diff: fix a possible null pointer dereference\n + diff: remove ternary operator evaluating always to true\n\n Originally merged to 'next' on 2013-08-14\n\n\n* sb/parseopt-boolean-removal (2013-08-07) 9 commits\n  (merged to 'next' on 2013-08-28 at 2f3f21f)\n + revert: use the OPT_CMDMODE for parsing, reducing code\n + checkout-index: fix negations of even numbers of -n\n + config parsing options: allow one flag multiple times\n + hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP\n + branch, commit, name-rev: ease up boolean conditions\n + checkout: remove superfluous local variable\n + log, format-patch: parsing uses OPT__QUIET\n + Replace deprecated OPT_BOOLEAN by OPT_BOOL\n + Remove deprecated OPTION_BOOLEAN for parsing arguments\n (this branch uses jc/parseopt-command-modes.)\n\n Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use\n OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn\n remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary.\n\n\n* sg/bash-prompt-lf-in-cwd-test (2013-08-18) 1 commit\n  (merged to 'next' on 2013-08-28 at eb449b5)\n + bash prompt: test the prompt with newline in repository path\n\n Originally merged to 'next' on 2013-08-20\n\n\n* sp/clip-read-write-to-8mb (2013-08-20) 2 commits\n  (merged to 'next' on 2013-08-28 at c9840d7)\n + Revert \"compat/clipped-write.c: large write(2) fails on Mac OS X/XNU\"\n + xread, xwrite: limit size of IO to 8MB\n\n Originally merged to 'next' on 2013-08-22\n\n Send a large request to read(2)/write(2) as a smaller but still\n reasonably large chunks, which would improve the latency when the\n operation needs to be killed and incidentally works around broken\n 64-bit systems that cannot take a 2GB write or read in one go.\n\n\n* tg/index-struct-sizes (2013-08-20) 1 commit\n  (merged to 'next' on 2013-08-28 at c815042)\n + read-cache: use fixed width integer types\n\n Originally merged to 'next' on 2013-08-22\n\n The code that reads from a region that mmaps an on-disk index\n assumed that \"int\"/\"short\" are always 32/16 bits.\n\n\n* tr/fd-gotcha-fixes (2013-08-06) 1 commit\n  (merged to 'next' on 2013-08-28 at 5305271)\n + t0070: test that git_mkstemps correctly checks return value of open()\n\n Originally merged to 'next' on 2013-08-08\n\n Finishing touches to an earlier fix already in 'master'.\n\n\n* tr/log-full-diff-keep-true-parents (2013-08-05) 2 commits\n  (merged to 'next' on 2013-08-28 at e86ec11)\n + log: use true parents for diff when walking reflogs\n + log: use true parents for diff even when rewriting\n\n Originally merged to 'next' on 2013-08-08\n\n Output from \"git log --full-diff -- <pathspec>\" looked strange,\n because comparison was done with the previous ancestor that touched\n the specified <pathspec>, causing the patches for paths outside the\n pathspec to show more than the single commit has changed.\n\n Tweak \"git reflog -p\" for the same reason using the same mechanism.\n\n--------------------------------------------------\n[New Topics]\n\n* js/add-i-mingw (2013-09-04) 1 commit\n - add--interactive: fix external command invocation on Windows\n\n The implementation of \"add -i\" has a crippling code to work around\n ActiveState Perl limitation but it by mistake also triggered on Git\n for Windows where MSYS perl is used.\n\n Will merge to 'next'.\n\n\n* rh/ishes-doc (2013-09-04) 7 commits\n - glossary: fix and clarify the definition of 'ref'\n - revisions.txt: fix and clarify <rev>^{<type>}\n - glossary: more precise definition of tree-ish (a.k.a. treeish)\n - use 'commit-ish' instead of 'committish'\n - use 'tree-ish' instead of 'treeish'\n - glossary: define commit-ish (a.k.a. committish)\n - glossary: mention 'treeish' as an alternative to 'tree-ish'\n\n We liberally use \"committish\" and \"commit-ish\" (and \"treeish\" and\n \"tree-ish\"); as these are non-words, let's unify these terms to\n their dashed form.  More importantly, clarify the documentation on\n object peeling using these terms.\n\n Will merge to 'next'.\n\n\n* jc/commit-is-spelled-with-two-ems (2013-09-05) 2 commits\n  (merged to 'next' on 2013-09-05 at 982aef2)\n + typofix: cherry is spelled with two ars\n + typofix: commit is spelled with two ems\n\n Will merge to 'master'.\n\n\n* bc/http-backend-allow-405 (2013-09-09) 1 commit\n - http-backend: provide Allow header for 405\n\n When the webserver responds with \"405 Method Not Allowed\", it\n should tell the client what methods are allowed with the \"Allow\"\n header.\n\n Will merge to 'next'.\n\n\n* dw/check-ignore-sans-index (2013-09-05) 2 commits\n - SQUASH??? do not let --no-index squat on short-and-sweet -i for now\n - check-ignore: Add option to ignore index contents\n\n \"git check-ignore\" follows the same rule as \"git add\" and \"git\n status\" in that the ignore/exclude mechanism does not take effect\n on paths that are already tracked.  With \"--no-index\" option, it\n can be used to diagnose which paths that should have been ignored\n have been mistakenly added to the index.\n\n Will squash the tip in and merge to 'next'.\n\n\n* hu/cherry-pick-previous-branch (2013-09-09) 1 commit\n - cherry-pick: allow \"-\" as abbreviation of '@{-1}'\n\n Just like \"git checkout -\" knows to check out and \"git merge -\"\n knows to merge the branch you were previously on, teach \"git\n cherry-pick\" to understand \"-\" as the previous branch.\n\n Will merge to 'next'.\n\n\n* jh/checkout-auto-tracking (2013-09-09) 5 commits\n - branch.c: Relax unnecessary requirement on upstream's remote ref name\n - t3200: Add test demonstrating minor regression in 41c21f2\n - Refer to branch.<name>.remote/merge when documenting --track\n - t3200: Minor fix when preparing for tracking failure\n - t2024: Fix &&-chaining and a couple of typos\n\n Fix a minor regression in v1.8.3.2 and later that made it\n impossible to base your local work on anything but a local branch\n of the upstream repository you are tracking from.\n\n Will merge to 'next'.\n\n\n* jk/remove-remote-helpers-in-python (2013-09-09) 1 commit\n - git_remote_helpers: remove little used Python library\n\n Remove now disused remote-helpers framework for helpers written in\n Python.\n\n Will merge to 'next'.\n\n\n* jk/upload-pack-keepalive (2013-09-09) 2 commits\n - upload-pack: bump keepalive default to 5 seconds\n - upload-pack: send keepalive packets during pack computation\n\n When running \"fetch -q\", a long silence while the sender side\n computes the set of objects to send can be mistaken by proxies as\n dropped connection.\n\n Will merge to 'next'.\n\n\n* mm/rebase-continue-freebsd-WB (2013-09-09) 1 commit\n - rebase: fix run_specific_rebase's use of \"return\" on FreeBSD\n\n Work around a bug in FreeBSD shell that caused a regression to \"git\n rebase\" in v1.8.4.  It would be lovely to hear from FreeBSD folks a\n success report to make sure we didn't miss any other use of a bare\n \"return\" from dot-sourced script.\n\n Will merge to 'next'.\n\n\n* ss/doclinks (2013-09-06) 1 commit\n - Documentation: make AsciiDoc links always point to HTML files\n\n When we converted many documents that were traditionally text-only\n to be formatted to AsciiDoc, we did not update links that point at\n them to refer to the formatted HTML files.\n\n Will merge to 'next'.\n\n\n* uh/git-svn-serf-fix (2013-09-06) 1 commit\n - git-svn: fix termination issues for remote svn connections\n\n \"git-svn\" used with SVN 1.8.0 when talking over https:// connection\n dumped core due to a bug in the serf library that SVN uses.  Work\n it around on our side, even though the SVN side is being fixed.\n\n--------------------------------------------------\n[Stalled]\n\n* rv/send-email-cache-generated-mid (2013-08-21) 2 commits\n - git-send-email: Cache generated message-ids, use them when prompting\n - git-send-email: add optional 'choices' parameter to the ask sub\n\n\n* rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits\n - ### DONTMERGE: needs better explanation on what config they need\n - pack-refs.c: Add missing call to git_config()\n - show-ref.c: Add missing call to git_config()\n\n The changes themselves are probably good, but it is unclear what\n basic setting needs to be read for which exact operation.\n\n Waiting for clarification.\n $gmane/228294\n\n\n* jh/shorten-refname (2013-05-07) 4 commits\n - t1514: refname shortening is done after dereferencing symbolic refs\n - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin\n - t1514: Demonstrate failure to correctly shorten \"refs/remotes/origin/HEAD\"\n - t1514: Add tests of shortening refnames in strict/loose mode\n\n When remotes/origin/HEAD is not a symbolic ref, \"rev-parse\n --abbrev-ref remotes/origin/HEAD\" ought to show \"origin\", not\n \"origin/HEAD\", which is fixed with this series (if it is a symbolic\n ref that points at remotes/origin/something, then it should show\n \"origin/something\" and it already does).\n\n Expecting a reroll, as an early part of a larger series.\n $gmane/225137\n\n\n* mg/more-textconv (2013-05-10) 7 commits\n - grep: honor --textconv for the case rev:path\n - grep: allow to use textconv filters\n - t7008: demonstrate behavior of grep with textconv\n - cat-file: do not die on --textconv without textconv filters\n - show: honor --textconv for blobs\n - diff_opt: track whether flags have been set explicitly\n - t4030: demonstrate behavior of show with textconv\n\n Make \"git grep\" and \"git show\" pay attention to --textconv when\n dealing with blob objects.\n\n I thought this was pretty well designed and executed, but it seems\n there are some doubts on the list; kicked back to 'pu'.\n\n\n* jc/format-patch (2013-04-22) 2 commits\n - format-patch: --inline-single\n - format-patch: rename \"no_inline\" field\n\n A new option to send a single patch to the standard output to be\n appended at the bottom of a message.  I personally have no need for\n this, but it was easy enough to cobble together.  Tests, docs and\n stripping out more MIMEy stuff are left as exercises to interested\n parties.\n\n Not ready for inclusion.\n\n Will discard unless we hear from anybody who is interested in\n tying its loose ends.\n\n\n* jk/gitweb-utf8 (2013-04-08) 4 commits\n - gitweb: Fix broken blob action parameters on blob/commitdiff pages\n - gitweb: Don't append ';js=(0|1)' to external links\n - gitweb: Make feed title valid utf8\n - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch\n\n Various fixes to gitweb.\n\n Drew Northup volunteered to take a look into this.\n $gmane/226216\n\n\n* jc/show-branch (2013-06-07) 5 commits\n - show-branch: use commit slab to represent bitflags of arbitrary width\n - show-branch.c: remove \"all_mask\"\n - show-branch.c: abstract out \"flags\" operation\n - show-branch.c: lift all_mask/all_revs to a global static\n - show-branch.c: update comment style\n\n Waiting for the final step to lift the hard-limit before sending it out.\n\n--------------------------------------------------\n[Cooking]\n\n* fc/contrib-bzr-hg-fixes (2013-09-03) 10 commits\n - contrib/remote-helpers: quote variable references in redirection targets\n - contrib/remote-helpers: style updates for test scripts\n - remote-hg: use notes to keep track of Hg revisions\n - remote-helpers: cleanup more global variables\n - remote-helpers: trivial style fixes\n - remote-hg: improve basic test\n - remote-hg: add missing &&s in the test\n - remote-hg: fix test\n - remote-bzr: make bzr branches configurable per-repo\n - remote-bzr: fix export of utf-8 authors\n\n Will merge to 'next'.\n\n\n* jc/pager-configuration-doc (2013-08-29) 1 commit\n  (merged to 'next' on 2013-09-05 at 3169083)\n + config: rewrite core.pager documentation\n\n It was unclear in the documentation how various configurations and\n environment variables determine which pager is eventually used.\n\n Will merge to 'master'.\n\n\n* np/pack-v4 (2013-09-03) 24 commits\n - Document pack v4 format\n - initial pack index v3 support on the read side\n - pack v4: add progress display\n - pack v4: normalize pack name to properly generate the pack index file name\n - pack index v3\n - pack v4: relax commit parsing a bit\n - pack v4: honor pack.compression config option\n - pack v4: load delta candidate for encoding tree objects\n - pack v4: tree object delta encoding\n - pack v4: object writing\n - pack v4: object data copy\n - pack v4: object headers\n - pack v4: creation code\n - pack v4: dictionary table output\n - pack v4: tree object encoding\n - pack v4: commit object encoding\n - pack v4: basic references encoding\n - pack v4: move to struct pack_idx_entry and get rid of our own struct idx_entry\n - pack v4: split the object list and dictionary creation\n - pack v4: add commit object parsing\n - pack v4: add tree entry mode support to dictionary entries\n - pack v4: scan tree objects\n - export packed_object_info()\n - pack v4: initial pack dictionary structure and code\n\n Will replace with a newer version of the series.\n\n\n* jk/free-tree-buffer (2013-06-06) 1 commit\n  (merged to 'next' on 2013-09-09 at 3576189)\n + clear parsed flag when we free tree buffers\n\n Will merge to 'master'.\n\n\n* jk/has-sha1-file-retry-packed (2013-08-30) 1 commit\n  (merged to 'next' on 2013-09-09 at fc42e9b)\n + has_sha1_file: re-check pack directory before giving up\n\n When an object is not found after checking the packfiles and then\n loose object directory, read_sha1_file() re-checks the packfiles to\n prevent racing with a concurrent repacker; teach the same logic to\n has_sha1_file().\n\n Will merge to 'master'.\n\n\n* ab/gitweb-author-initials (2013-08-30) 1 commit\n  (merged to 'next' on 2013-09-09 at ecb924d)\n + gitweb: Fix the author initials in blame for non-ASCII names\n\n Will merge to 'master'.\n\n\n* bk/refs-multi-update (2013-09-09) 8 commits\n - update-ref: add test cases covering --stdin signature\n - update-ref: support multiple simultaneous updates\n - refs: add update_refs for multiple simultaneous updates\n - refs: add function to repack without multiple refs\n - refs: factor delete_ref loose ref step into a helper\n - refs: factor update_ref steps into helpers\n - refs: report ref type from lock_any_ref_for_update\n - reset: rename update_refs to reset_refs\n\n Give \"update-refs\" a \"--stdin\" option to read multiple update\n requests and perform them in an all-or-none fashion.\n\n Comments?\n\n\n* fc/at-head (2013-09-09) 3 commits\n - SQUASH??? fixup\n - Add new @ shortcut for HEAD\n - sha1-name: pass len argument to interpret_branch_name()\n\n Attempt to resurrect \"Type @ for HEAD\"; the bottom one seems to be\n a genuine code improvement, but identifying cases where \"@\" means\n HEAD were harder than it should have been.  I think the result of\n squashing the tip one in covers all the necessary cases.\n\n Will squash the tip in and merge to 'next'.\n\n\n* fc/fast-export (2013-09-03) 2 commits\n  (merged to 'next' on 2013-09-09 at 8d5d396)\n + fast-export: refactor get_tags_and_duplicates()\n + fast-export: make extra_refs global\n\n Code simpification.\n\n Will merge to 'master'.\n\n\n* fc/rev-parse-test-updates (2013-09-03) 4 commits\n  (merged to 'next' on 2013-09-09 at 92c51ef)\n + rev-parse test: use standard test functions for setup\n + rev-parse test: use test_cmp instead of \"test\" builtin\n + rev-parse test: use test_must_fail, not \"if <command>; then false; fi\"\n + rev-parse test: modernize quoting and whitespace\n\n Modernize tests.\n\n Will merge to 'master'.\n\n\n* fc/t3200-fixes (2013-09-03) 3 commits\n  (merged to 'next' on 2013-09-09 at 3626363)\n + t: branch: fix broken && chains\n + t: branch: fix typo\n + t: branch: trivial style fix\n\n Will merge to 'master'.\n\n\n* fc/trivial (2013-09-08) 5 commits\n  (merged to 'next' on 2013-09-09 at a8ad2e1)\n + pull: use $curr_branch_short more\n + add: trivial style cleanup\n + reset: trivial style cleanup\n + branch: trivial style fix\n + reset: trivial refactoring\n\n Will merge to 'master'.\n\n\n* jc/ref-excludes (2013-09-03) 2 commits\n - document --exclude option\n - revision: introduce --exclude=<glob> to tame wildcards\n\n People often wished a way to tell \"git log --branches\" (and \"git\n log --remotes --not --branches\") to exclude some local branches\n from the expansion of \"--branches\" (similarly for \"--tags\", \"--all\"\n and \"--glob=<pattern>\").  Now they have one.\n\n Will merge to 'next'.\n\n\n* jk/pager-bypass-cat-for-default-pager (2013-09-03) 1 commit\n  (merged to 'next' on 2013-09-09 at c9cfbaa)\n + pager: turn on \"cat\" optimization for DEFAULT_PAGER\n\n If a build-time fallback is set to \"cat\" instead of \"less\", we\n should apply the same \"no subprocess or pipe\" optimization as we\n apply to user-supplied GIT_PAGER=cat.\n\n Will merge to 'master'.\n\n\n* nd/git-dir-pointing-at-gitfile (2013-09-03) 1 commit\n  (merged to 'next' on 2013-09-09 at 5b0a4bf)\n + Make setup_git_env() resolve .git file when $GIT_DIR is not specified\n\n We made sure that we notice the user-supplied GIT_DIR is actually a\n gitfile, but failed to do so when the default \".git\" is a gitfile.\n\n Will merge to 'master'.\n\n\n* nr/git-cd-to-a-directory (2013-09-09) 1 commit\n - git: run in a directory given with -C option\n\n Just like \"make -C <directory>\", make \"git -C <directory> ...\" to\n go there before doing anything else.\n\n Will merge to 'next'.\n\n\n* rh/peeling-tag-to-tag (2013-09-03) 2 commits\n - peel_onion: do not assume length of x_type globals\n - peel_onion(): add support for <rev>^{tag}\n\n Make \"foo^{tag}\" to peel a tag to itself, i.e. no-op., and fail if\n \"foo\" is not a tag.\n\n Will merge to 'next'.\n\n\n* cc/replace-with-the-same-type (2013-09-09) 8 commits\n - Doc: 'replace' merge and non-merge commits\n - t6050-replace: use some long option names\n - replace: allow long option names\n - Documentation/replace: add Creating Replacement Objects section\n - t6050-replace: add test to clean up all the replace refs\n - t6050-replace: test that objects are of the same type\n - Documentation/replace: state that objects must be of the same type\n - replace: forbid replacing an object with one of a different type\n\n Using the replace mechanism to swap an object with another object\n of a different type can introduce inconsistency (e.g. a tree\n expects an object name to refer to a blob, but the blob object can\n be mistakenly or maliciously replaced with an object with a\n different type). Attempt to forbid such.\n\n Will merge to 'next'.\n\n\n* jx/clean-interactive (2013-08-28) 1 commit\n  (merged to 'next' on 2013-09-09 at 477fec6)\n + documentation: clarify notes for clean.requireForce\n\n Finishing touches to update the document to adjust to a new option\n \"git clean\" learned recently.\n\n Will merge to 'master'.\n\n\n* mm/status-without-comment-char (2013-09-06) 6 commits\n - status: add missing blank line after list of \"other\" files\n - tests: don't set status.displayCommentPrefix file-wide\n - status: disable display of '#' comment prefix by default\n - submodule summary: ignore --for-status option\n - wt-status: use argv_array API\n - builtin/stripspace.c: fix broken indentation\n\n Allow \"git status\" to omit the prefix to make its output a comment\n in a commit log editor, which is not necessary for human\n consumption.\n\n We may want to tighten the output to omit unnecessary trailing\n blank lines, but that does not have to be in the scope of this\n series.\n\n Will merge to 'next'.\n\n\n* js/xread-in-full (2013-08-20) 1 commit\n  (merged to 'next' on 2013-09-04 at 5bfb049)\n + stream_to_pack: xread does not guarantee to read all requested bytes\n\n Originally merged to 'next' on 2013-08-20\n\n A call to xread() was used without a loop around to cope with short\n read in the codepath to stream new contents to a pack.\n\n Will merge to 'master' in the third batch.\n\n\n* sb/mailmap-freeing-NULL-is-ok (2013-08-20) 1 commit\n  (merged to 'next' on 2013-09-04 at c831015)\n + mailmap: remove redundant check for freeing memory\n\n Originally merged to 'next' on 2013-08-20\n\n Will merge to 'master' in the third batch.\n\n\n* bc/submodule-status-ignored (2013-09-04) 2 commits\n - submodule: don't print status output with ignore=all\n - submodule: fix confusing variable name\n\n Originally merged to 'next' on 2013-08-22\n\n Will merge to 'next'.\n\n\n* jk/config-int-range-check (2013-09-09) 5 commits\n  (merged to 'next' on 2013-09-09 at 9ab779d)\n + git-config: always treat --int as 64-bit internally\n + config: make numeric parsing errors more clear\n + config: set errno in numeric git_parse_* functions\n + config: properly range-check integer values\n + config: factor out integer parsing from range checks\n\n Originally merged to 'next' on 2013-08-22\n\n \"git config --int section.var 3g\" should somehow diagnose that the\n number does not fit in \"int\" (on 32-bit platforms anyway) but it\n did not.\n\n Will merge to 'master'.\n\n\n* jk/duplicate-objects-in-packs (2013-09-04) 5 commits\n  (merged to 'next' on 2013-09-09 at 72f2c3d)\n + t5308: check that index-pack --strict detects duplicate objects\n + test index-pack on packs with recoverable delta cycles\n + add tests for indexing packs with delta cycles\n + sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP\n + test-sha1: add a binary output mode\n\n A packfile that stores the same object more than once is broken and\n will be rejected.\n\n Will merge to 'master'.\n\n\n* mm/mediawiki-dumb-push-fix (2013-09-03) 4 commits\n  (merged to 'next' on 2013-09-05 at f8313f4)\n + git-remote-mediawiki: no need to update private ref in non-dumb push\n + git-remote-mediawiki: use no-private-update capability on dumb push\n + transport-helper: add no-private-update capability\n + git-remote-mediawiki: add test and check Makefile targets\n\n Will merge to 'master'.\n\n\n* rt/rebase-p-no-merge-summary (2013-08-21) 1 commit\n  (merged to 'next' on 2013-09-04 at d8d89ee)\n + rebase --preserve-merges: ignore \"merge.log\" config\n\n Originally merged to 'next' on 2013-08-22\n\n \"git rebase -p\" internally used the merge machinery, but when\n rebasing, there should not be a need for merge summary.\n\n Will merge to 'master' in the third batch.\n\n\n* dw/diff-no-index-doc (2013-08-28) 2 commits\n - diff --no-index: describe in a separate paragraph\n - diff --no-index: clarify operation when not inside a repository\n\n When the user types \"git diff\" outside a working tree, thinking he\n is inside one, the current error message that is a single-liner\n \"usage: git diff --no-index <path> <path>\" may not be sufficient to\n make him realize the mistake. Add \"Not a git repository\" to the\n error message when we fell into the \"--no-index\" mode without an\n explicit command line option to instruct us to do so.\n\n Will merge to 'next'.\n\n\n* sb/repack-in-c (2013-08-30) 2 commits\n - repack: retain the return value of pack-objects\n - repack: rewrite the shell script in C\n\n Any further reviews?\n\n\n* ap/commit-author-mailmap (2013-08-24) 1 commit\n  (merged to 'next' on 2013-09-09 at 79d5a20)\n + commit: search author pattern against mailmap\n\n \"git commit --author=$name\", when $name is not in the canonical\n \"A. U. Thor <au.thor@example.xz>\" format, looks for a matching name\n from existing history, but did not consult mailmap to grab the\n preferred author name.\n\n Will merge to 'master'.\n\n\n* jk/write-broken-index-with-nul-sha1 (2013-08-28) 1 commit\n  (merged to 'next' on 2013-09-09 at 6953f27)\n + write_index: optionally allow broken null sha1s\n\n Earlier we started rejecting an attempt to add 0{40} object name to\n the index and to tree objects, but it sometimes is necessary to\n allow so to be able to use tools like filter-branch to correct such\n broken tree objects.\n\n Will merge to 'master'.\n\n\n* kk/tests-with-no-perl (2013-08-24) 4 commits\n  (merged to 'next' on 2013-09-09 at 67510b1)\n + reset test: modernize style\n + t/t7106-reset-unborn-branch.sh: Add PERL prerequisite\n + add -i test: use skip_all instead of repeated PERL prerequisite\n + Make test \"using invalid commit with -C\" more strict\n\n Some tests were not skipped under NO_PERL build.\n\n Will merge to 'master'.\n\n\n* mm/fast-import-feature-doc (2013-08-25) 1 commit\n  (merged to 'next' on 2013-09-05 at 83802e2)\n + Documentation/fast-import: clarify summary for `feature` command\n\n Will merge to 'master'.\n\n\n* mm/remote-helpers-doc (2013-08-26) 1 commit\n  (merged to 'next' on 2013-09-05 at c181b35)\n + Documentation/remote-helpers: document common use-case for private ref\n\n Will merge to 'master'.\n\n\n* mn/doc-pack-heu-remove-dead-pastebin (2013-08-23) 1 commit\n  (merged to 'next' on 2013-09-05 at 5caecec)\n + remove dead pastebin link from pack-heuristics document\n\n Will merge to 'master'.\n\n\n* ta/user-manual (2013-08-27) 11 commits\n - \"git prune\" is safe\n - Remove irrelevant reference from \"Tying it all together\"\n - Remove unnecessary historical note from \"Object storage format\"\n - Improve section \"Merging multiple trees\"\n - Improve section \"Manipulating branches\"\n - Simplify \"How to make a commit\"\n - Fix some typos and improve wording\n - Use \"git merge\" instead of \"git pull .\"\n - Use current output for \"git repack\"\n - Use current \"detached HEAD\" message\n - Call it \"Git User Manual\" and remove reference to very old Git version\n\n Update the user's manual to more recent versions of Git.\n\n Will merge to 'next'.\n\n\n* tb/precompose-autodetect-fix (2013-08-27) 1 commit\n  (merged to 'next' on 2013-09-09 at 9bfdac1)\n + Set core.precomposeunicode to true on e.g. HFS+\n\n On MacOS X, we detected if the filesystem needs the \"pre-composed\n unicode strings\" workaround, but did not automatically enable it.\n Now we do.\n\n Will merge to 'master'.\n\n\n* tf/gitweb-ss-tweak (2013-08-20) 4 commits\n  (merged to 'next' on 2013-09-04 at 774bfbe)\n + gitweb: make search help link less ugly\n + gitweb: omit the repository owner when it is unset\n + gitweb: vertically centre contents of page footer\n + gitweb: ensure OPML text fits inside its box\n\n Originally merged to 'next' on 2013-08-22\n\n Tweak Gitweb CSS to layout some elements better.\n\n Will merge to 'master' in the third batch.\n\n\n* es/rebase-i-respect-core-commentchar (2013-08-18) 1 commit\n  (merged to 'next' on 2013-09-04 at 8c1ce68)\n + rebase -i: fix cases ignoring core.commentchar\n\n Originally merged to 'next' on 2013-08-20\n\n \"rebase -i\" forgot that the comment character can be configurable\n while reading its insn sheet.\n\n Will merge to 'master' in the third batch.\n\n\n* jx/branch-vv-always-compare-with-upstream (2013-08-26) 2 commits\n - status: always show tracking branch even no change\n - branch: report invalid tracking branch as gone\n\n \"git branch -v -v\" (and \"git status\") did not distinguish among a\n branch that does not build on any other branch, a branch that is in\n sync with the branch it builds on, and a branch that is configured\n to build on some other branch that no longer exists.\n\n Will merge to 'next'.\n\n\n* nd/fetch-into-shallow (2013-08-28) 7 commits\n  (merged to 'next' on 2013-09-09 at 87a3b99)\n + Add testcase for needless objects during a shallow fetch\n + list-objects: mark more commits as edges in mark_edges_uninteresting\n + list-objects: reduce one argument in mark_edges_uninteresting\n + upload-pack: delegate rev walking in shallow fetch to pack-objects\n + shallow: add setup_temporary_shallow()\n + shallow: only add shallow graft points to new shallow file\n + move setup_alternate_shallow and write_shallow_commits to shallow.c\n\n When there is no sufficient overlap between old and new history\n during a fetch into a shallow repository, we unnecessarily sent\n objects the sending side knows the receiving end has.\n\n Will merge to 'master'.\n\n\n* jc/ls-files-killed-optim (2013-08-23) 4 commits\n  (merged to 'next' on 2013-09-04 at 20c2304)\n + dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage\n + t3010: update to demonstrate \"ls-files -k\" optimization pitfalls\n + ls-files -k: a directory only can be killed if the index has a non-directory\n + dir.c: use the cache_* macro to access the current index\n\n Originally merged to 'next' on 2013-08-27\n\n \"git ls-files -k\" needs to crawl only the part of the working tree\n that may overlap the paths in the index to find killed files, but\n shared code with the logic to find all the untracked files, which\n made it unnecessarily inefficient.\n\n Will merge to 'master' in the third batch.\n\n\n* es/rebase-i-no-abbrev (2013-08-25) 3 commits\n  (merged to 'next' on 2013-09-04 at 6027805)\n + rebase -i: fix short SHA-1 collision\n + t3404: rebase -i: demonstrate short SHA-1 collision\n + t3404: make tests more self-contained\n\n Originally merged to 'next' on 2013-08-26\n\n The commit object names in the insn sheet that was prepared at the\n beginning of \"rebase -i\" session can become ambiguous as the\n rebasing progresses and the repository gains more commits. Make\n sure the internal record is kept with full 40-hex object names.\n\n Will merge to 'master' in the third batch.\n\n\n* ks/p4-view-spec (2013-09-03) 2 commits\n - git p4: implement view spec wildcards with \"p4 where\"\n - git p4 test: sanitize P4CHARSET\n\n Replaced with a reroll that was whitespace damaged.\n\n Waiting for the final Ack.\n\n\n* nd/push-no-thin (2013-08-13) 1 commit\n  (merged to 'next' on 2013-09-04 at faa8c02)\n + push: respect --no-thin\n\n Originally merged to 'next' on 2013-08-14\n\n \"git push --no-thin\" was a no-op by mistake.\n\n Will merge to 'master' in the third batch.\n\n\n* sh/pull-rebase-preserve (2013-09-04) 1 commit\n  (merged to 'next' on 2013-09-04 at 32a93bb)\n + pull: allow pull to preserve merges when rebasing\n\n Originally merged to 'next' on 2013-08-14\n\n \"git pull --rebase\" always flattened the history; pull.rebase can\n now be set to \"preserve\" to invoke \"rebase --preserve-merges\".\n\n Will merge to 'master' in the third batch.\n\n\n* jn/post-receive-utf8 (2013-08-05) 3 commits\n  (merged to 'next' on 2013-09-04 at 3a3f480)\n + hooks/post-receive-email: set declared encoding to utf-8\n + hooks/post-receive-email: force log messages in UTF-8\n + hooks/post-receive-email: use plumbing instead of git log/show\n\n Originally merged to 'next' on 2013-08-20\n\n Update post-receive-email script to make sure the message contents\n and pathnames are encoded consistently in UTF-8.\n\n Will merge to 'master' in the third batch.\n\n\n* tr/merge-recursive-index-only (2013-07-07) 3 commits\n - merge-recursive: -Xindex-only to leave worktree unchanged\n - merge-recursive: untangle double meaning of o->call_depth\n - merge-recursive: remove dead conditional in update_stages()\n\n Will hold, until we get any user.\n\n\n* jc/pull-training-wheel (2013-07-19) 1 commit\n  (merged to 'next' on 2013-08-28 at c39bd15)\n + pull: require choice between rebase/merge on non-fast-forward pull\n\n Originally merged to 'next' on 2013-07-22\n\n Make \"git pull\" (without arguments that say what branch to\n integrate from where) refuse with \"it does not fast forward; choose\n between 'pull --merge' and 'pull --rebase'\".\n\n Will revert the merge, wait for the discussion to settle and\n produce a replacement to queue again. \n\n http://thread.gmane.org/gmane.comp.version-control.git/233554/focus=234375\n\n\n* jc/reflog-doc (2013-06-19) 1 commit\n - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION\n\n Document rules to use GIT_REFLOG_ACTION variable in the scripted\n Porcelain.  git-rebase--interactive locally violates this, but it\n is a leaf user that does not call out to or dot-sources other\n scripts, so fixing it is not all that urgent.\n\n\n* jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit\n - git add: -u/-A now affects the entire working tree\n\n Will cook in 'next' until Git 2.0.\n\n\n* jc/core-checkstat-2.0 (2013-05-06) 1 commit\n - core.statinfo: remove as promised in Git 2.0\n\n Will cook in 'next' until Git 2.0.\n\n\n* jc/push-2.0-default-to-simple (2013-06-18) 1 commit\n - push: switch default from \"matching\" to \"simple\"\n\n Will cook in 'next' until Git 2.0.\n\n\n* jc/add-2.0-ignore-removal (2013-04-22) 1 commit\n - git add <pathspec>... defaults to \"-A\"\n\n Updated endgame for \"git add <pathspec>\" that defaults to \"--all\"\n aka \"--no-ignore-removal\".\n\n Will cook in 'next' until Git 2.0.\n\n\n* jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit\n - diff: remove \"diff-files -q\" in a version of Git in a distant future\n\n Will cook in 'next' until a distant future.\n"},{"id":"227308","messageId":"vpqwqmpjdvk.fsf@anie.imag.fr","threadId":"34894","inReplyTo":"xmqqa9jl38ve.fsf@gitster.dls.corp.google.com","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2013-09-10T08:10:39Z","receivedAt":"2013-09-10T08:10:39Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> * mm/rebase-continue-freebsd-WB (2013-09-09) 1 commit\n>  - rebase: fix run_specific_rebase's use of \"return\" on FreeBSD\n>\n>  Work around a bug in FreeBSD shell that caused a regression to \"git\n>  rebase\" in v1.8.4.  It would be lovely to hear from FreeBSD folks a\n>  success report to make sure we didn't miss any other use of a bare\n>  \"return\" from dot-sourced script.\n>\n>  Will merge to 'next'.\n\nBTW, this is a candidate for maint too I guess.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"227325","messageId":"522F486A.1000705@web.de","threadId":"34894","inReplyTo":"xmqqa9jl38ve.fsf@gitster.dls.corp.google.com","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2013-09-10T16:27:22Z","receivedAt":"2013-09-10T16:27:22Z","isPatch":false,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Am 10.09.2013 00:53, schrieb Junio C Hamano:\n> * bc/submodule-status-ignored (2013-09-04) 2 commits\n>  - submodule: don't print status output with ignore=all\n>  - submodule: fix confusing variable name\n> \n>  Originally merged to 'next' on 2013-08-22\n> \n>  Will merge to 'next'.\n\nI propose to cook this some time in next to give submodule\nusers who have configured ignore=all the opportunity to test\nand comment on that. And as Matthieu noticed the documentation\nis not terribly clear here, I'll prepare one or two patches to\nfix that which should go in together with these changes.\n"},{"id":"227353","messageId":"xmqqob80y1e1.fsf@gitster.dls.corp.google.com","threadId":"34894","inReplyTo":"vpqwqmpjdvk.fsf@anie.imag.fr","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-09-10T18:31:18Z","receivedAt":"2013-09-10T18:31:18Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> * mm/rebase-continue-freebsd-WB (2013-09-09) 1 commit\n>>  - rebase: fix run_specific_rebase's use of \"return\" on FreeBSD\n>>\n>>  Work around a bug in FreeBSD shell that caused a regression to \"git\n>>  rebase\" in v1.8.4.  It would be lovely to hear from FreeBSD folks a\n>>  success report to make sure we didn't miss any other use of a bare\n>>  \"return\" from dot-sourced script.\n>>\n>>  Will merge to 'next'.\n>\n> BTW, this is a candidate for maint too I guess.\n\nYes, thanks for reminding me.  I was planning to change that label\nto \"Will merge to 'master' and later to 'maint'\" when it hits\n'next'.\n"},{"id":"227354","messageId":"xmqqk3ioy1d0.fsf@gitster.dls.corp.google.com","threadId":"34894","inReplyTo":"522F486A.1000705@web.de","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-09-10T18:31:55Z","receivedAt":"2013-09-10T18:31:55Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jens Lehmann <Jens.Lehmann@web.de> writes:\n\n> Am 10.09.2013 00:53, schrieb Junio C Hamano:\n>> * bc/submodule-status-ignored (2013-09-04) 2 commits\n>>  - submodule: don't print status output with ignore=all\n>>  - submodule: fix confusing variable name\n>> \n>>  Originally merged to 'next' on 2013-08-22\n>> \n>>  Will merge to 'next'.\n>\n> I propose to cook this some time in next to give submodule\n> users who have configured ignore=all the opportunity to test\n> and comment on that. And as Matthieu noticed the documentation\n> is not terribly clear here, I'll prepare one or two patches to\n> fix that which should go in together with these changes.\n\nOK.\n\nThanks.\n"},{"id":"227484","messageId":"5230BF63.30006@web.de","threadId":"34894","inReplyTo":"522F486A.1000705@web.de","subject":"[PATCH] Improve documentation concerning the status.submodulesummary setting","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2013-09-11T19:07:15Z","receivedAt":"2013-09-11T19:07:15Z","isPatch":true,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"'git status' and 'git commit' can be told to also show the output of \"git\nsubmodule summary\" by setting the \"status.submodulesummary\" config option.\nBut status and commit also honor the \"diff.ignoreSubmodules\" and the\n\"submodule.<name>.ignore\" settings, which then disable the summary partly\nor completely. This - and the fact that the last two settings do not\naffect the \"git submodule\" commands at all - is not well documented.\n\nExtend the documentation in those places where \"status.submodulesummary\",\n\"diff.ignoreSubmodules\" and \"submodule.<name>.ignore\" are described to\nbetter explain these dependencies.\n\nThanks-to: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>\nSigned-off-by: Jens Lehmann <Jens.Lehmann@web.de>\n---\n\nAm 10.09.2013 18:27, schrieb Jens Lehmann:\n> Am 10.09.2013 00:53, schrieb Junio C Hamano:\n>> * bc/submodule-status-ignored (2013-09-04) 2 commits\n>>  - submodule: don't print status output with ignore=all\n>>  - submodule: fix confusing variable name\n>>\n>>  Originally merged to 'next' on 2013-08-22\n>>\n>>  Will merge to 'next'.\n> \n> I propose to cook this some time in next to give submodule\n> users who have configured ignore=all the opportunity to test\n> and comment on that. And as Matthieu noticed the documentation\n> is not terribly clear here, I'll prepare one or two patches to\n> fix that which should go in together with these changes.\n\nAnd here we go. Matthieu, does that make it more obvious?\n\n\n Documentation/config.txt      | 12 ++++++++++--\n Documentation/diff-config.txt |  6 +++++-\n Documentation/git-status.txt  |  8 +++++++-\n Documentation/gitmodules.txt  |  3 ++-\n 4 files changed, 24 insertions(+), 5 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 44e7873..52f20ab 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -2207,7 +2207,14 @@ status.submodulesummary::\n \tIf this is set to a non zero number or true (identical to -1 or an\n \tunlimited number), the submodule summary will be enabled and a\n \tsummary of commits for modified submodules will be shown (see\n-\t--summary-limit option of linkgit:git-submodule[1]).\n+\t--summary-limit option of linkgit:git-submodule[1]). Please note\n+\tthat the summary output command will be suppressed for all\n+\tsubmodules when `diff.ignoreSubmodules` is set to 'all' or only\n+\tfor those submodules where `submodule.<name>.ignore=all`. To\n+\talso view the summary for ignored submodules you can either use\n+\tthe --ignore-submodules=dirty command line option or the 'git\n+\tsubmodule summary' command, which shows a similar output but does\n+\tnot honor these settings.\n\n submodule.<name>.path::\n submodule.<name>.url::\n@@ -2242,7 +2249,8 @@ submodule.<name>.ignore::\n \tsubmodules that have untracked files in their work tree as changed.\n \tThis setting overrides any setting made in .gitmodules for this submodule,\n \tboth settings can be overridden on the command line by using the\n-\t\"--ignore-submodules\" option.\n+\t\"--ignore-submodules\" option. The 'git submodule' commands are not\n+\taffected by this setting.\n\n tar.umask::\n \tThis variable can be used to restrict the permission bits of\ndiff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\nindex ac77050..223b931 100644\n--- a/Documentation/diff-config.txt\n+++ b/Documentation/diff-config.txt\n@@ -73,7 +73,11 @@ diff.ignoreSubmodules::\n \tSets the default value of --ignore-submodules. Note that this\n \taffects only 'git diff' Porcelain, and not lower level 'diff'\n \tcommands such as 'git diff-files'. 'git checkout' also honors\n-\tthis setting when reporting uncommitted changes.\n+\tthis setting when reporting uncommitted changes. Setting it to\n+\t'all' disables the submodule summary normally shown by 'git commit'\n+\tand 'git status' when 'status.submodulesummary' is set unless it is\n+\toverridden by using the --ignore-submodules command line option.\n+\tThe 'git submodule' commands are not affected by this setting.\n\n diff.mnemonicprefix::\n \tIf set, 'git diff' uses a prefix pair that is different from the\ndiff --git a/Documentation/git-status.txt b/Documentation/git-status.txt\nindex 9046df9..a4acaa0 100644\n--- a/Documentation/git-status.txt\n+++ b/Documentation/git-status.txt\n@@ -210,7 +210,13 @@ directory.\n If `status.submodulesummary` is set to a non zero number or true (identical\n to -1 or an unlimited number), the submodule summary will be enabled for\n the long format and a summary of commits for modified submodules will be\n-shown (see --summary-limit option of linkgit:git-submodule[1]).\n+shown (see --summary-limit option of linkgit:git-submodule[1]). Please note\n+that the summary output from the status command will be suppressed for all\n+submodules when `diff.ignoreSubmodules` is set to 'all' or only for those\n+submodules where `submodule.<name>.ignore=all`. To also view the summary for\n+ignored submodules you can either use the --ignore-submodules=dirty command\n+line option or the 'git submodule summary' command, which shows a similar\n+output but does not honor these settings.\n\n SEE ALSO\n --------\ndiff --git a/Documentation/gitmodules.txt b/Documentation/gitmodules.txt\nindex 6a1ca4a..f7be93f 100644\n--- a/Documentation/gitmodules.txt\n+++ b/Documentation/gitmodules.txt\n@@ -75,7 +75,8 @@ submodule.<name>.ignore::\n \tthe superproject, the setting there will override the one found in\n \t.gitmodules.\n \tBoth settings can be overridden on the command line by using the\n-\t\"--ignore-submodule\" option.\n+\t\"--ignore-submodule\" option. The 'git submodule' commands are not\n+\taffected by this setting.\n\n\n EXAMPLES\n-- \n1.8.4.444.gf9f2042\n"},{"id":"227488","messageId":"vpq38pb5dvh.fsf@anie.imag.fr","threadId":"34894","inReplyTo":"5230BF63.30006@web.de","subject":"Re: [PATCH] Improve documentation concerning the status.submodulesummary setting","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2013-09-11T19:58:58Z","receivedAt":"2013-09-11T19:58:58Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jens Lehmann <Jens.Lehmann@web.de> writes:\n\n> And here we go. Matthieu, does that make it more obvious?\n\nSeems OK.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"227493","messageId":"5230E19D.3050802@googlemail.com","threadId":"34894","inReplyTo":"xmqqa9jl38ve.fsf@gitster.dls.corp.google.com","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Stefan Beller","fromEmail":"stefanbeller@googlemail.com","sentAt":"2013-09-11T21:33:17Z","receivedAt":"2013-09-11T21:33:17Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On 09/10/2013 12:53 AM, Junio C Hamano wrote:\n> * sb/repack-in-c (2013-08-30) 2 commits\n>  - repack: retain the return value of pack-objects\n>  - repack: rewrite the shell script in C\n> \n>  Any further reviews?\n\nJust came home from holiday (with no internet ;)\nbut I'll review my code now that I have quite\na mental distance to that code I wrote earlier.\n\nStefan\n\n"},{"id":"227953","messageId":"xmqqhadfp1nx.fsf@gitster.dls.corp.google.com","threadId":"34894","inReplyTo":"522F486A.1000705@web.de","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-09-20T22:29:38Z","receivedAt":"2013-09-20T22:29:38Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jens Lehmann <Jens.Lehmann@web.de> writes:\n\n> Am 10.09.2013 00:53, schrieb Junio C Hamano:\n>> * bc/submodule-status-ignored (2013-09-04) 2 commits\n>>  - submodule: don't print status output with ignore=all\n>>  - submodule: fix confusing variable name\n>> \n>>  Originally merged to 'next' on 2013-08-22\n>> \n>>  Will merge to 'next'.\n>\n> I propose to cook this some time in next to give submodule\n> users who have configured ignore=all the opportunity to test\n> and comment on that. And as Matthieu noticed the documentation\n> is not terribly clear here, I'll prepare one or two patches to\n> fix that which should go in together with these changes.\n\nThe patches are still in 'next' but I think with the documentation\nupdate you and Matthieu did, it should be ready to be in 'master'\nnow, no?\n"},{"id":"228032","messageId":"523EE9EC.9040207@web.de","threadId":"34894","inReplyTo":"xmqqhadfp1nx.fsf@gitster.dls.corp.google.com","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2013-09-22T13:00:28Z","receivedAt":"2013-09-22T13:00:28Z","isPatch":false,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Am 21.09.2013 00:29, schrieb Junio C Hamano:\n> Jens Lehmann <Jens.Lehmann@web.de> writes:\n> \n>> Am 10.09.2013 00:53, schrieb Junio C Hamano:\n>>> * bc/submodule-status-ignored (2013-09-04) 2 commits\n>>>  - submodule: don't print status output with ignore=all\n>>>  - submodule: fix confusing variable name\n>>>\n>>>  Originally merged to 'next' on 2013-08-22\n>>>\n>>>  Will merge to 'next'.\n>>\n>> I propose to cook this some time in next to give submodule\n>> users who have configured ignore=all the opportunity to test\n>> and comment on that. And as Matthieu noticed the documentation\n>> is not terribly clear here, I'll prepare one or two patches to\n>> fix that which should go in together with these changes.\n> \n> The patches are still in 'next' but I think with the documentation\n> update you and Matthieu did, it should be ready to be in 'master'\n> now, no?\n\nNo objections from my side as nobody reported any problems during\nthe month that series cooked in next.\n"},{"id":"228034","messageId":"vpqhadcg50a.fsf@anie.imag.fr","threadId":"34894","inReplyTo":"523EE9EC.9040207@web.de","subject":"Re: What's cooking in git.git (Sep 2013, #02; Mon, 9)","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2013-09-22T17:06:45Z","receivedAt":"2013-09-22T17:06:45Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jens Lehmann <Jens.Lehmann@web.de> writes:\n\n> Am 21.09.2013 00:29, schrieb Junio C Hamano:\n>> Jens Lehmann <Jens.Lehmann@web.de> writes:\n>> \n>>> Am 10.09.2013 00:53, schrieb Junio C Hamano:\n>>>> * bc/submodule-status-ignored (2013-09-04) 2 commits\n>>>>  - submodule: don't print status output with ignore=all\n>>>>  - submodule: fix confusing variable name\n>>>>\n>>>>  Originally merged to 'next' on 2013-08-22\n>>>>\n>>>>  Will merge to 'next'.\n>>>\n>>> I propose to cook this some time in next to give submodule\n>>> users who have configured ignore=all the opportunity to test\n>>> and comment on that. And as Matthieu noticed the documentation\n>>> is not terribly clear here, I'll prepare one or two patches to\n>>> fix that which should go in together with these changes.\n>> \n>> The patches are still in 'next' but I think with the documentation\n>> update you and Matthieu did, it should be ready to be in 'master'\n>> now, no?\n>\n> No objections from my side as nobody reported any problems during\n> the month that series cooked in next.\n\nNo objection from me either. I'm not a user of the feature, so I can't\nreally tell how good it is.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"}]}