From: Junio C Hamano Date: Wed, 29 Jul 2009 21:11:16 +0000 (-0700) Subject: What's cooking (2009/07 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1e0616406ce28248ba29150e05c7f0d8d4df0e3;p=thirdparty%2Fgit.git What's cooking (2009/07 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index cbd1ed0507..1fc61219b2 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,29 +1,68 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Jul 2009, #02; Sun, 26) -X-master-at: d8f7be2ebcb7e3ec40269080a9ab9a28bc06ba17 -X-next-at: 2b05f9bd0a9944bbaab9f24d305932a57e4735d4 +Subject: What's cooking in git.git (Jul 2009, #03; Wed, 29) +X-master-at: e6580020057afd207b7cfb9c96905f99e13cfe4d +X-next-at: 4719968c98d7ad8352bb14916c65c094842a980d -What's cooking in git.git (Jul 2009, #02; Sun, 26) +What's cooking in git.git (Jul 2009, #03; Wed, 29) -------------------------------------------------- -These topics in 'next' (ones prefixed with '+') and 'pu' (ones prefixed -with '.') will not be in 1.6.4 final, and are subject to be rewound once -it happens. +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 branches, but I am still +holding onto them. -We have quite a few solid topics in 'next', so hopefully the next cycle -would be shorter than usual. I'd propose to call it 1.6.5, and then make -the one after that 1.7.0, which means that during the 1.6.5 cycle, 'next' -will have the two incompatible "push" (actually, receive-pack) changes -hitherto kept on hold in 'pu'. +In preparation for rewinding 'next' after a major release, one topic was +reverted and kicked back to 'pu' to give it a fresh start. + +After the 1.6.5 cycle, the next release will be 1.7.0, and we will push +out the planned "push safety" change. 1.7.0 would be a good time to +introduce "justifiable" changes that are not strictly backward compatible. + +During 1.6.5 cycle, 'next' will hold topics meant for 1.6.5 and 1.7.0. +I've already merged the "diff --exit-code --ignore-whitespace" change and +"push safety" change. + +I'll rewind 'next' sometime this weekend. ---------------------------------------------------------------- -[New Topics] +[In 'next'] -* jk/show-tag (Sat Jul 18 06:14:37 2009 -0400) 2 commits - + show: add space between multiple items - + show: suppress extra newline when showing annotated tag +* ne/futz-upload-pack (Wed Jun 10 01:50:18 2009 +0200) 1 commit + + Shift object enumeration out of upload-pack + +* js/run-command-updates (Sat Jul 4 21:26:43 2009 +0200) 6 commits + + receive-pack: remove unnecessary run_status report + + run_command: report failure to execute the program, but optionally + don't + + run_command: encode deadly signal number in the return value + + run_command: report system call errors instead of returning error + codes + + run_command: return exit code as positive value + + MinGW: simplify waitpid() emulation macros + +* sb/maint-pull-rebase (Sun Jul 19 09:45:16 2009 +0200) 2 commits + + pull: support rebased upstream + fetch + pull --rebase + + t5520-pull: Test for rebased upstream + fetch + pull --rebase + +* jc/1.7.0-diff-whitespace-only-status (Sat May 23 01:15:35 2009 -0700) 2 commits + + diff: Rename QUIET internal option to QUICK + + diff: change semantics of "ignore whitespace" options + +This changes exit code from "git diff --ignore-whitespace" and friends +when there is no actual output. It is a backward incompatible change, but +we could argue that it is a bugfix. + +* jc/1.7.0-push-safety (Mon Feb 9 00:19:46 2009 -0800) 2 commits + + Refuse deleting the current branch via push + + Refuse updating the current branch in a non-bare repository via + push -Didn't look bad at all, but is not pressing either. +This is old 'jc/deny-delete-current-1.7.0' and 'jc/1.7.0-push-safety' +topics redone. + +* sb/read-tree (Thu Jun 25 22:14:10 2009 -0700) 2 commits + + read-tree: migrate to parse-options + + read-tree: convert unhelpful usage()'s to helpful die()'s * sb/parse-options (Tue Jul 7 22:15:41 2009 -0700) 4 commits + prune-packed: migrate to parse-options @@ -31,248 +70,161 @@ Didn't look bad at all, but is not pressing either. + verify-tag: migrate to parse-options + write-tree: migrate to parse-options +Parse-options migration; should be in 'master' soonish. + * mk/grep-max-depth (Wed Jul 22 19:52:15 2009 +0200) 1 commit + grep: Add --max-depth option. -* jn/gitweb-blame (Sat Jul 25 00:44:10 2009 +0200) 10 commits - - gitweb: Create links leading to 'blame_incremental' using - JavaScript - - gitweb: Incremental blame (proof of concept) - - gitweb: Add optional "time to generate page" info in footer - - gitweb: Add -partial_query option to href() subroutine - - gitweb: Use light/dark for class names also in 'blame' view - - gitweb: Add author initials in 'blame' view, a la "git gui blame" - - gitweb: Mark commits with no "previous" in 'blame' view - - gitweb: Use "previous" header of git-blame -p in 'blame' view - - gitweb: Mark boundary commits in 'blame' view - - gitweb: Make .error style generic +* cc/replace (Wed May 27 07:14:09 2009 +0200) 14 commits + + t6050: check pushing something based on a replaced commit + + Documentation: add documentation for "git replace" + + Add git-replace to .gitignore + + builtin-replace: use "usage_msg_opt" to give better error messages + + parse-options: add new function "usage_msg_opt" + + builtin-replace: teach "git replace" to actually replace + + Add new "git replace" command + + environment: add global variable to disable replacement + + mktag: call "check_sha1_signature" with the replacement sha1 + + replace_object: add a test case + + object: call "check_sha1_signature" with the replacement sha1 + + sha1_file: add a "read_sha1_file_repl" function + + replace_object: add mechanism to replace objects found in + "refs/replace/" + + refs: add a "for_each_replace_ref" function -Still in flux/rfc. +Does not seem to hurt normal operation without "replace". The basic idea +should be easier and safer to use than the graft mechanism. I haven't +tried the replacement myself, though. * ns/init-mkdir (Sat Jul 25 06:59:28 2009 +0900) 1 commit + git init: optionally allow a directory argument -Didn't look bad, but is not pressing either. +Straightforward usability change. Should be in 'master' soonish. + +* mk/init-db-parse-options (Sun Jul 12 12:24:32 2009 +0200) 1 commit + + init-db: migrate to parse-options + +* jk/maint-show-tag (Sat Jul 18 06:14:37 2009 -0400) 2 commits + + show: add space between multiple items + + show: suppress extra newline when showing annotated tag * jc/apply-epoch-patch (Fri Jul 10 18:38:08 2009 -0700) 1 commit + apply: notice creation/removal patches produced by GNU diff -* sb/pull-rebase (Sun Jul 19 09:45:16 2009 +0200) 2 commits - + pull: support rebased upstream + fetch + pull --rebase - + t5520-pull: Test for rebased upstream + fetch + pull --rebase +Better acceptance of some "GNU patch" output to create or remove files. -* db/transport-shim (Sat Jul 25 13:51:40 2009 -0400) 3 commits +---------------------------------------------------------------- +[In 'pu'] + +* jp/symlink-dirs (Sun Jun 14 15:08:28 2009 +0200) 2 commits + - lstat_cache: guard against full match of length of 'name' + parameter + - Demonstrate bugs when a directory is replaced with a symlink + +James's test scripts to expose corner case bugs in the merge and branch +switching machinery. + +* jh/vcs-cvs (Mon Jul 27 03:04:17 2009 +0200) 15 commits + - Introduce a 'marks ' feature to the foreign transport + code + - Teach foreign transport code to perform the "capabilities" command + - Preliminary clarifications to git-vcs documentation + - fast-import: Add support for importing commit notes + - Add a transport implementation using git-vcs-* helpers + - Allow programs to not depend on remotes having urls + - Use a function to determine whether a remote is valid + - Add specification of git-vcs-* helper programs + - Merge branch 'db/transport-shim' into jh/vcs-cvs - git-http-fetch: not a builtin - Use an external program to implement fetching with curl - Add support for external programs for handling native fetches + - Add option for using a foreign VCS + - Document details of transport function APIs + - Allow late reporting of fetched hashes -Interesting as a concept. I saw its ls-remote segfault on me, though. -Hopefully will mature by 1.6.5 final. - -* pb/tracking (Thu Jul 16 16:26:15 2009 -0500) 7 commits - + branch.c: if remote is not config'd for branch, don't try delete - push config - + branch, checkout: introduce autosetuppush - + move deletion of merge configuration to branch.c - + remote: add per-remote autosetupmerge and autosetuprebase - configuration - + introduce a struct tracking_config - + branch: install_branch_config and struct tracking refactoring - + config: allow false and true values for branch.autosetuprebase - -After some discussion, I suspect we may want to rewind this out of 'next' -and start over with a fresh design. - -* mk/init-db-parse-options (Sun Jul 12 12:24:32 2009 +0200) 1 commit - + init-db: migrate to parse-options - -* tr/reset-checkout-patch (Sat Jul 25 23:29:34 2009 +0200) 5 commits - - Implement 'git stash save --patch' - - Implement 'git checkout --patch' - - Implement 'git reset --patch' - - builtin-add: refactor the meat of interactive_add() - - git-apply--interactive: Refactor patch mode code - -Still in flux/rfc. - ----------------------------------------------------------------- -[Stalled and may need help and prodding to go forward] - -* gp/maint-rebase-p-onto (Wed Jul 22 12:38:58 2009 -0400) 1 commit - . Fix rebase -p --onto +With its 6th patch replaced to keep the pathname syntax of the fast-import +language, but without the commits near the tip of the old series. -I'd say we should take this even if it means Dscho needs his rebase -p -rewrite. It is not very pressing, so perhaps do so immediately after -1.6.4 final. +* db/transport-shim (Tue Jul 28 02:08:53 2009 -0400) 3 commits + - git-http-fetch: not a builtin + - Use an external program to implement fetching with curl + - Add support for external programs for handling native fetches -* jh/notes (Sat May 16 13:44:17 2009 +0200) 5 commits +* jh/notes (Wed Jul 29 04:25:26 2009 +0200) 8 commits + - t3302-notes-index-expensive: Speed up create_repo() + - fast-import: Add support for importing commit notes + - First draft of notes tree parser with support for fanout subtrees - Teach "-m " and "-F " to "git notes edit" - Add an expensive test for git-notes - Speed up git notes lookup - Add a script to edit/inspect notes - Introduce commit notes -Dscho asked about the performance implications of this; I do not think I -saw any progress on that yet... - -Will drop after 1.6.4 unless any further progress is seen. - -* ar/maint-1.6.2-merge-recursive-d-f (Mon May 11 21:25:36 2009 +0200) 2 commits - - Fix for a merge where a branch has an F->D transition - - Add a reminder test case for a merge with F/D transition - -Although the reported breakage is covered with the patch, Alex feels the -solution unsatisfactory. Cleaning up D/F conflict handling in merge-recursive -may be long overdue but seems to be a hard problem. - -* ps/blame (Thu Mar 12 21:30:03 2009 +1100) 1 commit - - blame.c: start libifying the blame infrastructure - -A few minor point remains in this initial one. - -Will drop after 1.6.4 unless any further progress is seen. - -* jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit - - Allow --date=local --date=other-format to work as expected - -The one I posted had a few corner-case bugs that was caught with the test -suite; this one has them fixed. People did not like the UI so it is kept -out of 'next' - -Will drop after 1.6.4 unless any further progress is seen. - -* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit - - git-merge-file: allow converting the results for the work tree - -This is a feature waiting for a user. - -We did not give scripted Porcelains a way to say "this temporary file I am -using for merging is for this path, so use the core.autocrlf and attributes -rules for that final path". Instead, merge-file simply wrote out the -data in the canonical repository representation. - -rerere has the same issue, but it is a lot worse. It reads the three -files (preimage, postimage and thisimage) from the work tree in the work -tree representation, merges them without converting them to the canonical -representation first but inserts the conflict markers with the canonical -representation and writes the resulting mess out. It needs to be fixed to -read with convert_to_git(), merge them while they are still in the -canonical representation and possibly add conflict markers, and then write -the results out after convert_to_working_tree(). It also needs to write -in binary mode as well. - -Will drop after 1.6.4 unless any further progress is seen. +jh/vcs-cvs topic needs to be rebuilt, merging this instead of having its +own copy of "fast-import: Add support for importing commit notes". * db/foreign-scm (Tue Mar 24 23:04:12 2009 -0400) 3 commits - Add option for using a foreign VCS - Document details of transport function APIs - Allow late reporting of fetched hashes -I have a feeling that the recent transport-shim series from the same -author could supersede this one. - -* hv/cvsps-tests (Sun Apr 5 01:40:50 2009 -0700) 8 commits - - t/t9600: remove exit after test_done - - cvsimport: extend testcase about patchset order to contain - branches - - cvsimport: add test illustrating a bug in cvsps - - Add a test of "git cvsimport"'s handling of tags and branches - - Add some tests of git-cvsimport's handling of vendor branches - - Test contents of entire cvsimported "master" tree contents - - Use CVS's -f option if available (ignore user's ~/.cvsrc file) - - Start a library for cvsimport-related tests - ----------------------------------------------------------------- -[Not actively cooking] - -* js/run-command-updates (Sat Jul 4 21:26:43 2009 +0200) 6 commits - + receive-pack: remove unnecessary run_status report - + run_command: report failure to execute the program, but optionally - don't - + run_command: encode deadly signal number in the return value - + run_command: report system call errors instead of returning error - codes - + run_command: return exit code as positive value - + MinGW: simplify waitpid() emulation macros - -Will merge after 1.6.4 - * cc/sequencer-rebase-i (Fri Jun 26 23:08:46 2009 +0200) 4 commits - rebase -i: use "git sequencer--helper --make-patch" - sequencer: free memory used in "make_patch" function - sequencer: add "make_patch" function to save a patch - sequencer: add "builtin-sequencer--helper.c" -* en/fast-export (Thu Jun 25 22:48:33 2009 -0600) 7 commits - + fast-export: Document the fact that git-rev-list arguments are - accepted - + Add new fast-export testcases - + fast-export: Add a --tag-of-filtered-object option for newly - dangling tags - + fast-export: Do parent rewriting to avoid dropping relevant - commits - + fast-export: Make sure we show actual ref names instead of - "(null)" - + fast-export: Omit tags that tag trees - + fast-export: Set revs.topo_order before calling setup_revisions - -Shawn? Dscho? - -* jc/diff-whitespace-only-status (Sat May 23 01:15:35 2009 -0700) 2 commits - + diff: Rename QUIET internal option to QUICK - + diff: change semantics of "ignore whitespace" options - -Possibly merge during 1.6.5, or 1.7.0 since this is a semantics change. - -* sb/read-tree (Thu Jun 25 22:14:10 2009 -0700) 2 commits - + read-tree: migrate to parse-options - + read-tree: convert unhelpful usage()'s to helpful die()'s +I do not know how this will interact with what Dscho has been doing. -Will merge after 1.6.4 +* jc/mailinfo-remove-brackets (Wed Jul 15 15:31:12 2009 -0700) 1 commit + - mailinfo: -b option keeps [bracketed] strings that is not a + [PATCH] marker -* ne/futz-upload-pack (Wed Jun 10 01:50:18 2009 +0200) 1 commit - + Shift object enumeration out of upload-pack +* jn/gitweb-blame (Sat Jul 25 00:44:10 2009 +0200) 10 commits + - gitweb: Create links leading to 'blame_incremental' using + JavaScript + - gitweb: Incremental blame (proof of concept) + - gitweb: Add optional "time to generate page" info in footer + - gitweb: Add -partial_query option to href() subroutine + - gitweb: Use light/dark for class names also in 'blame' view + - gitweb: Add author initials in 'blame' view, a la "git gui blame" + - gitweb: Mark commits with no "previous" in 'blame' view + - gitweb: Use "previous" header of git-blame -p in 'blame' view + - gitweb: Mark boundary commits in 'blame' view + - gitweb: Make .error style generic -Will merge after 1.6.4 +There may have been updates during 1.6.4-rc period that I missed. -* cc/replace (Wed May 27 07:14:09 2009 +0200) 14 commits - + t6050: check pushing something based on a replaced commit - + Documentation: add documentation for "git replace" - + Add git-replace to .gitignore - + builtin-replace: use "usage_msg_opt" to give better error messages - + parse-options: add new function "usage_msg_opt" - + builtin-replace: teach "git replace" to actually replace - + Add new "git replace" command - + environment: add global variable to disable replacement - + mktag: call "check_sha1_signature" with the replacement sha1 - + replace_object: add a test case - + object: call "check_sha1_signature" with the replacement sha1 - + sha1_file: add a "read_sha1_file_repl" function - + replace_object: add mechanism to replace objects found in - "refs/replace/" - + refs: add a "for_each_replace_ref" function +* tr/reset-checkout-patch (Tue Jul 28 23:20:11 2009 +0200) 5 commits + - Implement 'git stash save --patch' + - Implement 'git checkout --patch' + - Implement 'git reset --patch' + - builtin-add: refactor the meat of interactive_add() + - git-apply--interactive: Refactor patch mode code -* jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit - - receive-pack: default receive.denyDeleteCurrent to refuse +* jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit + - Allow --date=local --date=other-format to work as expected -* jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit - - Refuse updating the current branch in a non-bare repository via - push +* pb/tracking (Thu Jul 16 16:26:15 2009 -0500) 7 commits + - branch.c: if remote is not config'd for branch, don't try delete + push config + - branch, checkout: introduce autosetuppush + - move deletion of merge configuration to branch.c + - remote: add per-remote autosetupmerge and autosetuprebase + configuration + - introduce a struct tracking_config + - branch: install_branch_config and struct tracking refactoring + - config: allow false and true values for branch.autosetuprebase -These are for 1.7.0, but the messages when they trigger together may need -to be rethought. Will be kept in 'next' during 1.6.5 cycle. +This has been reverted from 'next' for now to give it a fresh start. ---------------------------------------------------------------- [Dropped] -* ae/maint-mailinfo-rm-only-one-patch-marker (Mon Jun 29 11:55:51 2009 +0200) 1 commit - - mailinfo: Remove only one set of square brackets +* ar/maint-1.6.2-merge-recursive-d-f (Mon May 11 21:25:36 2009 +0200) 2 commits + . Fix for a merge where a branch has an F->D transition + . Add a reminder test case for a merge with F/D transition -* lt/read-directory (Fri May 15 12:01:29 2009 -0700) 3 commits - . Add initial support for pathname conversion to UTF-8 - . read_directory(): infrastructure for pathname character set - conversion - . Add 'fill_directory()' helper function for directory traversal +The fix the author hinted iffy is dropped for now, but the test case is +already in 'master' to remind us. -It appears that we may want to settle with a MacOS X specific conversion, -if somebody really cares enough.