From: Junio C Hamano Date: Mon, 28 Dec 2009 09:57:59 GMT Subject: What's cooking in git.git (Dec 2009, #05; Mon, 28) Message-ID: <7v8wcnto7s.fsf@alter.siamese.dyndns.org> Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -------------------------------------------------- [Graduated to "master"] * sr/vcs-helper (2009-12-07) 14 commits (merged to 'next' on 2009-12-07 at 8f041bc) + tests: handle NO_PYTHON setting (merged to 'next' on 2009-12-03 at e45b562) + builtin-push: don't access freed transport->url (merged to 'next' on 2009-11-27 at 83268ab) + Add Python support library for remote helpers + Basic build infrastructure for Python scripts + Allow helpers to report in "list" command that the ref is unchanged + Fix various memory leaks in transport-helper.c + Allow helper to map private ref names into normal names + Add support for "import" helper command + Allow specifying the remote helper in the url + Add a config option for remotes to specify a foreign vcs + Allow fetch to modify refs + Use a function to determine whether a remote is valid + Allow programs to not depend on remotes having urls + Fix memory leak in helper method for disconnect * jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit (merged to 'next' on 2009-10-11 at 043acdf) + send-email: make --no-chain-reply-to the default * jc/1.7.0-push-safety (2009-02-09) 2 commits (merged to 'next' on 2009-10-11 at 81b8128) + Refuse deleting the current branch via push + Refuse updating the current branch in a non-bare repository via push * jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits (merged to 'next' on 2009-10-11 at 546c74d) + diff.c: fix typoes in comments + Make test case number unique + diff: Rename QUIET internal option to QUICK + diff: change semantics of "ignore whitespace" options (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.) This changes exit code from "git diff --ignore-whitespace" and friends when there is no actual output. * gb/1.7.0-diff-whitespace-only-output (2009-11-19) 1 commit (merged to 'next' on 2009-11-21 at 3375bf4) + No diff -b/-w output for all-whitespace changes (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.) Likewise but for the output of "diff --git" headers. * jk/1.7.0-status (2009-12-11) 16 commits (merged to 'next' on 2009-12-24 at e9929b3) + status/commit: do not suggest "reset HEAD " while merging + commit/status: "git add " is not necessarily how to resolve + commit/status: check $GIT_DIR/MERGE_HEAD only once (merged to 'next' on 2009-12-08 at 9b57d84) + t7508-status: test all modes with color + t7508-status: status --porcelain ignores relative paths setting (merged to 'next' on 2009-12-07 at 7723acf) + status: reduce duplicated setup code + status: disable color for porcelain format (merged to 'next' on 2009-12-05 at 44dcefd) + status -s: obey color.status + builtin-commit: refactor short-status code into wt-status.c (merged to 'next' on 2009-11-27 at 91691ec) + t7508-status.sh: Add tests for status -s + status -s: respect the status.relativePaths option (merged to 'next' on 2009-11-21 at 884bb56) + docs: note that status configuration affects only long format (merged to 'next' on 2009-10-11 at 65c8513) + commit: support alternate status formats + status: add --porcelain output format + status: refactor format option parsing + status: refactor short-mode printing to its own function (this branch uses jc/1.7.0-status.) Gives the --short output format to post 1.7.0 "git commit --dry-run" that is similar to that of post 1.7.0 "git status". * jc/1.7.0-status (2009-09-05) 4 commits (merged to 'next' on 2009-10-11 at 9558627) + status: typo fix in usage + git status: not "commit --dry-run" anymore + git stat -s: short status output + git stat: the beginning of "status that is not a dry-run of commit" (this branch is used by jk/1.7.0-status.) With this, "git status" is no longer "git commit --dry-run". -------------------------------------------------- [New Topics] * jc/cache-unmerge (2009-12-25) 9 commits - rerere forget path: forget recorded resolution - rerere: refactor rerere logic to make it independent from I/O - rerere: remove silly 1024-byte line limit - resolve-undo: teach "update-index --unresolve" to use resolve-undo info - resolve-undo: "checkout -m path" uses resolve-undo information - resolve-undo: allow plumbing to clear the information - resolve-undo: basic tests - resolve-undo: record resolved conflicts in a new index extension section - builtin-merge.c: use standard active_cache macros * js/filter-branch-prime (2009-12-15) 1 commit - filter-branch: remove an unnecessary use of 'git read-tree' * mg/tag-d-show (2009-12-10) 1 commit - tag -d: print sha1 of deleted tag * sb/maint-octopus (2009-12-11) 3 commits - octopus: remove dead code - octopus: reenable fast-forward merges - octopus: make merge process simpler to follow * il/exec-error-report (2009-12-24) 2 commits - Improve transport helper exec failure reporting - Report exec errors from run-command -------------------------------------------------- [Cooking] * jh/commit-status (2009-12-07) 1 commit - [test?] Add commit.status, --status, and --no-status * jc/checkout-merge-base (2009-11-20) 2 commits (merged to 'next' on 2009-12-24 at ff4d1d4) + "rebase --onto A...B" replays history on the merge base between A and B + "checkout A...B" switches to the merge base between A and B * tr/http-push-ref-status (2009-12-24) 6 commits - transport-helper.c::push_refs(): emit "no refs" error message - transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed - transport.c::transport_push(): make ref status affect return value - refactor ref status logic for pushing - t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs - t5541-http-push.sh: add tests for non-fast-forward pushes * bg/maint-add-all-doc (2009-12-07) 4 commits - squash! rm documentation--also mention add-u where we mention commit-a - git-rm doc: Describe how to sync index & work tree - git-add/rm doc: Consistently back-quote - Documentation: 'git add -A' can remove files I didn't like the existing documentation for "add -u" myself (especially because I wrote the initial version) and this neatly fix it as well. * il/vcs-helper (2009-12-09) 8 commits - Remove special casing of http, https and ftp - Support remote archive from all smart transports - Support remote helpers implementing smart transports - Support taking over transports - Refactor git transport options parsing - Pass unknown protocols to external protocol handlers - Support mandatory capabilities - Add remote helper debug mode * mm/diag-path-in-treeish (2009-12-07) 1 commit - Detailed diagnosis when parsing an object name fails. * mh/rebase-fixup (2009-12-07) 2 commits - Add a command "fixup" to rebase --interactive - t3404: Use test_commit to set up test repository (this branch is used by ns/rebase-auto-squash.) Initial round of "fixup" action that is similar to "squash" action in "rebase -i" that excludes the commit log message from follow-up commits when composing the log message for the updated one. Expected is a further improvement to skip opening the editor if a pick is followed only by "fixup" and no "squash". * ns/rebase-auto-squash (2009-12-08) 2 commits - fixup! rebase -i --autosquash - rebase -i --autosquash: auto-squash commits (this branch uses mh/rebase-fixup.) * jh/notes (2009-12-07) 11 commits - Refactor notes concatenation into a flexible interface for combining notes - Notes API: Allow multiple concurrent notes trees with new struct notes_tree - Notes API: for_each_note(): Traverse the entire notes tree with a callback - Notes API: get_note(): Return the note annotating the given object - Notes API: add_note(): Add note objects to the internal notes tree structure - Notes API: init_notes(): Initialize the notes tree from the given notes ref - Notes API: get_commit_notes() -> format_note() + remove the commit restriction - Minor style fixes to notes.c - Add more testcases to test fast-import of notes - Rename t9301 to t9350, to make room for more fast-import tests - fast-import: Proper notes tree manipulation * fc/opt-quiet-gc-reset (2009-12-02) 1 commit - General --quiet improvements * mv/commit-date (2009-12-03) 2 commits - Document date formats accepted by parse_date() - builtin-commit: add --date option * sr/gfi-options (2009-12-04) 7 commits - fast-import: add (non-)relative-marks feature - fast-import: allow for multiple --import-marks= arguments - fast-import: test the new option command - fast-import: add option command - fast-import: add feature command - fast-import: put marks reading in its own function - fast-import: put option parsing code in separate functions * ap/merge-backend-opts (2008-07-18) 6 commits - Document that merge strategies can now take their own options - Extend merge-subtree tests to test -Xsubtree=dir. - Make "subtree" part more orthogonal to the rest of merge-recursive. - Teach git-pull to pass -X