From: Junio C Hamano Date: Sun, 06 Dec 2009 08:17:54 GMT Subject: What's cooking in git.git (Dec 2009, #02; Sat, 05) Message-ID: <7vpr6siki5.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. In 1.7.0, we plan to correct handful of warts in the interfaces everybody agrees that they were mistakes. The resulting system may not be strictly backward compatible. Currently planned changes are: * refuse push to update the checked out branch in a non-bare repo by default Make "git push" into a repository to update the branch that is checked out fail by default. You can countermand this default by setting a configuration variable in the receiving repository. http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007 * refuse push to delete the current branch by default Make "git push $there :$killed" to delete the branch that is pointed at by its HEAD fail by default. You can countermand this default by setting a configuration variable in the receiving repository. http://thread.gmane.org/gmane.comp.version-control.git/108862/focus=108936 * "git send-email" won't make deep threads by default Many people said that by default when sending more than 2 patches the threading git-send-email makes by default is hard to read, and they prefer the default be one cover letter and each patch as a direct follow-up to the cover letter. You can countermand this by setting a configuration variable. http://article.gmane.org/gmane.comp.version-control.git/109790 * "git status" won't be "git-commit --dry-run" anymore http://thread.gmane.org/gmane.comp.version-control.git/125989/focus=125993 * "git diff -w --exit-code" will exit success if only differences it found are whitespace changes that are stripped away from the output. http://thread.gmane.org/gmane.comp.version-control.git/119731/focus=119751 * "git diff -w/-b" won't even produce "diff --git" header when all changes are about whitespaces. http://thread.gmane.org/gmane.comp.version-control.git/133256 -------------------------------------------------- [New Topics] Note: Ilari's vcs-helper series hasn't been queued yet, as its first round generated a healthy amount of discussion and he made it clear that the second round is being prepared, addressing the comments given on the list. Hopefully trivial coding style issues in the first round will also be fixed (e.g. keyword "if" lacked a SP after it before opening parenthesis of the condition) in the second round. * jn/maint-pull-rebase-error-message (2009-11-27) 1 commit. (merged to 'next' on 2009-12-03 at 2ced03c) + pull: clarify advice for the unconfigured error case Replaces old 'jn/rfc-pull-rebase-error-message' topic. * 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 * mh/rebase-fixup (2009-12-05) 4 commits - [squash to Add a command "fix"] Avoid "\(alternatives\|choices\)" in sed script - Add a command "fix" to rebase --interactive. - t3404: set a couple more tags in the original repository - t3404: Better document the original repository layout -------------------------------------------------- [Stalled] * je/send-email-no-subject (2009-08-05) 1 commit. (merged to 'next' on 2009-10-11 at 1b99c56) + send-email: confirm on empty mail subjects The existing tests cover the positive case (i.e. as long as the user says "yes" to the "do you really want to send this message that lacks subject", the message is sent) of this feature, but the feature itself needs its own test to verify the negative case (i.e. does it correctly stop if the user says "no"?) * jc/checkout-merge-base (2009-11-20) 2 commits - "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 I've been using the first one for a while myself but do not see many users want this (yet); the new feature is not urgent anyway. * jh/notes (2009-12-02) 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 Rerolled (waiting for Acks). * tr/maint-merge-ours-clarification (2009-11-15) 1 commit (merged to 'next' on 2009-11-21 at fadaf7b) + rebase: refuse to rebase with -s ours I do not think we reached a concensus for solving conflicts between "give them rope" and "protect users from clearly meaningless combinations". The author obviously is for the latter (and I am inclined to agree); Dscho seems to think otherwise. * jc/fix-tree-walk (2009-10-22) 8 commits (merged to 'next' on 2009-10-22 at 10c0c8f) + Revert failed attempt since 353c5ee + read-tree --debug-unpack (merged to 'next' on 2009-10-11 at 0b058e2) + unpack-trees.c: look ahead in the index + unpack-trees.c: prepare for looking ahead in the index + Aggressive three-way merge: fix D/F case + traverse_trees(): handle D/F conflict case sanely + more D/F conflict tests + tests: move convenience regexp to match object names to test-lib.sh This has some stupid bugs and reverted from 'next' until I can fix it, but the "temporarily" turned out to be very loooong. Sigh. We won't have a proper fix in 1.6.6. * jc/grep-full-tree (2009-11-24) 1 commit. - grep: --full-tree The interaction with this option and pathspecs need to be worked out better. I _think_ "grep --full-tree -e pattern -- '*.h'" should find from all the header files in the tree, for example. -------------------------------------------------- [Cooking] * 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 Rerolled. * 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