From: Junio C Hamano Date: Mon, 2 Feb 2009 07:39:21 +0000 (-0800) Subject: What's cooking (2009/02 #01) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e180236b59998bf6a4394046512d15c00e57398;p=thirdparty%2Fgit.git What's cooking (2009/02 #01) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 7d0e21d206..68bde5112a 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 (Jan 2009, #07; Wed, 28) -X-master-at: 8712b3cdb0495f5a56b91cd67e2697412447a886 -X-next-at: c2891ee32a7e8274426c22439ed8d536a5b0bb43 +Subject: What's cooking in git.git (Feb 2009, #01; Sun, 01) +X-master-at: 2ea3c17189bf9ca459879129ca190792b5451f05 +X-next-at: 5bad675db98a79d08ce5abadd3347d829c6c5b36 -What's cooking in git.git (Jan 2009, #07; Wed, 28) +What's cooking in git.git (Feb 2009, #01; Sun, 01) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are @@ -17,51 +17,93 @@ meant to be merged to the maintenance series have "maint-" in their names. ---------------------------------------------------------------- [New Topics] -* jc/maint-1.6.0-split-diff-metainfo (Mon Jan 26 00:08:24 2009 -0800) 1 commit - + diff.c: output correct index lines for a split diff - -This is slated for maintenance series 1.6.0.X, 1.6.1.X and also for -'master'. I think the change is pretty safe and sane to go directly to -'master' but I had too many other topoics to look at that I did not feel -comfortable enough to do so. - -* jc/maint-split-diff-metainfo (Tue Jan 27 01:08:02 2009 -0800) 2 commits - + Merge branch 'jc/maint-1.6.0-split-diff-metainfo' into jc/maint- - split-diff-metainfo - + diff.c: output correct index lines for a split diff - -Early conflict resolution branch for the above to carry it to 1.6.1X -series. - -* js/maint-rebase-i-submodule (Tue Jan 27 12:42:31 2009 +0100) 2 commits - + Fix submodule squashing into unrelated commit - + rebase -i squashes submodule changes into unrelated commit - -* jg/tag-contains (Mon Jan 26 09:13:25 2009 -0500) 3 commits - + git-tag: Add --contains option - + Make has_commit() non-static - + Make opt_parse_with_commit() non-static +* gt/utf8-width (Fri Jan 30 04:41:29 2009 -0500) 2 commits + - builtin-blame.c: Use utf8_strwidth for author's names + - utf8: add utf8_strwidth() + +I am not sure if utf8_strwidth() behaves sensibly when fed a non-UTF8 +string (a possible failure mode is utf8_width() says "no" and it returns +0, resulting in width of all zero and causing division by zero somewhere +downstream, or something silly like that), but other than that, I do not +think it would hurt, and will actively improve the current code. + +* jc/refuse-push-to-current (Sat Jan 31 17:34:05 2009 -0800) 2 commits + - Set receive.denyCurrentBranch to true in a new non-bare repository + - receive-pack: explain what to do when push updates the current + branch + +This prepares to finally switch the default for receive.denyCurrentBranch +to "refuse". The idea is to issue a big warning to people who push into +currently checked out branch when the configuration is unset and we +default to "warn", and explain in detail (1) why it is not likely to be +what they want to do (to help new people), (2) if it is what they want, +how to squelch that annoyingly long message, and (3) the default will be +changed to "refuse" in a future release of git. The tip commit also sets +the configuration to refuse in a newly created repository, but with a +twist. People who get the "refusal" configuration this way may be +expecting the recipe they picked up to push into a live repository, +perhaps a website, and let its post-update hook to "reset --hard" the +deployment, and we will explain that (1) it will no longer work (because +we default to "refuse" in a newly created repository), (2) how to +configure it to work again, and (3) how to squelch the annoying message. + +I personally do not think anything short of an approach like this would +work without a huge fallout like we had when yanked git-foo commands from +people's $PATH in 1.6.0, but I can still be pursuaded by a better +alternative, and that is why they are not in 'next' yet. Saying "old +timers can flip a single switch just once" is not a better alternative, as +I explained already. + +* jc/fsck (Fri Jan 30 02:44:13 2009 -0800) 7 commits + - fsck: revert --quick to the default and introduce --medium + - fsck: three levels of validation + - verify-pack: add --quick + - verify_pack(): allow a quicker verification for a pack with + version 2 idx + - pack-check.c: minor formatting fix to match coding style + + fsck: check loose objects from alternate object stores by default + + fsck: HEAD is part of refs + +I haven't heard anything positive nor negative about this series. I +consider the bottom two changes are pure bugfixes and should probably be +in 1.6.2. + +I think the tip two commits should be squashed (and perhaps the option +parser cleaned up as suggested on the list) if we were to take the +remainder. + +* rc/http-push (Sat Jan 31 07:51:55 2009 +0800) 1 commit + + http-push: refactor request url creation + +Looked fine for 1.6.2. + +* jk/head-symref (Thu Jan 29 03:33:02 2009 -0500) 2 commits + + symbolic ref: refuse non-ref targets in HEAD + + validate_headref: tighten ref-matching to just branches + +Looked fine for 1.6.2. + +* kb/checkout-optim (Sun Feb 1 21:23:39 2009 +0100) 7 commits + - unpack-trees.c: introduce schedule_dir_for_removal() + - lstat_cache(): print a warning if doing ping-pong between cache + types + - combine-diff.c: remove a call to fstat() inside show_patch_diff() + - write_entry(): use fstat() instead of lstat() when file is open + - cleanup of write_entry() in entry.c + - remove some memcpy() and strchr() calls inside + create_directories() + - symlinks.c: small cleanup and optimisation + +Love to have in 1.6.2 -* jk/maint-cleanup-after-exec-failure (Wed Jan 28 02:38:14 2009 -0500) 4 commits - + git: use run_command() to execute dashed externals - + run_command(): help callers distinguish errors - + run_command(): handle missing command errors more gracefully - + git: s/run_command/run_builtin/ - -* jc/maint-allow-uninteresting-missing (Tue Jan 27 23:19:30 2009 -0800) 1 commit - + revision traversal: allow UNINTERESTING objects to be missing - -This is a small follow-up to the fix to send-pack in 1.6.1; meant to go in -1.6.1.X maintenance series and newer. - -* am/maint-push-doc (Mon Jan 26 00:45:33 2009 +0100) 3 commits - + Documentation: rework src/dst description in git push - + Documentation: more git push examples - + Documentation: simplify refspec format description +---------------------------------------------------------------- +[Stalled and may need help and prodding to go forward] * 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. I do not need it in 1.6.2 + 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 @@ -77,24 +119,6 @@ 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. -* jc/maint-add-u-remove-conflicted (Wed Jan 28 14:24:53 2009 -0800) 1 commit - - add -u: do not fail to resolve a path as deleted - -This has been updated from the posted version with a correction. - -* ns/am-slacker (Sat Jan 24 10:18:02 2009 +0900) 2 commits - + git-am: Add --ignore-date option - + am: Add --committer-date-is-author-date option - -It is a (probably) useful new feature with a sort-of cute explanation. - -* jc/maint-apply-fix (Sun Jan 25 23:41:26 2009 -0800) 1 commit - + builtin-apply.c: do not set bogus mode in check_preimage() for - deleted path - ----------------------------------------------------------------- -[Stalled and may need help and prodding to go forward] - * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits + blame: show "previous" information in --porcelain/--incremental format @@ -115,7 +139,11 @@ The "spec" did not seem quite well cooked yet, but in the longer term I think something like this to allow interoperating with other SCMs as if the other end is a native git repository is a very worthy goal. -* cc/replace (Fri Jan 23 10:07:46 2009 +0100) 7 commits +* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits + - 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 @@ -125,7 +153,9 @@ the other end is a native git repository is a very worthy goal. "refs/replace/" - refs: add a "for_each_replace_ref" function -Nobody has review comments on this yet. +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. +I'd like to keep this out of 1.6.2. * lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 6 commits - archive.c: add support for --submodules[=(all|checkedout)] @@ -135,6 +165,19 @@ Nobody has review comments on this yet. + archive.c: enable traversal of submodules + tree.c: add support for traversal of submodules +Sorry, but what's the status of this one? I am not particularly +interested in this new feature myself, so unless I hear otherwise from +people, I'd like to keep this out of 1.6.2. That would have the added +benefit of being able to discard the first four that is already in 'next' +to get a fresh start post 1.6.2 ;-) + +* 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 + +Design discussion between Jakub and Sebastien seems to have stalled. + ---------------------------------------------------------------- [Reverted] @@ -148,6 +191,21 @@ This broke git-format-patch badly. ---------------------------------------------------------------- [Actively cooking] +* wp/add-patch-find (Thu Nov 27 04:08:03 2008 +0000) 3 commits + + In add --patch, Handle K,k,J,j slightly more gracefully. + + Add / command in add --patch + + git-add -i/-p: Change prompt separater from slash to comma + +I think this is Ok to have in 1.6.2 + +* cb/mergetool (Fri Jan 30 23:20:11 2009 +0000) 3 commits + - mergetool: fix running mergetool in sub-directories + - mergetool: Add a test for running mergetool in a sub-directory + + mergetool: respect autocrlf by using checkout-index + +The fix to its subdirectory behaviour looked somewhat iffy and may have a +potential for cleaning up. But we should have it in 1.6.2. + * js/valgrind (Wed Jan 21 02:36:40 2009 +0100) 2 commits - valgrind: ignore ldso errors - Add valgrind support in test scripts @@ -155,15 +213,6 @@ This broke git-format-patch badly. Dscho and Peff had further exchanges on the list; I am sort of waiting for the conclusion before picking any intermediate version up. -* ks/maint-mailinfo-folded (Tue Jan 13 01:21:04 2009 +0300) 4 commits - + mailinfo: tests for RFC2047 examples - + mailinfo: add explicit test for mails like ' - (A U Thor)' - + mailinfo: 'From:' header should be unfold as well - + mailinfo: correctly handle multiline 'Subject:' header - -I just got tired of waiting and cleaned up the series myself. - * js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits + git-notes: fix printing of multi-line notes + notes: fix core.notesRef documentation @@ -176,73 +225,57 @@ It would be nice to hear a real world success story using the notes mechanism; Dscho says he also wants to make sure the current choice of the structure scales well before casting it in stone. -* 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 - -Design discussion between Jakub and Sebastien continues. - ---------------------------------------------------------------- [Graduated to "master"] -* sr/clone-empty (Fri Jan 23 01:07:32 2009 +0100) 1 commit - + Allow cloning an empty repository - -Has anybody actually tried this and made sure the resulting empty clone -works fine after the clone source gets updated with some contents? - -* kb/lstat-cache (Sun Jan 18 16:14:54 2009 +0100) 5 commits - + lstat_cache(): introduce clear_lstat_cache() function - + lstat_cache(): introduce invalidate_lstat_cache() function - + lstat_cache(): introduce has_dirs_only_path() function - + lstat_cache(): introduce has_symlink_or_noent_leading_path() - function - + lstat_cache(): more cache effective symlink/directory detection - -* tr/previous-branch (Wed Jan 21 00:37:38 2009 -0800) 10 commits - + Simplify parsing branch switching events in reflog - + Introduce for_each_recent_reflog_ent(). - + interpret_nth_last_branch(): plug small memleak - + Fix reflog parsing for a malformed branch switching entry - + Fix parsing of @{-1}@{1} - + interpret_nth_last_branch(): avoid traversing the reflog twice - + checkout: implement "-" abbreviation, add docs and tests - + sha1_name: support @{-N} syntax in get_sha1() - + sha1_name: tweak @{-N} lookup - + checkout: implement "@{-N}" shortcut name for N-th last branch - -* js/maint-all-implies-HEAD (Sat Jan 17 22:27:08 2009 -0800) 2 commits - + bundle: allow the same ref to be given more than once - + revision walker: include a detached HEAD in --all - -* cb/add-pathspec (Wed Jan 14 15:54:35 2009 +0100) 2 commits - + remove pathspec_match, use match_pathspec instead - + clean up pathspec matching - -* js/diff-color-words (Tue Jan 20 22:59:54 2009 -0600) 9 commits - + Change the spelling of "wordregex". - + color-words: Support diff.wordregex config option - + color-words: make regex configurable via attributes - + color-words: expand docs with precise semantics - + color-words: enable REG_NEWLINE to help user - + color-words: take an optional regular expression describing words - + color-words: change algorithm to allow for 0-character word - boundaries - + color-words: refactor word splitting and use ALLOC_GROW() - + Add color_fwrite_lines(), a function coloring each line - individually +* jc/maint-1.6.0-split-diff-metainfo (Mon Jan 26 00:08:24 2009 -0800) 1 commit + + diff.c: output correct index lines for a split diff ----------------------------------------------------------------- -[Will merge to "master" soon] +This is slated for maintenance series 1.6.0.X. -* jg/mergetool (Sat Jan 24 00:12:45 2009 +0100) 1 commit - + mergetool: Don't repeat merge tool candidates +* jc/maint-split-diff-metainfo (Tue Jan 27 01:08:02 2009 -0800) 2 commits + + Merge branch 'jc/maint-1.6.0-split-diff-metainfo' into jc/maint- + split-diff-metainfo + + diff.c: output correct index lines for a split diff -* cb/mergetool (Wed Jan 21 22:57:48 2009 +0000) 1 commit - + mergetool: respect autocrlf by using checkout-index +Early conflict resolution branch for the above to carry it to 1.6.1.X +series. + +* js/maint-rebase-i-submodule (Tue Jan 27 12:42:31 2009 +0100) 2 commits + + Fix submodule squashing into unrelated commit + + rebase -i squashes submodule changes into unrelated commit + +* jg/tag-contains (Mon Jan 26 09:13:25 2009 -0500) 3 commits + + git-tag: Add --contains option + + Make has_commit() non-static + + Make opt_parse_with_commit() non-static + +* jc/maint-allow-uninteresting-missing (Tue Jan 27 23:19:30 2009 -0800) 1 commit + + revision traversal: allow UNINTERESTING objects to be missing + +This is a small follow-up to the fix to send-pack in 1.6.1; meant to go in +1.6.1.X maintenance series and newer. + +* am/maint-push-doc (Mon Jan 26 00:45:33 2009 +0100) 3 commits + + Documentation: rework src/dst description in git push + + Documentation: more git push examples + + Documentation: simplify refspec format description -Now Ted told us not to wait for him, we'll go ahead by ourselves ;-). +* jc/maint-apply-fix (Sun Jan 25 23:41:26 2009 -0800) 1 commit + + builtin-apply.c: do not set bogus mode in check_preimage() for + deleted path + +* ks/maint-mailinfo-folded (Tue Jan 13 01:21:04 2009 +0300) 4 commits + + mailinfo: tests for RFC2047 examples + + mailinfo: add explicit test for mails like ' + (A U Thor)' + + mailinfo: 'From:' header should be unfold as well + + mailinfo: correctly handle multiline 'Subject:' header + +Graduated with a follow-up patch from the original author. + +* jg/mergetool (Sat Jan 24 00:12:45 2009 +0100) 1 commit + + mergetool: Don't repeat merge tool candidates * jk/signal-cleanup (Thu Jan 22 01:03:28 2009 -0500) 5 commits + pager: do wait_for_pager on signal death @@ -264,6 +297,33 @@ Now Ted told us not to wait for him, we'll go ahead by ourselves ;-). + Move computation of absolute paths from Makefile to runtime (in preparation for RUNTIME_PREFIX) +There was a report that this breaks with older GNU Make. + +---------------------------------------------------------------- +[Will merge to "master" soon] + +* jc/maint-add-u-remove-conflicted (Wed Jan 28 14:24:53 2009 -0800) 1 commit + - add -u: do not fail to resolve a path as deleted + +This has been updated from the posted version with a correction. We +should have it in 1.6.2 + +* jk/maint-cleanup-after-exec-failure (Wed Jan 28 02:38:14 2009 -0500) 4 commits + + git: use run_command() to execute dashed externals + + run_command(): help callers distinguish errors + + run_command(): handle missing command errors more gracefully + + git: s/run_command/run_builtin/ + +Looked good for 1.6.2. + +* ns/am-slacker (Sat Jan 24 10:18:02 2009 +0900) 2 commits + + git-am: Add --ignore-date option + + am: Add --committer-date-is-author-date option + +It is a (probably) useful new feature with a sort-of cute explanation. +I am not sure if it needs further work (such as hooking it to rebase), +but other than that, I think it is Ok to have in 1.6.2. + ---------------------------------------------------------------- [On Hold] @@ -291,12 +351,3 @@ This is only meant as a weatherballoon to help facilitate discussion. * jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 2 commits . revision --simplify-merges: incremental simplification . revision --simplify-merges: prepare for incremental simplification - -* jk/valgrind (Thu Oct 23 04:30:45 2008 +0000) 2 commits - . valgrind: ignore ldso errors - . add valgrind support in test scripts - -* wp/add-patch-find (Thu Nov 27 04:08:03 2008 +0000) 3 commits - . In add --patch, Handle K,k,J,j slightly more gracefully. - . Add / command in add --patch - . git-add -i/-p: Change prompt separater from slash to comma