From 2cfb3335093ab46ad0906bce4e73e7a682a39d5f Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 11 Mar 2009 02:25:58 -0700 Subject: [PATCH] What's cooking (2009/03 #03) --- whats-cooking.txt | 348 +++++++++++++++++++++++++--------------------- 1 file changed, 193 insertions(+), 155 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index afab170d3e..18a06c8d28 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,9 +1,9 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Mar 2009, #02; Thu, 05) -X-master-at: 836769e875ecf47e83137a39de5937652e0e861e -X-next-at: c65e767e015b0309eb047b5a4d2b20dcaceeab22 +Subject: What's cooking in git.git (Mar 2009, #03; Wed, 11) +X-master-at: e47eec8fc6efb5ad0574b4862fd8e8e82b6a62fa +X-next-at: b2e4c32e13df1b7f18e7b4a9f746650471a3122e -What's cooking in git.git (Mar 2009, #02; Thu, 05) +What's cooking in git.git (Mar 2009, #03; Wed, 11) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are @@ -14,50 +14,74 @@ holding onto them. The topics list the commits in reverse chronological order. The topics meant to be merged to the maintenance series have "maint-" in their names. -The master branch is slightly past 1.6.2, but embarrasingly enough we -already have a real commit on 'maint'. - ---------------------------------------------------------------- [New Topics] -* hv/cvsimport-tests (Mon Mar 2 18:59:36 2009 +0100) 1 commit - - cvsimport: add test illustrating a bug in cvsps +* db/maint-missing-origin (Wed Mar 11 01:47:20 2009 -0400) 1 commit + - Give error when no remote is configured -Yet more tests without fixing anything... +* js/sideband-stderr (Tue Mar 10 22:58:09 2009 +0100) 2 commits + - winansi: support ESC [ K (erase in line) + - recv_sideband: Bands #2 and #3 always go to stderr -* jc/clone-branch-rebase (Tue Mar 3 22:29:55 2009 -0800) 1 commit - - Make git-clone respect branch.autosetuprebase +* js/rsync-local (Mon Mar 9 19:44:55 2009 +0100) 1 commit + - rsync transport: allow local paths, and fix tests -This is rewrite of a patch from Pat Notz. +* rs/color-grep (Sun Mar 8 18:22:44 2009 -0700) 6 commits + + grep: cast printf %.*s "precision" argument explicitly to int + + grep: add support for coloring with external greps + + grep: color patterns in output + + grep: add pmatch and eflags arguments to match_one_pattern() + + grep: remove grep_opt argument from match_expr_eval() + + grep: micro-optimize hit collection for AND nodes -* mg/maint-submodule-normalize-path (Tue Mar 3 16:08:21 2009 +0100) 2 commits - - git submodule: Fix adding of submodules at paths with ./, .. and // - - git submodule: Add test cases for git submodule add +* db/refspec-wildcard-in-the-middle (Sat Mar 7 01:11:39 2009 -0500) 5 commits + + Support '*' in the middle of a refspec + + Keep '*' in pattern refspecs + + Use the matching function to generate the match results + + Use a single function to match names against patterns + + Make clone parse the default refspec with the normal code -* kb/tracking-count-no-merges (Wed Mar 4 18:47:39 2009 +0100) 1 commit - - stat_tracking_info(): only count real commits +* db/push-cleanup (Sun Mar 8 21:06:07 2009 -0400) 2 commits + - Move push matching and reporting logic into transport.c + - Use a common function to get the pretty name of refs -This gives the merge commits zero weight when talking about how many -commits you have ahead (or behind) of the branch you are tracking. Even -though I agree that they should carry much less weight than the "real" -commits, because your repeated merge from the other branch does not really -add any real value to the end result, giving them absolute zero weight -somehow feels wrong. At least it shows that your have been _active_ on the -branch. But I do not feel very strongly about it. +* xx/db-refspec-vs-js-remote (Sun Mar 8 00:12:33 2009 -0800) 1 commit + + Adjust js/remote-improvements and db/refspec-wildcard-in-the- + middle -* js/rebase-i-opt (Tue Mar 3 10:55:31 2009 +0100) 1 commit - - rebase -i: avoid 'git reset' when possible +* fg/push-default (Mon Mar 9 23:35:51 2009 +0100) 7 commits + - git push: Remove warning for "git push" default change + - git push: Change default for "git push" to nothing. + - git push: Document that "nothing" is the future push default + - git push: Display warning on unconfigured default push + - git push: New options --matching and --current + - New config option push.default + - remote: Make "-" an alias for the current remote + +With the topmost three patches, tonight's 'pu' does not pass the self test +as expected. I am not sure there is a wide support for changing the +default, either. + +* kg/http-auth (Mon Mar 9 23:34:25 2009 -0700) 3 commits + - http authentication via prompts + - http_init(): Fix config file parsing + - http.c: style cleanups + +This only deals with the fetch side. + +* 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. ---------------------------------------------------------------- -[Will merge to 'master' soon] +[Graduated to "master"] * jk/sane-relative-time (Tue Feb 24 00:42:16 2009 -0500) 1 commit + never fallback relative times to absolute -I think I sent out a "here is how" patch for something related to ---date= option that may be related to this topic; I seem to have -lost it. - * js/send-email (Mon Mar 2 23:52:18 2009 -0500) 5 commits + send-email: add --confirm option and configuration setting + send-email: don't create temporary compose file until it is needed @@ -74,9 +98,6 @@ lost it. * jw/imap-preformatted-html (Thu Feb 12 08:58:12 2009 -0600) 1 commit + imap.preformattedHTML to tell Thunderbird to send non-flowed text -The patch text should be identical to Jeremy's "Virtual Patch", except -that the configuration variable was renamed per list discussion. - * jw/format-patch-attach (Thu Feb 12 09:51:55 2009 -0600) 1 commit + Enable setting attach as the default in .gitconfig for git-format- patch. @@ -125,17 +146,11 @@ that the configuration variable was renamed per list discussion. + git config: codestyle cleanups + config: Add new option to open an editor. -Rerolled and looked sane. - * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits + blame: show "previous" information in --porcelain/--incremental format + git-blame: refactor code to emit "porcelain format" output -This gives Porcelains (like gitweb) the information on the commit _before_ -the one that the final blame is laid on, which should save them one -rev-parse to dig further. Jakub seems to want this for gitweb. - * ns/pretty-format (Tue Feb 24 15:33:29 2009 +0200) 5 commits + bash completion: add --format= and --oneline options for "git log" + Add tests for git log --pretty, --format and --oneline. @@ -144,19 +159,59 @@ rev-parse to dig further. Jakub seems to want this for gitweb. + Give short-hands to --pretty=tformat:%formatstring + Add --format that is a synonym to --pretty +* en/maint-hash-object (Sat Feb 28 12:56:49 2009 -0700) 1 commit + + Ensure proper setup of git_dir for git-hash-object + ---------------------------------------------------------------- -[Discarded] +[Will merge to 'master' soon] -* js/clone-depth-local (Fri Feb 27 00:04:06 2009 -0800) 3 commits - . parse_options(): do not "increment" boolean - . clone: ignore --depth when cloning locally (implicitly --local) - . clone: do not ignore --no-local option +* mg/maint-submodule-normalize-path (Tue Mar 3 16:08:21 2009 +0100) 2 commits + + git submodule: Fix adding of submodules at paths with ./, .. and + // + + git submodule: Add test cases for git submodule add -Jeff had a good suggestion for this series but it was tripped by -a misfeature in parse_options(). +* rs/memmem (Tue Mar 3 00:19:30 2009 +0100) 2 commits + + optimize compat/ memmem() + + diffcore-pickaxe: use memmem() -* ns/stash-keep (Thu Feb 12 06:25:14 2009 +0900) 1 commit - . stash: --keep option just saves +* tv/rebase-stat (Sun Mar 1 22:28:28 2009 +0100) 2 commits + + git-pull: Allow --stat and --no-stat to be used with --rebase + + git-rebase: Add --stat and --no-stat for producing diffstat on + rebase + +* jk/clone-post-checkout (Tue Mar 3 00:37:51 2009 -0500) 1 commit + + clone: run post-checkout hook when checking out + +* jc/maint-1.6.0-keep-pack (Sat Feb 28 00:37:19 2009 -0800) 6 commits + + is_kept_pack(): final clean-up + + Simplify is_kept_pack() + + Consolidate ignore_packed logic more + + has_sha1_kept_pack(): take "struct rev_info" + + has_sha1_pack(): refactor "pretend these packs do not exist" + interface + + git-repack: resist stray environment variable + +This is in response to Linus's "Really slow 'git gc'" ($gmane/110743) + +* el/blame-date (Fri Feb 20 14:51:11 2009 -0800) 1 commit + + Make git blame's date output format configurable, like git log + +* tr/gcov (Thu Feb 19 12:13:42 2009 +0100) 8 commits + + Test git-patch-id + + Test rev-list --parents/--children + + Test log --decorate + + Test fsck a bit harder + + Test log --graph + + Test diff --dirstat functionality + + Test that diff can read from stdin + + Support coverage testing with GCC/gcov + +* tr/format-patch-thread (Thu Feb 19 22:26:33 2009 +0100) 4 commits + + format-patch: support deep threading + + format-patch: thread as reply to cover letter even with in-reply- + to + + format-patch: track several references + + format-patch: threading test reactivation ---------------------------------------------------------------- [Stalled and may need help and prodding to go forward] @@ -213,20 +268,58 @@ I think the code is much cleaner than the first round, but I am not convinced it is doing the right thing in the connectivity traverser. Independent review sorely needed. +---------------------------------------------------------------- +[Discarded] + * sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits - - gitweb: Optional grouping of projects by category - - gitweb: Split git_project_list_body in two functions - - gitweb: Modularized git_get_project_description to be more generic + . gitweb: Optional grouping of projects by category + . gitweb: Split git_project_list_body in two functions + . gitweb: Modularized git_get_project_description to be more generic Design discussion between Jakub and Sebastien seems to have stalled, but -Jakub seems to be taking this over, so I'll probably discard these three -shortly. +Jakub seems to be taking this over. + +* jc/push-to-create (Mon Mar 2 22:36:16 2009 -0800) 1 commit + . Push to create + +This was a failed weatherbaloon patch to allow creation of a new +repository from the remote side. ---------------------------------------------------------------- [Actively cooking] -* kb/checkout-optim (Wed Mar 4 18:47:40 2009 +0100) 15 commits - - better introduction of GIT with USE_NSEC defined +* hv/cvsimport-tests (Mon Mar 2 18:59:36 2009 +0100) 1 commit + - cvsimport: add test illustrating a bug in cvsps + +Yet more tests without fixing anything... + +* jc/clone-branch-rebase (Tue Mar 10 01:20:42 2009 -0700) 2 commits + + Improve "git branch --tracking" output + + Make git-clone respect branch.autosetuprebase + +This is a rewrite of a patch from Pat Notz. + +* kb/tracking-count-no-merges (Wed Mar 4 18:47:39 2009 +0100) 1 commit + + stat_tracking_info(): only count real commits + +This gives the merge commits zero weight when talking about how many +commits you have ahead (or behind) of the branch you are tracking. Even +though I agree that they should carry much less weight than the "real" +commits, because your repeated merge from the other branch does not really +add any real value to the end result, giving them absolute zero weight +somehow feels wrong. At least it shows that your have been _active_ on the +branch. But I do not feel very strongly about it. + +* js/rebase-i-opt (Tue Mar 3 10:55:31 2009 +0100) 1 commit + + rebase -i: avoid 'git reset' when possible + +* kb/checkout-optim (Sun Mar 8 17:22:51 2009 -0400) 18 commits + + Makefile: Set compiler switch for USE_NSEC + + Create USE_ST_TIMESPEC and turn it on for Darwin + + Not all systems use st_[cm]tim field for ns resolution file + timestamp + + Record ns-timestamps if possible, but do not use it without + USE_NSEC + write_index(): update index_state->timestamp after flushing to disk + verify_uptodate(): add ce_uptodate(ce) test @@ -245,84 +338,55 @@ shortly. + lstat_cache(): generalise longest_match_lstat_cache() + lstat_cache(): small cleanup and optimisation -* rs/memmem (Tue Mar 3 00:19:30 2009 +0100) 2 commits - - optimize compat/ memmem() - - diffcore-pickaxe: use memmem() +* mv/parseopt-ls-files (Sat Mar 7 20:27:22 2009 -0500) 4 commits + + ls-files: fix broken --no-empty-directory + + t3000: use test_cmp instead of diff + + parse-opt: migrate builtin-ls-files. + + Turn the flags in struct dir_struct into a single variable -As always with patches from René, this is already next material. +The tip one was a subject for further discussion, but nothing is queued +yet. -* jc/push-to-create (Mon Mar 2 22:36:16 2009 -0800) 1 commit - - Push to create - -This was a failed weatherbaloon patch to allow creation of a new -repository from the remote side. Will discard. - -* mv/parseopt-ls-files (Tue Feb 17 15:27:11 2009 +0100) 2 commits - - parse-opt: migrate builtin-ls-files. - - Turn the flags in struct dir_struct into a single variable - -* tv/rebase-stat (Sun Mar 1 22:28:28 2009 +0100) 2 commits - - git-pull: Allow --stat and --no-stat to be used with --rebase - - git-rebase: Add --stat and --no-stat for producing diffstat on - rebase - -* jk/clone-post-checkout (Tue Mar 3 00:37:51 2009 -0500) 1 commit - - clone: run post-checkout hook when checking out - -* js/remote-improvements (Wed Feb 25 03:32:28 2009 -0500) 22 commits - - builtin-remote: new show output style for push refspecs - - builtin-remote: new show output style - - remote: make guess_remote_head() use exact HEAD lookup if it is +* js/remote-improvements (Sun Mar 8 00:10:33 2009 -0800) 23 commits + + builtin-remote.c: no "commented out" code, please + + builtin-remote: new show output style for push refspecs + + builtin-remote: new show output style + + remote: make guess_remote_head() use exact HEAD lookup if it is available - - builtin-remote: add set-head subcommand - - builtin-remote: teach show to display remote HEAD - - builtin-remote: fix two inconsistencies in the output of "show + + builtin-remote: add set-head subcommand + + builtin-remote: teach show to display remote HEAD + + builtin-remote: fix two inconsistencies in the output of "show " - - builtin-remote: make get_remote_ref_states() always populate + + builtin-remote: make get_remote_ref_states() always populate states.tracked - - builtin-remote: rename variables and eliminate redundant function + + builtin-remote: rename variables and eliminate redundant function call - - builtin-remote: remove unused code in get_ref_states - - builtin-remote: refactor duplicated cleanup code - - string-list: new for_each_string_list() function - - remote: make match_refs() not short-circuit - - remote: make match_refs() copy src ref before assigning to + + builtin-remote: remove unused code in get_ref_states + + builtin-remote: refactor duplicated cleanup code + + string-list: new for_each_string_list() function + + remote: make match_refs() not short-circuit + + remote: make match_refs() copy src ref before assigning to peer_ref - - remote: let guess_remote_head() optionally return all matches - - remote: make copy_ref() perform a deep copy - - remote: simplify guess_remote_head() - - move locate_head() to remote.c - - move duplicated ref_newer() to remote.c - - move duplicated get_local_heads() to remote.c - - refactor find_ref_by_name() to accept const list - - add basic http clone/fetch tests - - test scripts: refactor start_httpd helper + + remote: let guess_remote_head() optionally return all matches + + remote: make copy_ref() perform a deep copy + + remote: simplify guess_remote_head() + + move locate_head() to remote.c + + move duplicated ref_newer() to remote.c + + move duplicated get_local_heads() to remote.c + + refactor find_ref_by_name() to accept const list + + add basic http clone/fetch tests + + test scripts: refactor start_httpd helper -* fc/parseopt-config (Sat Feb 21 02:49:29 2009 +0200) 11 commits - - git config: don't allow --get-color* and variable type - - git config: don't allow extra arguments for -e or -l. - - git config: don't allow multiple variable types - - git config: don't allow multiple config file locations - - git config: reorganize to use parseopt - - git config: reorganize get_color* - - git config: trivial rename in preparation for parseopt - - git_config(): not having a per-repo config file is not an error - + git config: trivial cleanup for editor action - + git config: codestyle cleanups - + config: Add new option to open an editor. - -* tr/format-patch-thread (Thu Feb 19 22:26:33 2009 +0100) 4 commits - - format-patch: support deep threading - - format-patch: thread as reply to cover letter even with in-reply- - to - - format-patch: track several references - - format-patch: threading test reactivation - -* el/blame-date (Fri Feb 20 14:51:11 2009 -0800) 1 commit - - Make git blame's date output format configurable, like git log - -I think the above seven series were basically Ok; I'll hopefully have time -to re-read them and merge them to 'next'. +* fc/parseopt-config (Sat Mar 7 12:14:05 2009 -0500) 9 commits + + config: set help text for --bool-or-int + + git config: don't allow --get-color* and variable type + + git config: don't allow extra arguments for -e or -l. + + git config: don't allow multiple variable types + + git config: don't allow multiple config file locations + + git config: reorganize to use parseopt + + git config: reorganize get_color* + + git config: trivial rename in preparation for parseopt + + git_config(): not having a per-repo config file is not an error * mh/cvsimport-tests (Mon Feb 23 06:08:14 2009 +0100) 5 commits - Add a test of "git cvsimport"'s handling of tags and branches @@ -334,36 +398,10 @@ to re-read them and merge them to 'next'. Tests without fixes are of dubious value. Any takers? * tr/maint-1.6.0-send-email-irt (Sun Mar 1 23:45:41 2009 +0100) 1 commit - - send-email: respect in-reply-to regardless of threading + + send-email: respect in-reply-to regardless of threading Tests? -* jc/maint-1.6.0-keep-pack (Sat Feb 28 00:37:19 2009 -0800) 6 commits - + is_kept_pack(): final clean-up - + Simplify is_kept_pack() - + Consolidate ignore_packed logic more - + has_sha1_kept_pack(): take "struct rev_info" - + has_sha1_pack(): refactor "pretend these packs do not exist" - interface - + git-repack: resist stray environment variable - -This is in response to Linus's "Really slow 'git gc'" ($gmane/110743) - -* en/maint-hash-object (Sat Feb 28 12:56:49 2009 -0700) 1 commit - + Ensure proper setup of git_dir for git-hash-object - -Obvious fix that can also go to 1.6.1.X - -* tr/gcov (Thu Feb 19 12:13:42 2009 +0100) 8 commits - - Test git-patch-id - - Test rev-list --parents/--children - - Test log --decorate - - Test fsck a bit harder - - Test log --graph - - Test diff --dirstat functionality - - Test that diff can read from stdin - - Support coverage testing with GCC/gcov - * js/notes (Wed Feb 18 11:17:27 2009 -0800) 14 commits - tests: fix "export var=val" - notes: refuse to edit notes outside refs/notes/ @@ -381,7 +419,7 @@ Obvious fix that can also go to 1.6.1.X - Introduce commit notes Rebased and then kicked back to 'pu' to give the author a chance to -rearrange if necessary. I might do some trivial squashing myself. +rearrange if necessary. ---------------------------------------------------------------- [On Hold]