To: git@vger.kernel.org
-Subject: What's cooking in git.git (Feb 2009, #01; Sun, 01)
-X-master-at: 2ea3c17189bf9ca459879129ca190792b5451f05
-X-next-at: 5bad675db98a79d08ce5abadd3347d829c6c5b36
+Subject: What's cooking in git.git (Feb 2009, #02; Wed, 04)
+X-master-at: 88ccb9f9745ff1f44bff7c6d6c17ad4b46870706
+X-next-at: c5d3fa64fe3170d80a48f5c5b99f14dbabcbd9b4
-What's cooking in git.git (Feb 2009, #01; Sun, 01)
+What's cooking in git.git (Feb 2009, #02; Wed, 04)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with '-' are
The topics list the commits in reverse chronological order. The topics
meant to be merged to the maintenance series have "maint-" in their names.
+I was this close (shows thumb and index finger almost touching) to merge
+js/notes to master and declare 1.6.2-rc0 but decided against it, because I
+thought I need to at least have heard about somebody who used it before
+doing so. Perhaps I'll try it out myself to keep track of commits that
+happened between 1.6.1 and master that need to be cherry-picked to maint,
+or something silly like that. In any case, my prediction is that -rc0
+would look like what 'next' tonight looks like, nothing more, not much
+less (I'd probably drop jc/blame).
+
----------------------------------------------------------------
[New Topics]
-* 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
+* jc/refuse-push-to-current-1.7.0 (Sat Jan 31 17:34:05 2009 -0800) 1 commit
+ - Refuse updating the current branch in a non-bare repository via
+ push
-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
+This is for 1.7.0.
-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.
+* js/maint-remote-remove-mirror (Wed Feb 4 11:06:07 2009 -0500) 2 commits
+ + builtin-remote: make rm operation safer in mirrored repository
+ + builtin-remote: make rm() use properly named variable to hold
+ return value
-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.
+* ek/maint-filter-branch-bare (Tue Feb 3 13:27:03 2009 -0500) 1 commit
+ + filter-branch: Fix fatal error on bare repositories
-* rc/http-push (Sat Jan 31 07:51:55 2009 +0800) 1 commit
- + http-push: refactor request url creation
+* tr/add-p-single (Wed Feb 4 21:12:39 2009 +0100) 2 commits
+ - add -p: print errors in separate color
+ - add -p: prompt for single characters
-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
+Will move to 'next'; it may or may not mature in time for 1.6.2.
----------------------------------------------------------------
[Stalled and may need help and prodding to go forward]
----------------------------------------------------------------
[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
+* jc/fsck (Fri Jan 30 02:44:13 2009 -0800) 5 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
-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.
+I haven't heard anything positive nor negative about this series. I think
+the tip two commits should be squashed (and perhaps the option parser
+cleaned up as suggested on the list).
-* js/valgrind (Wed Jan 21 02:36:40 2009 +0100) 2 commits
- - valgrind: ignore ldso errors
+* kb/checkout-optim (Wed Feb 4 13:53:20 2009 +0100) 8 commits
+ - lstat_cache(): print a warning if doing ping-pong between cache
+ types
+ - show_patch_diff(): remove a call to fstat()
+ - write_entry(): cleanup of some duplicated code
+ - create_directories(): remove some memcpy() and strchr() calls
+ - unlink_entry(): introduce schedule_dir_for_removal()
+ - lstat_cache(): swap func(length, string) into func(string, length)
+ - lstat_cache(): generalise longest_match_lstat_cache()
+ - lstat_cache(): small cleanup and optimisation
+
+Should be in 'next' soon.
+
+* js/valgrind (Wed Feb 4 00:26:31 2009 +0100) 8 commits
+ - test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
+ - Tests: let --valgrind imply --verbose and --tee
+ - Add a script to coalesce the valgrind outputs
+ - t/Makefile: provide a 'valgrind' target
+ - test-lib.sh: optionally output to test-results/$TEST.out, too
+ - Valgrind support: check for more than just programming errors
+ - valgrind: ignore ldso and more libz errors
- Add valgrind support in test scripts
-Dscho and Peff had further exchanges on the list; I am sort of waiting for
-the conclusion before picking any intermediate version up.
+Should be in 'next' soon.
* js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits
+ git-notes: fix printing of multi-line notes
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.
+of the structure scales well before casting it in stone, but nothing
+has happened since then.
----------------------------------------------------------------
[Graduated to "master"]
-* 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.
-
-* 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.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
-
-* 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@example.com>
- (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
- + refactor signal handling for cleanup functions
- + chain kill signals for cleanup functions
- + diff: refactor tempfile cleanup handling
- + Windows: Fix signal numbers
-
-* sp/runtime-prefix (Sun Jan 18 13:00:15 2009 +0100) 7 commits
- + Windows: Revert to default paths and convert them by
- RUNTIME_PREFIX
- + Compute prefix at runtime if RUNTIME_PREFIX is set
- + Modify setup_path() to only add git_exec_path() to PATH
- + Add calls to git_extract_argv0_path() in programs that call
- git_config_*
- + git_extract_argv0_path(): Move check for valid argv0 from caller
- to callee
- + Refactor git_set_argv0_path() to git_extract_argv0_path()
- + 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]
+* 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
* 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
+ + add -u: do not fail to resolve a path as deleted
* 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(): 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.
+----------------------------------------------------------------
+[Will merge to "master" soon]
+
+* 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 replaced the bottom one with a cheesy "if it does not look like
+utf8, give strlen back" to make the result behave sensibly for legacy
+encodings. It does improve "git blame git-stash.sh" output (especially
+if you remove .mailmap).
+
+* 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.
+
+* rc/http-push (Tue Feb 3 20:39:00 2009 +0800) 4 commits
+ + http-push: wrap signature of get_remote_object_url
+ + http-push: add back underscore separator before lock token
+ + http-push.c: get_remote_object_url() is only used under
+ USE_CURL_MULTI
+ + http-push: refactor request url creation
+
+As these are supposed to be only clean-ups without any functionality
+change, let's flush it out before 1.6.2.
+
+* jc/refuse-push-to-current (Sat Jan 31 17:34:05 2009 -0800) 1 commit
+ + 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.
+
+* 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
----------------------------------------------------------------
[On Hold]