From: Junio C Hamano Date: Wed, 12 Aug 2015 21:57:33 +0000 (-0700) Subject: What's cooking (2015/08 #02) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8409c9175abcd30a201db015b7a0cd12bd14bc2c;p=thirdparty%2Fgit.git What's cooking (2015/08 #02) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 42394f2f71..0211e565a9 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,30 +1,19 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Aug 2015, #01; Mon, 3) -X-master-at: efc8a625e9b03e6f8ceed37ccd4b9167a7447e31 -X-next-at: f5e568e307909722237f3acc29e39e7d8dd1e7b9 +Subject: What's cooking in git.git (Aug 2015, #02; Wed, 12) +X-master-at: 130be8eeb8b9b7c89751c3cab3bc54dc6f2d43e6 +X-next-at: dc45ae627aaa61b73b573b0f51469393f122b5f6 -What's cooking in git.git (Aug 2015, #01; Mon, 3) +What's cooking in git.git (Aug 2015, #02; Wed, 12) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -Accumulated fixes went to a new maintenance release 2.4.8. The -first batch of the post-2.5 development cycle has been merged to -'master', and the tip of 'next' has been rewound. - -I've kicked a few topics out of 'next' back to 'pu' for now. - - - I think pt/am-builtin is more or less ready, but the fix to the - issue that options given to 'git am' when restarting were - rejected must be queued on that topic before we can start - thinking of merging it to 'master' for the next release. - - - I think es/worktree-add and es/worktree-add-cleanup are good - shape overall, but we probably would want to make them into a - single topic. +The second batch of topics have graduated to 'master'. Most +notably, the rewritten "git am" is in. Also "worktree add" is +getting improved. You can find the changes described here in the integration branches of the repositories listed at @@ -34,456 +23,495 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* as/sparse-checkout-removal (2015-07-21) 1 commit - (merged to 'next' on 2015-07-21 at ab94680) - + unpack-trees: don't update files with CE_WT_REMOVE set +* ad/bisect-cleanup (2015-08-03) 6 commits + (merged to 'next' on 2015-08-03 at 13b9314) + + bisect: don't mix option parsing and non-trivial code + + bisect: simplify the addition of new bisect terms + + bisect: replace hardcoded "bad|good" by variables + + Documentation/bisect: revise overall content + + Documentation/bisect: move getting help section to the end + + bisect: correction of typo + (this branch is used by ad/bisect-terms.) + + Originally merged to 'next' on 2015-07-09 + + Code and documentation clean-up to "git bisect". + + +* dt/reflog-tests (2015-07-28) 2 commits + (merged to 'next' on 2015-08-03 at 9d2fa1a) + + tests: remove some direct access to .git/logs + + t/t7509: remove unnecessary manipulation of reflog + + Tests that assume how reflogs are represented on the filesystem too + much have been corrected. + + +* dt/unpack-trees-cache-tree-revalidate (2015-07-28) 1 commit + (merged to 'next' on 2015-08-03 at 5b0d620) + + unpack-trees: populate cache-tree on successful merge + + The code to perform multi-tree merges has been taught to repopulate + the cache-tree upon a successful merge into the index, so that + subsequent "diff-index --cached" (hence "status") and "write-tree" + (hence "commit") will go faster. + + The same logic in "git checkout" may now be removed, but that is a + separate issue. + + +* es/worktree-add (2015-07-20) 5 commits + (merged to 'next' on 2015-08-03 at 9771a44) + + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire" + + Documentation/git-worktree: wordsmith worktree-related manpages + + Documentation/config: fix stale "git prune --worktree" reference + + Documentation/git-worktree: fix incorrect reference to file "locked" + + Documentation/git-worktree: consistently use term "linked working tree" + (this branch is used by dt/notes-multiple and es/worktree-add-cleanup.) + + Originally merged to 'next' on 2015-07-20 + + Remove remaining cruft from "git checkout --to", which + transitioned to "git worktree add". + + +* es/worktree-add-cleanup (2015-08-05) 25 commits + (merged to 'next' on 2015-08-12 at 9168b42) + + Documentation/git-worktree: fix duplicated 'from' + + Documentation/config: mention "now" and "never" for 'expire' settings + + Documentation/git-worktree: fix broken 'linkgit' invocation + + checkout: drop intimate knowledge of newly created worktree + + worktree: populate via "git reset --hard" rather than "git checkout" + + worktree: avoid resolving HEAD unnecessarily + + worktree: make setup of new HEAD distinct from worktree population + + worktree: detect branch-name/detached and error conditions locally + + worktree: add_worktree: construct worktree-population command locally + + worktree: elucidate environment variables intended for child processes + + worktree: make branch creation distinct from worktree population + + worktree: add: suppress auto-vivication with --detach and no + + worktree: make --detach mutually exclusive with -b/-B + + worktree: introduce options container + + worktree: simplify new branch (-b/-B) option checking + + worktree: improve worktree setup message + + branch: publish die_if_checked_out() + + checkout: teach check_linked_checkout() about symbolic link HEAD + + checkout: check_linked_checkout: simplify symref parsing + + checkout: check_linked_checkout: improve "already checked out" aesthetic + + checkout: generalize die_if_checked_out() branch name argument + + checkout: die_if_checked_out: simplify strbuf management + + checkout: improve die_if_checked_out() robustness + + checkout: name check_linked_checkouts() more meaningfully + + checkout: avoid resolving HEAD unnecessarily + (this branch is used by dt/notes-multiple; uses es/worktree-add.) + + Originally merged to 'next' on 2015-07-29 + + The "new-worktree-mode" hack in "checkout" that was added in + nd/multiple-work-trees topic has been removed by updating the + implementation of new "worktree add". + + +* pt/am-builtin (2015-08-04) 46 commits + (merged to 'next' on 2015-08-12 at 10d0c56) + + git-am: add am.threeWay config variable + + builtin-am: remove redirection to git-am.sh + + builtin-am: check for valid committer ident + + builtin-am: implement legacy -b/--binary option + + builtin-am: implement -i/--interactive + + builtin-am: support and auto-detect mercurial patches + + builtin-am: support and auto-detect StGit series files + + builtin-am: support and auto-detect StGit patches + + builtin-am: rerere support + + builtin-am: invoke post-applypatch hook + + builtin-am: invoke pre-applypatch hook + + builtin-am: invoke applypatch-msg hook + + builtin-am: support automatic notes copying + + builtin-am: invoke post-rewrite hook + + builtin-am: implement -S/--gpg-sign, commit.gpgsign + + builtin-am: implement --committer-date-is-author-date + + builtin-am: implement --ignore-date + + builtin-am: pass git-apply's options to git-apply + + builtin-am: implement --[no-]scissors + + builtin-am: support --keep-cr, am.keepcr + + builtin-am: implement --[no-]message-id, am.messageid + + builtin-am: implement -k/--keep, --keep-non-patch + + builtin-am: implement -u/--utf8 + + builtin-am: handle stray state directory + + builtin-am: bypass git-mailinfo when --rebasing + + builtin-am: implement --rebasing mode + + builtin-am: implement --3way + + cache-tree: introduce write_index_as_tree() + + builtin-am: implement -s/--signoff + + builtin-am: exit with user friendly message on failure + + builtin-am: implement -q/--quiet + + builtin-am: reject patches when there's a session in progress + + builtin-am: implement --abort + + builtin-am: implement --skip + + builtin-am: don't parse mail when resuming + + builtin-am: implement --resolved/--continue + + builtin-am: refuse to apply patches if index is dirty + + builtin-am: implement committing applied patch + + builtin-am: apply patch with git-apply + + builtin-am: extract patch and commit info with git-mailinfo + + builtin-am: auto-detect mbox patches + + builtin-am: split out mbox/maildir patches with git-mailsplit + + builtin-am: implement patch queue mechanism + + builtin-am: implement skeletal builtin am + + wrapper: implement xfopen() + + wrapper: implement xopen() + (this branch is used by pt/am-builtin-options.) + + Originally merged to 'next' on 2015-07-23 + + Rewrite "am" in "C". + - "sparse checkout" misbehaved for a path that is excluded from the - checkout when switching between branches that differ at the path. +* sb/parse-options-codeformat (2015-07-29) 1 commit + (merged to 'next' on 2015-08-03 at f81993b) + + parse-options: align curly braces for all options -* bc/gpg-verify-raw (2015-06-22) 7 commits - (merged to 'next' on 2015-06-24 at 08a1164) - + verify-tag: add option to print raw gpg status information - + verify-commit: add option to print raw gpg status information - + gpg: centralize printing signature buffers - + gpg: centralize signature check - + verify-commit: add test for exit status on untrusted signature - + verify-tag: share code with verify-commit - + verify-tag: add tests +* sb/remove-unused-var-from-builtin-add (2015-07-31) 1 commit + (merged to 'next' on 2015-08-03 at f5e568e) + + add: remove dead code + +-------------------------------------------------- +[New Topics] - "git verify-tag" and "git verify-commit" have been taught to share - more code, and then learned to optionally show the verification - message from the underlying GPG implementation. +* bb/remote-get-url (2015-08-05) 1 commit + - remote: add get-url subcommand + "git remote" learned "get-url" subcommand to show the URL for a + given remote name used for fetching and pushing. -* cb/parse-magnitude (2015-06-22) 2 commits - (merged to 'next' on 2015-06-24 at 2fd7205) - + parse-options: move unsigned long option parsing out of pack-objects.c - + test-parse-options: update to handle negative ints + Waiting for a reroll. + ($gmane/275401) - Move machinery to parse human-readable scaled numbers like 1k, 4M, - and 2G as an option parameter's value from pack-objects to - parse-options API, to make it available to other codepaths. +* cb/open-noatime-clear-errno (2015-08-12) 1 commit + - git_open_noatime: return with errno=0 on success -* cb/uname-in-untracked (2015-07-17) 1 commit - (merged to 'next' on 2015-07-21 at d867af0) - + untracked: fix detection of uname(2) failure + When trying to see that an object does not exist, a state errno + leaked from our "first try to open a packfile with O_NOATIME and + then if it fails retry without it" logic on a system that refuses + O_NOATIME. This confused us and caused us to die, saying that the + packfile is unreadable, when we should have just reported that the + object does not exist in that packfile to the caller. - An experimental "untracked cache" feature used uname(2) in a - slightly unportable way. + Will merge to 'next'. -* da/subtree-date-confusion (2015-07-23) 1 commit - (merged to 'next' on 2015-07-29 at 01016b1) - + contrib/subtree: ignore log.date configuration +* jk/guess-repo-name-regression-fix (2015-08-10) 2 commits + (merged to 'next' on 2015-08-12 at 4cba33c) + + clone: use computed length in guess_dir_name + + clone: add tests for output directory + (this branch is used by ps/guess-repo-name-at-root.) - "git subtree" (in contrib/) depended on "git log" output to be - stable, which was a no-no. Apply a workaround to force a - particular date format. + "git clone $URL" in recent releases of Git contains a regression in + the code that invents a new repository name incorrectly based on + the $URL. This has been corrected. + Will merge to 'master'. -* db/send-pack-user-signingkey (2015-07-21) 1 commit - (merged to 'next' on 2015-07-29 at b0d62e9) - + builtin/send-pack.c: respect user.signingkey - The low-level "git send-pack" did not honor 'user.signingkey' - configuration variable when sending a signed-push. +* ps/guess-repo-name-at-root (2015-08-10) 3 commits + (merged to 'next' on 2015-08-12 at 088860f) + + clone: abort if no dir name could be guessed + + clone: do not use port number as dir name + + clone: do not include authentication data in guessed dir + (this branch uses jk/guess-repo-name-regression-fix.) + "git clone $URL", when cloning from a site whose sole purpose is to + host a single repository (hence, no path after :///), + tried to use the site name as the new repository name, but did not + remove username or password when part was of the form + @:. The code is taught to redact these. -* dt/log-follow-config (2015-07-09) 1 commit - (merged to 'next' on 2015-07-10 at b8fbb43) - + log: add "log.follow" configuration variable + Will merge to 'master'. - Add a new configuration variable to enable "--follow" automatically - when "git log" is run with one pathspec argument. +* jk/notes-merge-config (2015-08-05) 4 commits + - SQUASH??? + - notes: add notes.merge option to select default strategy + - notes: add tests for --commit/--abort/--strategy exclusivity + - notes: document cat_sort_uniq rewriteMode -* dt/refs-backend-preamble (2015-07-21) 7 commits - (merged to 'next' on 2015-07-23 at 9dac423) - + git-stash: use update-ref --create-reflog instead of creating files - + update-ref and tag: add --create-reflog arg - + refs: add REF_FORCE_CREATE_REFLOG flag - + git-reflog: add exists command - + refs: new public ref function: safe_create_reflog - + refs: break out check for reflog autocreation - + refs.c: add err arguments to reflog functions - (this branch is used by dt/refs-pseudo.) + "git notes merge" can be told with "--strategy=" option how to + automatically handle conflicts; this can now be configured by + setting notes.merge configuration variable. - In preparation for allowing different "backends" to store the refs - in a way different from the traditional "one ref per file in $GIT_DIR - or in a $GIT_DIR/packed-refs file" filesystem storage, reduce - direct filesystem access to ref-like things like CHERRY_PICK_HEAD - from scripts and programs. + The last step to add more specific notes.$ref.merge looked + questionable. What is queued is v3, v4 exists, but needs an + update. + Waiting for a reroll. + ($gmane/275749) -* ee/clean-remove-dirs (2015-06-26) 6 commits - (merged to 'next' on 2015-06-29 at d595659) - + read_gitfile_gently: fix use-after-free - (merged to 'next' on 2015-06-24 at 7c27821) - + clean: improve performance when removing lots of directories - + p7300: add performance tests for clean - + t7300: add tests to document behavior of clean and nested git - + setup: sanity check file size in read_gitfile_gently - + setup: add gentle version of read_gitfile - Replace "is this subdirectory a separate repository that should not - be touched?" check "git clean" does by checking if it has .git/HEAD - using the submodule-related code with a more optimized check. +* mk/submodule-gitdir-path (2015-08-05) 2 commits + - path: implement common_dir handling in git_path_submodule() + - submodule refactor: use git_path_submodule() in add_submodule_odb() + The submodule code has been taught to work better with separate + work trees created via "git worktree add". -* es/doc-clean-outdated-tools (2015-07-28) 5 commits - (merged to 'next' on 2015-07-29 at 6d80251) - + Documentation/git-tools: retire manually-maintained list - + Documentation/git-tools: drop references to defunct tools - + Documentation/git-tools: fix item text formatting - + Documentation/git-tools: improve discoverability of Git wiki - + Documentation/git: drop outdated Cogito reference + Waiting for a review. + ($gmane/275340). -* gp/status-rebase-i-info (2015-07-06) 4 commits - (merged to 'next' on 2015-07-10 at b121298) - + status: add new tests for status during rebase -i - + status: give more information during rebase -i - + status: differentiate interactive from non-interactive rebases - + status: factor two rebase-related messages together +* mm/pull-upload-pack (2015-07-30) 1 commit + (merged to 'next' on 2015-08-12 at 14d2a52) + + pull.sh: quote $upload_pack when passing it to git-fetch - Teach "git status" to show a more detailed information regarding - the "rebase -i" session in progress. + "git pull" in recent releases of Git has a regression in the code + that allows custom path to the --upload-pack=. This has + been corrected. + Will merge to 'maint'. -* gr/rebase-i-drop-warn (2015-06-30) 3 commits - (merged to 'next' on 2015-07-15 at 6f4f2c8) - + git rebase -i: add static check for commands and SHA-1 - + git rebase -i: warn about removed commits - + git-rebase -i: add command "drop" to remove a commit + Note that this is irrelevant for 'master' with "git pull" rewritten + in C. - Add "drop commit-object-name subject" command as another way to - skip replaying of a commit in "rebase -i". +* ps/t1509-chroot-test-fixup (2015-08-05) 2 commits + (merged to 'next' on 2015-08-12 at 6d10ea5) + + tests: fix cleanup after tests in t1509-root-worktree + + tests: fix broken && chains in t1509-root-worktree -* ib/scripted-parse-opt-better-hint-string (2015-07-15) 1 commit - (merged to 'next' on 2015-07-17 at 7bb1674) - + rev-parse --parseopt: allow [*=?!] in argument hints + t1509 test that requires a dedicated VM environment had some + bitrot, which has been corrected. - The "rev-parse --parseopt" mode parsed the option specification - and the argument hint in a strange way to allow '=' and other - special characters in the option name while forbidding them from - the argument hint. This made it impossible to define an option - like "--pair =" with "pair=key=value" specification, - which instead would have defined a "--pair=key " option. + Will merge to 'master'. -* jc/commit-slab (2015-05-22) 1 commit - (merged to 'next' on 2015-07-15 at 4c83475) - + commit-slab: introduce slabname##_peek() function - - Memory use reduction when commit-slab facility is used to annotate - sparsely (which is not recommended in the first place). - - -* jk/cat-file-batch-all (2015-06-26) 8 commits - (merged to 'next' on 2015-07-10 at 80200cc) - + cat-file: sort and de-dup output of --batch-all-objects - + cat-file: add --batch-all-objects option - + cat-file: split batch_one_object into two stages - + cat-file: stop returning value from batch_one_object - + cat-file: add --buffer option - + cat-file: move batch_options definition to top of file - + cat-file: minor style fix in options list - + Merge branch 'jk/maint-for-each-packed-object' into jk/cat-file-batch-all - - "cat-file" learned "--batch-all-objects" option to enumerate all - available objects in the repository more quickly than "rev-list - --all --objects" (the output includes unreachable objects, though). - - -* jk/date-mode-format (2015-07-20) 4 commits - (merged to 'next' on 2015-07-21 at 69f66be) - + strbuf: make strbuf_addftime more robust - (merged to 'next' on 2015-07-09 at a01bfc3) - + introduce "format" date-mode - + convert "enum date_mode" into a struct - + show-branch: use DATE_RELATIVE instead of magic number - - Teach "git log" and friends a new "--date=format:..." option to - format timestamps using system's strftime(3). - - -* jk/pkt-log-pack (2015-06-16) 3 commits - (merged to 'next' on 2015-07-10 at ba33212) - + pkt-line: support tracing verbatim pack contents - + pkt-line: tighten sideband PACK check when tracing - + pkt-line: simplify starts_with checks in packet tracing +* pt/am-builtin-options (2015-08-12) 3 commits + (merged to 'next' on 2015-08-12 at e57f754) + + am: let --signoff override --no-signoff + + am: let command-line options override saved options + + test_terminal: redirect child process' stdin to a pty - Enhance packet tracing machinery to allow capturing an incoming - pack data to a file for debugging. - - -* jk/refspec-parse-wildcard (2015-07-27) 2 commits - (merged to 'next' on 2015-07-29 at eb48d2f) - + refs: loosen restriction on wildcard "*" refspecs - + refs: cleanup comments regarding check_refname_component() - - Allow an asterisk as a substring (as opposed to the entirety) of - a path component for both side of a refspec, e.g. - "refs/heads/o*:refs/remotes/heads/i*". - - -* js/fsck-opt (2015-06-23) 19 commits - (merged to 'next' on 2015-07-10 at eb4da0a) - + fsck: support ignoring objects in `git fsck` via fsck.skiplist - + fsck: git receive-pack: support excluding objects from fsck'ing - + fsck: introduce `git fsck --connectivity-only` - + fsck: support demoting errors to warnings - + fsck: document the new receive.fsck. options - + fsck: allow upgrading fsck warnings to errors - + fsck: optionally ignore specific fsck issues completely - + fsck: disallow demoting grave fsck errors to warnings - + fsck: add a simple test for receive.fsck. - + fsck: make fsck_tag() warn-friendly - + fsck: handle multiple authors in commits specially - + fsck: make fsck_commit() warn-friendly - + fsck: make fsck_ident() warn-friendly - + fsck: report the ID of the error/warning - + fsck (receive-pack): allow demoting errors to warnings - + fsck: offer a function to demote fsck errors to warnings - + fsck: provide a function to parse fsck message IDs - + fsck: introduce identifiers for fsck messages - + fsck: introduce fsck options - - Allow ignoring fsck errors on specific set of known-to-be-bad - objects, and also tweaking warning level of various kinds of non - critical breakages reported. - - -* jx/do-not-crash-receive-pack-wo-head (2015-07-22) 1 commit - (merged to 'next' on 2015-07-29 at 227d0d9) - + receive-pack: crash when checking with non-exist HEAD - - An attempt to delete a ref by pushing into a repositorywhose HEAD - symbolic reference points at an unborn branch that cannot be - created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD - points at refs/heads/a) failed. - - -* kb/i18n-doc (2015-07-01) 1 commit - (merged to 'next' on 2015-07-09 at a12c7b3) - + Documentation/i18n.txt: clarify character encoding support - - -* kn/for-each-ref (2015-08-03) 11 commits - + ref-filter: make 'ref_array_item' use a FLEX_ARRAY for refname - + for-each-ref: introduce filter_refs() - + ref-filter: move code from 'for-each-ref' - + ref-filter: add 'ref-filter.h' - + for-each-ref: rename variables called sort to sorting - + for-each-ref: rename some functions and make them public - + for-each-ref: introduce 'ref_array_clear()' - + for-each-ref: introduce new structures for better organisation - + for-each-ref: rename 'refinfo' to 'ref_array_item' - + for-each-ref: clean up code - + for-each-ref: extract helper functions out of grab_single_ref() - (this branch is used by kn/for-each-tag-branch). - - GSoC project to rebuild ref listing by branch and tag based on the - for-each-ref machinery. This is its first part. - - -* kn/tag-doc-fix (2015-07-10) 1 commit - (merged to 'next' on 2015-07-15 at 7bd6038) - + Documentation/tag: remove double occurance of "" - - -* mh/fast-import-get-mark (2015-07-01) 1 commit - (merged to 'next' on 2015-07-15 at 5e034b9) - + fast-import: add a get-mark command - - "git fast-import" learned to respond to the get-mark command via - its cat-blob-fd interface. - - -* mh/fast-import-optimize-current-from (2015-07-13) 1 commit - (merged to 'next' on 2015-07-15 at 2be8b1f) - + fast-import: do less work when given "from" matches current branch head - - Often a fast-import stream builds a new commit on top of the - previous commit it built, and it often unconditionally emits a - "from" command to specify the first parent, which can be omitted in - such a case. This caused fast-import to forget the tree of the - previous commit and then re-read it from scratch, which was - inefficient. Optimize for this common case. - - -* mh/init-delete-refs-api (2015-06-22) 19 commits - (merged to 'next' on 2015-07-10 at 121b26e) - + delete_ref(): use the usual convention for old_sha1 - + cmd_update_ref(): make logic more straightforward - + update_ref(): don't read old reference value before delete - + check_branch_commit(): make first parameter const - + refs.h: add some parameter names to function declarations - + refs: move the remaining ref module declarations to refs.h - + initial_ref_transaction_commit(): check for ref D/F conflicts - + initial_ref_transaction_commit(): check for duplicate refs - + refs: remove some functions from the module's public interface - + initial_ref_transaction_commit(): function for initial ref creation - + repack_without_refs(): make function private - + prune_refs(): use delete_refs() - + prune_remote(): use delete_refs() - + delete_refs(): bail early if the packed-refs file cannot be rewritten - + delete_refs(): make error message more generic - + delete_refs(): new function for the refs API - + delete_ref(): handle special case more explicitly - + remove_branches(): remove temporary - + delete_ref(): move declaration to refs.h - - Clean up refs API and make "git clone" less intimate with the - implementation detail. - - -* mh/replace-refs (2015-06-12) 1 commit - (merged to 'next' on 2015-06-24 at cb13adf) - + Allow to control where the replace refs are looked for - - Add an environment variable to tell Git to look into refs hierarchy - other than refs/replace/ for the object replacement data. - - -* mr/rebase-i-customize-insn-sheet (2015-06-15) 1 commit - (merged to 'next' on 2015-07-10 at ec383cd) - + git-rebase--interactive.sh: add config option for custom instruction format - - "git rebase -i"'s list of todo is made configurable. - - -* nd/export-worktree (2015-06-26) 1 commit - (merged to 'next' on 2015-07-09 at 1581a9b) - + setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR - - Running an aliased command from a subdirectory when the .git thing - in the working tree is a gitfile pointing elsewhere did not work. - - -* pt/am-foreign (2015-06-15) 5 commits - (merged to 'next' on 2015-06-24 at 838c702) - + am: teach mercurial patch parser how to read from stdin - + am: use gmtime() to parse mercurial patch date - + t4150: test applying StGit series - + am: teach StGit patch parser how to read from stdin - + t4150: test applying StGit patch - - Various enhancements around "git am" reading patches generated by - foreign SCM. - - -* pt/am-tests (2015-07-20) 12 commits - (merged to 'next' on 2015-07-21 at 8d3d5f4) - + t3901: test git-am encoding conversion - + t3418: non-interactive rebase --continue with rerere enabled - + t4150: tests for am --[no-]scissors - + t4150: am with post-applypatch hook - + t4150: am with pre-applypatch hook - + t4150: am with applypatch-msg hook - + t4150: am --resolved fails if index has unmerged entries - + t4150: am --resolved fails if index has no changes - + t4150: am refuses patches when paused - + t4151: am --abort will keep dirty index intact - + t4150: am fails if index is dirty - + t4150: am.messageid really adds the message id - - -* pt/pull-builtin (2015-06-18) 19 commits - (merged to 'next' on 2015-07-10 at 07b1794) - + pull: remove redirection to git-pull.sh - + pull --rebase: error on no merge candidate cases - + pull --rebase: exit early when the working directory is dirty - + pull: configure --rebase via branch..rebase or pull.rebase - + pull: teach git pull about --rebase - + pull: set reflog message - + pull: implement pulling into an unborn branch - + pull: fast-forward working tree if head is updated - + pull: check if in unresolved merge state - + pull: support pull.ff config - + pull: error on no merge candidates - + pull: pass git-fetch's options to git-fetch - + pull: pass git-merge's options to git-merge - + pull: pass verbosity, --progress flags to fetch and merge - + pull: implement fetch + merge - + pull: implement skeletal builtin pull - + argv-array: implement argv_array_pushv() - + parse-options-cb: implement parse_opt_passthru_argv() - + parse-options-cb: implement parse_opt_passthru() - (this branch is used by kd/pull-rebase-autostash, pt/am-builtin and pt/am-builtin-fix.) - - Reimplement 'git pull' in C. - - -* rl/send-email-aliases (2015-07-07) 10 commits - (merged to 'next' on 2015-07-09 at c60553d) - + send-email: suppress meaningless whitespaces in from field - + send-email: allow multiple emails using --cc, --to and --bcc - + send-email: consider quote as delimiter instead of character - + send-email: reduce dependencies impact on parse_address_line - + send-email: minor code refactoring - + send-email: allow use of aliases in the From field of --compose mode - + send-email: refactor address list process - + t9001-send-email: refactor header variable fields replacement - + send-email: allow aliases in patch header and command script outputs - + t9001-send-email: move script creation in a setup test - - "git send-email" now performs alias-expansion on names that are - given via --cccmd, etc. - - This round comes with a lot more enhanced e-mail address parser, - which makes it a bit scary, but as long as it works as designed, it - makes it wonderful ;-). - - -* se/doc-checkout-ours-theirs (2015-07-12) 1 commit - (merged to 'next' on 2015-07-21 at 5275f04) - + checkout: document subtlety around --ours/--theirs - - A "rebase" replays changes of the local branch on top of something - else, as such they are placed in stage #3 and referred to as - "theirs", while the changes in the new base, typically a foreign - work, are placed in stage #2 and referred to as "ours". Clarify - the "checkout --ours/--theirs". - - -* sg/bash-prompt-untracked-optim (2015-07-20) 2 commits - (merged to 'next' on 2015-07-21 at e151fb7) - + bash prompt: faster untracked status indicator with untracked directories - + bash prompt: test untracked files status indicator with untracked dirs - - Optimize computation of untracked status indicator by bash prompt - script (in contrib/). - - -* zb/userdiff-fountain (2015-07-23) 1 commit - (merged to 'next' on 2015-07-23 at e177995) - + userdiff: add support for Fountain documents - - New userdiff pattern definition for fountain screenwriting markup - format. + After "git am --opt1" stops, running "git am --opt2" pays attention + to "--opt2" only for the patch that caused the original invocation + to stop. --------------------------------------------------- -[New Topics] + Will merge to 'master'. -* sb/check-return-from-read-ref (2015-08-03) 1 commit - - transport-helper: die on errors reading refs. - Will merge to 'next'. +* sb/remove-get-pathspec (2015-08-03) 1 commit + - builtin/mv: remove get_pathspec() + + Expecting a reroll. + ($gmane/275224) + + +* sb/submodule-helper (2015-08-07) 1 commit + - submodule: implement `module_list` as a builtin helper + + The beginning of "git submodule" rewritten in C. + + +* tb/complete-rebase-i-edit-todo (2015-08-05) 1 commit + (merged to 'next' on 2015-08-12 at 9606c21) + + completion: offer '--edit-todo' during interactive rebase + + The command-line completion script (in contrib/) has been updated. + + Will merge to 'master'. + + +* dt/untracked-subdir (2015-08-07) 2 commits + - DONTMERGE: wait for Duy to Ack or comment + - untracked-cache: fix subdirectory handling + (this branch uses dt/untracked-sparse.) + + Waiting for a review. + + +* jk/test-with-x (2015-08-07) 2 commits + (merged to 'next' on 2015-08-12 at 06576a1) + + test-lib: disable trace when test is not verbose + + test-lib: turn off "-x" tracing during chain-lint check + + Running tests with the "-x" option to make them verbose had some + unpleasant interactions with other features of the test suite. + + Will merge to 'master'. + + +* ad/cygwin-wants-rename (2015-08-07) 1 commit + - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES + + Will hold. + ($gmane/275680). + + +* bc/connect-plink (2015-08-11) 1 commit + - t5601-clone: remove broken and pointless check for plink.exe + + Test updates for Windows. + + Seems controversial. + Will hold. + for now ($gmane/275758). + + +* ee/clean-remove-dirs (2015-08-11) 1 commit + (merged to 'next' on 2015-08-12 at fc41b09) + + t7300-clean: require POSIXPERM for chmod 0 test + + Test updates for Windows. + + Will merge to 'master'. + + +* jc/finalize-temp-file (2015-08-10) 1 commit + (merged to 'next' on 2015-08-12 at 6fe62fe) + + sha1_file.c: rename move_temp_to_file() to finalize_object_file() + + Long overdue micro clean-up. + + Will merge to 'master'. + + +* jk/git-path (2015-08-10) 16 commits + (merged to 'next' on 2015-08-12 at 7ebe864) + + memoize common git-path "constant" files + + get_repo_path: refactor path-allocation + + find_hook: keep our own static buffer + + refs.c: remove_empty_directories can take a strbuf + + refs.c: avoid git_path assignment in lock_ref_sha1_basic + + refs.c: avoid repeated git_path calls in rename_tmp_log + + refs.c: simplify strbufs in reflog setup and writing + + path.c: drop git_path_submodule + + refs.c: remove extra git_path calls from read_loose_refs + + remote.c: drop extraneous local variable from migrate_file + + prefer mkpathdup to mkpath in assignments + + prefer git_pathdup to git_path in some possibly-dangerous cases + + add_to_alternates_file: don't add duplicate entries + + t5700: modernize style + + cache.h: complete set of git_path_submodule helpers + + cache.h: clarify documentation for git_path, et al + + git_path() and mkpath() are handy helper functions but it is easy + to misuse, as the callers need to be careful to keep the number of + active results below 4. Their uses have been reduced. + + Will merge to 'master'. + + +* jk/long-error-messages (2015-08-11) 2 commits + (merged to 'next' on 2015-08-12 at 36303cd) + + vreportf: avoid intermediate buffer + + vreportf: report to arbitrary filehandles + + The codepath to produce error messages had a hard-coded limit to + the size of the message, primarily to avoid memory allocation while + calling die(). + + Will merge to 'master'. + + +* nd/dwim-wildcards-as-pathspecs (2015-08-11) 1 commit + (merged to 'next' on 2015-08-12 at bb73f4d) + + t2019: skip test requiring '*' in a file name non Windows + + Test updates for Windows. + + Will merge to 'master'. -------------------------------------------------- [Stalled] +* nd/list-files (2015-02-09) 21 commits + - t3080: tests for git-list-files + - list-files: -M aka diff-cached + - list-files -F: show submodules with the new indicator '&' + - list-files: add -F/--classify + - list-files: show directories as well as files + - list-files: do not show duplicate cached entries + - list-files: sort output and remove duplicates + - list-files: add -t back + - list-files: add -1 short for --no-column + - list-files: add -R/--recursive short for --max-depth=-1 + - list-files: -u does not imply showing stages + - list-files: make alias 'ls' default to 'list-files' + - list-files: a user friendly version of ls-files and more + - ls-files: support --max-depth + - ls-files: add --column + - ls-files: add --color to highlight file names + - ls-files: buffer full item in strbuf before printing + - ls_colors.c: highlight submodules like directories + - ls_colors.c: add a function to color a file name + - ls_colors.c: parse color.ls.* from config file + - ls_colors.c: add $LS_COLORS parsing code + + A new "git list-files" Porcelain command, "ls-files" with bells and + whistles. + + Reroll to base on wt-status work ($gmane/265142) has seen some + positive discussions. + + Waiting for a further polished reroll ($gmane/265534). + + +* mh/numparse (2015-03-19) 14 commits + . diff_opt_parse(): use convert_i() when handling --abbrev= + . diff_opt_parse(): use convert_i() when handling "-l" + . opt_arg(): simplify pointer handling + . opt_arg(): report errors parsing option values + . opt_arg(): use convert_i() in implementation + . opt_arg(): val is always non-NULL + . builtin_diff(): detect errors when parsing --unified argument + . handle_revision_opt(): use convert_ui() when handling "--abbrev=" + . strtoul_ui(), strtol_i(): remove functions + . handle_revision_opt(): use convert_i() when handling "-" + . handle_revision_opt(): use skip_prefix() in many places + . write_subdirectory(): use convert_ui() for parsing mode + . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo" + . numparse: new module for parsing integral numbers + + Many codepaths use unchecked use of strtol() and friends (or even + worse, atoi()). Introduce a set of wrappers that try to be more + careful. + + Expecting a reroll. + ($gmane/268058). + + +* kk/log-merges-config (2015-04-21) 5 commits + - bash-completion: add support for git-log --merges= and log.merges + - t4202-log: add tests for --merges= + - Documentation: add git-log --merges= option and log.merges config. var + - log: honor log.merges= option + - revision: add --merges={show|only|hide} option + + "git log" (but not other commands in the "log" family) learned to + pay attention to the log.merges configuration variable that can be + set to "show" (the normal behaviour), "only" (hide non-merge + commits), or "hide" (hide merge commits). --merges=(show|only|hide) + can be used to override the setting from the command line. + + The documentation may need to be updated once more ($gmane/267250). + Waiting for a reroll. + + +* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits + - t/lib-git-svn: check same httpd module dirs as lib-httpd + - t/lib-httpd: load mod_unixd + + This is the first two commits in a three-patch series $gmane/266962 + + Expecting a reroll. + with updated log message ($gmane/268061). + + * bw/portability-solaris (2015-07-20) 3 commits - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris - tests: modify tr expressions so that xpg4/tr handles it on Solaris - Needs another reroll? ($gmane/274296) + Needs another reroll? + ($gmane/274296) * jc/clone-bundle (2015-04-30) 1 commit @@ -493,17 +521,6 @@ of the repositories listed at Still an early WIP. -* jh/strbuf-read-use-read-in-full (2015-06-01) 1 commit - - strbuf_read(): skip unnecessary strbuf_grow() at eof - - Avoid one extra iteration and strbuf_grow() of 8kB in - strbuf_read(). - - Looked reasonable; perhaps a log message clarification is needed. - - Expecting a reroll. - - * mg/index-read-error-messages (2015-06-01) 2 commits - messages: uniform error messages for index write - show-index: uniform error messages for index read @@ -521,7 +538,8 @@ of the repositories listed at The gitmodules API accessed from the C code learned to cache stuff lazily. - Needs another reroll? ($gmane/273743). + Needs another reroll? + ($gmane/273743) * jk/log-missing-default-HEAD (2015-06-03) 1 commit @@ -565,36 +583,11 @@ of the repositories listed at ($gmane/272180). -* mh/tempfile (2015-06-10) 14 commits - - credential-cache--daemon: use tempfile module - - credential-cache--daemon: delete socket from main() - - gc: use tempfile module to handle gc.pid file - - lock_repo_for_gc(): compute the path to "gc.pid" only once - - diff: use tempfile module - - setup_temporary_shallow(): use tempfile module - - write_shared_index(): use tempfile module - - register_tempfile(): new function to handle an existing temporary file - - tempfile: add several functions for creating temporary files - - register_tempfile_object(): new function, extracted from create_tempfile() - - commit_lock_file(): use get_locked_file_path() - - lockfile: remove some redundant functions - - tempfile: a new module for handling temporary files - - Move lockfile API documentation to lockfile.h - - Rebuild "lockfile" API on top of a new "tempfile" API. - This needs rerolling, to include "tempfile.h" in "lockfile.h", at - least. - - Expecting a reroll. - ($gmane/271353) - - * ad/bisect-terms (2015-08-03) 4 commits - bisect: allow setting any user-specified in 'git bisect start' - bisect: add 'git bisect terms' to view the current terms - bisect: add the terms old/new - bisect: sanity check on terms - (this branch uses ad/bisect-cleanup.) The use of 'good/bad' in "git bisect" made it confusing to use when hunting for a state change that is not a regression (e.g. bugfix). @@ -620,102 +613,7 @@ of the repositories listed at have a place to store the updated notes tree, iow, a ref). Needs update to docs. - - -* sg/config-name-only (2015-05-28) 3 commits - - completion: use new 'git config' options to reliably list variable names - - SQUASH - - config: add options to list only variable names - - "git config --list" output was hard to parse when values consist of - multiple lines. Introduce a way to show only the keys. - - Adding a single --name-only option may be a better way to go than - adding two new options. - - Expecting a reroll. - - -* kk/log-merges-config (2015-04-21) 5 commits - - bash-completion: add support for git-log --merges= and log.merges - - t4202-log: add tests for --merges= - - Documentation: add git-log --merges= option and log.merges config. var - - log: honor log.merges= option - - revision: add --merges={show|only|hide} option - - "git log" (but not other commands in the "log" family) learned to - pay attention to the log.merges configuration variable that can be - set to "show" (the normal behaviour), "only" (hide non-merge - commits), or "hide" (hide merge commits). --merges=(show|only|hide) - can be used to override the setting from the command line. - - The documentation may need to be updated once more ($gmane/267250). - Waiting for a reroll. - - -* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits - - t/lib-git-svn: check same httpd module dirs as lib-httpd - - t/lib-httpd: load mod_unixd - - This is the first two commits in a three-patch series $gmane/266962 - Will be rerolled. - with updated log message ($gmane/268061). - - -* mh/numparse (2015-03-19) 14 commits - . diff_opt_parse(): use convert_i() when handling --abbrev= - . diff_opt_parse(): use convert_i() when handling "-l" - . opt_arg(): simplify pointer handling - . opt_arg(): report errors parsing option values - . opt_arg(): use convert_i() in implementation - . opt_arg(): val is always non-NULL - . builtin_diff(): detect errors when parsing --unified argument - . handle_revision_opt(): use convert_ui() when handling "--abbrev=" - . strtoul_ui(), strtol_i(): remove functions - . handle_revision_opt(): use convert_i() when handling "-" - . handle_revision_opt(): use skip_prefix() in many places - . write_subdirectory(): use convert_ui() for parsing mode - . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo" - . numparse: new module for parsing integral numbers - - Many codepaths use unchecked use of strtol() and friends (or even - worse, atoi()). Introduce a set of wrappers that try to be more - careful. - - Expecting a reroll. - ($gmane/268058). - - -* nd/list-files (2015-02-09) 21 commits - - t3080: tests for git-list-files - - list-files: -M aka diff-cached - - list-files -F: show submodules with the new indicator '&' - - list-files: add -F/--classify - - list-files: show directories as well as files - - list-files: do not show duplicate cached entries - - list-files: sort output and remove duplicates - - list-files: add -t back - - list-files: add -1 short for --no-column - - list-files: add -R/--recursive short for --max-depth=-1 - - list-files: -u does not imply showing stages - - list-files: make alias 'ls' default to 'list-files' - - list-files: a user friendly version of ls-files and more - - ls-files: support --max-depth - - ls-files: add --column - - ls-files: add --color to highlight file names - - ls-files: buffer full item in strbuf before printing - - ls_colors.c: highlight submodules like directories - - ls_colors.c: add a function to color a file name - - ls_colors.c: parse color.ls.* from config file - - ls_colors.c: add $LS_COLORS parsing code - - A new "git list-files" Porcelain command, "ls-files" with bells and - whistles. - - Reroll to base on wt-status work ($gmane/265142) has seen some - positive discussions. - - Waiting for a further polished reroll ($gmane/265534). + ($gmane/273928) * jc/diff-b-m (2015-02-23) 5 commits @@ -734,9 +632,9 @@ of the repositories listed at * pw/remote-set-url-fetch (2014-11-26) 1 commit - - remote: add --fetch and --both options to set-url + . remote: add --fetch and --both options to set-url - Expecting a reroll. + Ejected. * tr/remerge-diff (2014-11-10) 9 commits @@ -781,70 +679,104 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* dt/reflog-tests (2015-07-28) 2 commits - (merged to 'next' on 2015-08-03 at 9d2fa1a) - + tests: remove some direct access to .git/logs - + t/t7509: remove unnecessary manipulation of reflog +* sg/config-name-only (2015-08-10) 2 commits + (merged to 'next' on 2015-08-12 at c658fe4) + + completion: list variable names reliably with 'git config --name-only' + + config: add '--name-only' option to list only variable names - Tests that assume how reflogs are represented on the filesystem too - much have been corrected. + "git config --list" output was hard to parse when values consist of + multiple lines. "--name-only" option is added to help this. Will merge to 'master'. -* dt/unpack-trees-cache-tree-revalidate (2015-07-28) 1 commit - (merged to 'next' on 2015-08-03 at 5b0d620) - + unpack-trees: populate cache-tree on successful merge +* mh/tempfile (2015-08-12) 16 commits + (merged to 'next' on 2015-08-12 at 80efcb7) + + credential-cache--daemon: use tempfile module + + credential-cache--daemon: delete socket from main() + + gc: use tempfile module to handle gc.pid file + + lock_repo_for_gc(): compute the path to "gc.pid" only once + + diff: use tempfile module + + setup_temporary_shallow(): use tempfile module + + write_shared_index(): use tempfile module + + register_tempfile(): new function to handle an existing temporary file + + tempfile: add several functions for creating temporary files + + prepare_tempfile_object(): new function, extracted from create_tempfile() + + tempfile: a new module for handling temporary files + + commit_lock_file(): use get_locked_file_path() + + lockfile: add accessor get_lock_file_path() + + lockfile: add accessors get_lock_file_fd() and get_lock_file_fp() + + create_bundle(): duplicate file descriptor to avoid closing it twice + + lockfile: move documentation to lockfile.h and lockfile.c + + The "lockfile" API has been rebuilt on top of a new "tempfile" API. - The code to perform multi-tree merges has been taught to repopulate - the cache-tree upon a successful merge into the index, so that - subsequent "diff-index --cached" (hence "status") and "write-tree" - (hence "commit") will go faster. + Will merge to 'master'. - The same logic in "git checkout" may now be removed, but that is a - separate issue. + +* jh/strbuf-read-use-read-in-full (2015-08-10) 1 commit + (merged to 'next' on 2015-08-12 at db16247) + + strbuf_read(): skip unnecessary strbuf_grow() at eof + + strbuf_read() used to have one extra iteration (and an unnecessary + strbuf_grow() of 8kB), which was eliminated. + + Will merge to 'master'. + + +* sb/check-return-from-read-ref (2015-08-03) 1 commit + (merged to 'next' on 2015-08-12 at 4a1c801) + + transport-helper: die on errors reading refs. Will merge to 'master'. -* jk/negative-hiderefs (2015-07-28) 2 commits - - refs: support negative transfer.hideRefs - - docs/config.txt: reorder hideRefs config +* jk/negative-hiderefs (2015-08-07) 2 commits + (merged to 'next' on 2015-08-12 at bdc478d) + + refs: support negative transfer.hideRefs + + docs/config.txt: reorder hideRefs config - Allow negative !ref entry in multi-value transfer.hideRefs - configuration to say "don't hide this one". + A negative !ref entry in multi-value transfer.hideRefs + configuration can be used to say "don't hide this one". - An update to test coming? + Will merge to 'master'. * mh/get-remote-group-fix (2015-07-28) 4 commits - - get_remote_group(): use skip_prefix() - - get_remote_group(): eliminate superfluous call to strcspn() - - get_remote_group(): rename local variable "space" to "wordlen" - - get_remote_group(): handle remotes with single-character names + (merged to 'next' on 2015-08-12 at b77820e) + + get_remote_group(): use skip_prefix() + + get_remote_group(): eliminate superfluous call to strcspn() + + get_remote_group(): rename local variable "space" to "wordlen" + + get_remote_group(): handle remotes with single-character names An off-by-one error made "git remote" to mishandle a remote with a single letter nickname. - Will merge to 'next'. + Will merge to 'master'. * ta/docfix-index-format-tech (2015-07-28) 1 commit - - typofix for index-format.txt + (merged to 'next' on 2015-08-12 at 662d88a) + + typofix for index-format.txt - Will merge to 'next'. + Will merge to 'master'. -* dt/notes-multiple (2015-08-03) 2 commits - - notes: handle multiple worktrees - - worktrees: add find_shared_symref - (this branch uses es/worktree-add and es/worktree-add-cleanup.) +* dt/notes-multiple (2015-08-11) 2 commits + (merged to 'next' on 2015-08-12 at 0052055) + + notes: handle multiple worktrees + + worktrees: add find_shared_symref - Forbid simultaneous "notes merge" to happen for the same ref in - refs/notes/* when linked worktree is used. + When linked worktree is used, simultaneous "notes merge" instances + for the same ref in refs/notes/* are prevented from stomping on + each other. + + Will merge to 'master'. -* dt/refs-pseudo (2015-07-31) 5 commits +* dt/refs-pseudo (2015-08-11) 6 commits + (merged to 'next' on 2015-08-12 at 7078eb6) + + pseudoref: check return values from read_ref() (merged to 'next' on 2015-08-03 at 3eafd33) + sequencer: replace write_cherry_pick_head with update_ref + bisect: use update_ref @@ -861,97 +793,22 @@ of the repositories listed at * dt/untracked-sparse (2015-07-31) 1 commit - - untracked-cache: support sparse checkout + (merged to 'next' on 2015-08-12 at 234434d) + + untracked-cache: support sparse checkout + (this branch is used by dt/untracked-subdir.) Allow untracked cache (experimental) to be used when sparse checkout (experimental) is also in use. - -* pt/am-builtin-fix (2015-07-28) 1 commit - - am: let command-line options override saved options - (this branch uses pt/am-builtin.) - - With "git am --options" followed by "git am --other-options", the - options given in a later invocation should override the initial - options for a single invocation, but the rewritten "git am" didn't. - - Will merge into pt/am-builtin topic. - - Expecting a reroll. - - -* sb/parse-options-codeformat (2015-07-29) 1 commit - (merged to 'next' on 2015-08-03 at f81993b) - + parse-options: align curly braces for all options - - Will merge to 'master'. - - -* sb/remove-unused-var-from-builtin-add (2015-07-31) 1 commit - (merged to 'next' on 2015-08-03 at f5e568e) - + add: remove dead code - Will merge to 'master'. * kd/pull-rebase-autostash (2015-07-22) 1 commit - - pull: allow dirty tree when rebase.autostash enabled - - Teach "git pull --rebase" to pay attention to rebase.autostash - configuration. - - Will merge to 'next'. + (merged to 'next' on 2015-08-12 at de88e8e) + + pull: allow dirty tree when rebase.autostash enabled - -* es/worktree-add (2015-07-20) 5 commits - (merged to 'next' on 2015-08-03 at 9771a44) - + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire" - + Documentation/git-worktree: wordsmith worktree-related manpages - + Documentation/config: fix stale "git prune --worktree" reference - + Documentation/git-worktree: fix incorrect reference to file "locked" - + Documentation/git-worktree: consistently use term "linked working tree" - (this branch is used by dt/notes-multiple and es/worktree-add-cleanup.) - - Originally merged to 'next' on 2015-07-20 - - Remove remaining cruft from "git checkout --to", which - transitioned to "git worktree add". - - Will merge to 'master'. - - -* es/worktree-add-cleanup (2015-07-28) 24 commits - - Documentation/config: mention "now" and "never" for 'expire' settings - - Documentation/git-worktree: fix broken 'linkgit' invocation - - checkout: drop intimate knowledge of newly created worktree - - worktree: populate via "git reset --hard" rather than "git checkout" - - worktree: avoid resolving HEAD unnecessarily - - worktree: make setup of new HEAD distinct from worktree population - - worktree: detect branch-name/detached and error conditions locally - - worktree: add_worktree: construct worktree-population command locally - - worktree: elucidate environment variables intended for child processes - - worktree: make branch creation distinct from worktree population - - worktree: add: suppress auto-vivication with --detach and no - - worktree: make --detach mutually exclusive with -b/-B - - worktree: introduce options container - - worktree: simplify new branch (-b/-B) option checking - - worktree: improve worktree setup message - - branch: publish die_if_checked_out() - - checkout: teach check_linked_checkout() about symbolic link HEAD - - checkout: check_linked_checkout: simplify symref parsing - - checkout: check_linked_checkout: improve "already checked out" aesthetic - - checkout: generalize die_if_checked_out() branch name argument - - checkout: die_if_checked_out: simplify strbuf management - - checkout: improve die_if_checked_out() robustness - - checkout: name check_linked_checkouts() more meaningfully - - checkout: avoid resolving HEAD unnecessarily - (this branch is used by dt/notes-multiple; uses es/worktree-add.) - - Originally merged to 'next' on 2015-07-29 - - Remove the "new-worktree-mode" hack in "checkout" that was added in - nd/multiple-work-trees topic by updating the implementation of new - "worktree add". + "git pull --rebase" has been taught to pay attention to + rebase.autostash configuration. Will merge to 'master'. @@ -978,79 +835,6 @@ of the repositories listed at series or two. -* pt/am-builtin (2015-07-20) 46 commits - - builtin-am: remove redirection to git-am.sh - - builtin-am: check for valid committer ident - - builtin-am: implement legacy -b/--binary option - - builtin-am: implement -i/--interactive - - builtin-am: support and auto-detect mercurial patches - - builtin-am: support and auto-detect StGit series files - - builtin-am: support and auto-detect StGit patches - - builtin-am: rerere support - - builtin-am: invoke post-applypatch hook - - builtin-am: invoke pre-applypatch hook - - builtin-am: invoke applypatch-msg hook - - builtin-am: support automatic notes copying - - builtin-am: invoke post-rewrite hook - - builtin-am: implement -S/--gpg-sign, commit.gpgsign - - builtin-am: implement --committer-date-is-author-date - - builtin-am: implement --ignore-date - - builtin-am: pass git-apply's options to git-apply - - builtin-am: implement --[no-]scissors - - builtin-am: support --keep-cr, am.keepcr - - builtin-am: implement --[no-]message-id, am.messageid - - builtin-am: implement -k/--keep, --keep-non-patch - - builtin-am: implement -u/--utf8 - - builtin-am: handle stray state directory - - builtin-am: bypass git-mailinfo when --rebasing - - builtin-am: implement --rebasing mode - - builtin-am: implement --3way, am.threeWay - - cache-tree: introduce write_index_as_tree() - - builtin-am: implement -s/--signoff - - builtin-am: exit with user friendly message on failure - - builtin-am: implement -q/--quiet - - builtin-am: reject patches when there's a session in progress - - builtin-am: implement --abort - - builtin-am: implement --skip - - builtin-am: don't parse mail when resuming - - builtin-am: implement --resolved/--continue - - builtin-am: refuse to apply patches if index is dirty - - builtin-am: implement committing applied patch - - builtin-am: apply patch with git-apply - - builtin-am: extract patch and commit info with git-mailinfo - - builtin-am: auto-detect mbox patches - - builtin-am: split out mbox/maildir patches with git-mailsplit - - builtin-am: implement patch queue mechanism - - builtin-am: implement skeletal builtin am - - wrapper: implement xfopen() - - wrapper: implement xopen() - - Merge branch 'pt/pull-builtin' into pt/am-builtin - (this branch is used by pt/am-builtin-fix.) - - Originally merged to 'next' on 2015-07-23 - - Rewrite "am" in "C". - - Almost there. - - -* ad/bisect-cleanup (2015-08-03) 6 commits - (merged to 'next' on 2015-08-03 at 13b9314) - + bisect: don't mix option parsing and non-trivial code - + bisect: simplify the addition of new bisect terms - + bisect: replace hardcoded "bad|good" by variables - + Documentation/bisect: revise overall content - + Documentation/bisect: move getting help section to the end - + bisect: correction of typo - (this branch is used by ad/bisect-terms) - - Originally merged to 'next' on 2015-07-09 - - Code and documentation clean-up to "git bisect". - - Will merge to 'master'. - - * jc/rerere (2015-07-30) 21 commits - rerere: un-nest merge() further - rerere: use "struct rerere_id" instead of "char *" for conflict ID @@ -1148,33 +932,3 @@ of the repositories listed at Does not quite fix ($gmane/267614). Will discard. - - -* mm/for-each-ref-fixup (2015-08-03) 11 commits - (merged to 'next' on 2015-08-03 at d9e94b9) - + for-each-ref: add '--contains' option - + ref-filter: implement '--contains' option - + parse-options.h: add macros for '--contains' option - + parse-option: rename parse_opt_with_commit() - + for-each-ref: add '--merged' and '--no-merged' options - + ref-filter: implement '--merged' and '--no-merged' options - + ref-filter: add parse_opt_merge_filter() - + for-each-ref: add '--points-at' option - + ref-filter: implement '--points-at' option - + tag: libify parse_opt_points_at() - + t6302: for-each-ref tests for ref-filter APIs - - Drop; has been squashed. - - - -* rj/bisect-terms-fixup (2015-08-03) 4 commits - - bisect: allow setting any user-specified in 'git bisect start' - - bisect: add 'git bisect terms' to view the current terms - - bisect: add the terms old/new - - bisect: sanity check on terms - (this branch uses ad/bisect-cleanup.) - - Will squash into ad/bisect-cleanup. - -