What's cooking (2010/11 #01)

todo
Junio C Hamano 2010-11-09 11:51:36 -08:00
parent 45c52ecdbf
commit f523a49314
1 changed files with 398 additions and 279 deletions

View File

@ -1,9 +1,9 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Oct 2010, #02; Tue, 26)
X-master-at: 7ebee44167fc25b975f5543472c851ab1840af1b
X-next-at: 2d0e57103f0af55abbbd7c61b29650463c3887cc
Subject: What's cooking in git.git (Nov 2010, #01; Tue, 9)
X-master-at: 6f10c4103dc7506623f89520ad03517b40788259
X-next-at: d103166d7e9f1756878c3a913d6ffded69ea2f51

What's cooking in git.git (Oct 2010, #02; Tue, 26)
What's cooking in git.git (Nov 2010, #01; Tue, 9)
--------------------------------------------------

Here are the topics that have been cooking. Commits prefixed with '-' are
@ -21,196 +21,198 @@ been cooking for a very long time are long overdue.
--------------------------------------------------
[New Topics]

* ao/send-email-irt (2010-10-19) 7 commits
- t9001: send-email interation with --in-reply-to and --chain-reply-to
- t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To'
- Clarify and extend the "git diff" format documentation
- git-show-ref.txt: clarify the pattern matching
- documentation: git-config minor cleanups
- Update test script annotate-tests.sh to handle missing/extra authors
- {cvs,svn}import: use the new 'git read-tree --empty'
* dk/maint-blame-el (2010-05-25) 1 commit
(merged to 'next' on 2010-11-05 at 8456c66)
+ git-blame.el: Add (require 'format-spec)

* ef/mingw-daemon (2010-11-04) 16 commits
- daemon: opt-out on features that require posix
- daemon: make --inetd and --detach incompatible
- daemon: use socklen_t
- mingw: use poll-emulation from gnulib
- mingw: import poll-emulation from gnulib
- daemon: get remote host address from root-process
- Improve the mingw getaddrinfo stub to handle more use cases
- daemon: use full buffered mode for stderr
- daemon: use run-command api for async serving
- mingw: add kill emulation
- mingw: support waitpid with pid > 0 and WNOHANG
- mingw: use real pid
- inet_ntop: fix a couple of old-style decls
- compat: add inet_pton and inet_ntop prototypes
- mingw: implement syslog
- mingw: add network-wrappers for daemon

Will merge to 'next'.

* jc/abbrev-guard (2010-10-28) 1 commit
- core.abbrevguard: Ensure short object names stay unique a bit longer

* jc/emfile (2010-10-28) 2 commits
- A loose object is not corrupt if it cannot be read due to EMFILE
- read_sha1_file(): report correct name of packfile with a corrupt object
(this branch is used by sp/emfile.)

Will merge to 'next'.

* sp/emfile (2010-11-01) 2 commits
- Work around EMFILE when there are too many pack files
- Use git_open_noatime when accessing pack data
(this branch uses jc/emfile.)

Will merge to 'next', but might want to restructure the API a bit.

* jh/gitweb-caching (2010-11-01) 4 commits
- gitweb: Minimal testing of gitweb caching
- gitweb: File based caching layer (from git.kernel.org)
- gitweb: add output buffering and associated functions
- gitweb: Prepare for splitting gitweb
(this branch uses jn/gitweb-test.)

* jk/maint-apply-no-binary (2010-10-18) 1 commit
(merged to 'next' on 2010-11-05 at 8b7543a)
+ apply: don't segfault on binary files with missing data

* jl/add-p-reverse-message (2010-10-27) 1 commit
- Correct help blurb in checkout -p and friends

Looked Ok; will merge to 'next' soonish.

* jl/clone-recurse-sm-synonym (2010-11-04) 1 commit
- clone: Add the --recurse-submodules option as alias for --recursive

Looked Ok; will merge to 'next' soonish.

* jl/maint-pull-tags-doc (2010-11-03) 1 commit
(merged to 'next' on 2010-11-05 at 861d16a)
+ pull: Remove --tags option from manpage

* jn/cherry-pick-refresh-index (2010-10-31) 1 commit
- cherry-pick/revert: transparently refresh index

Looked Ok; will merge to 'next' soonish.

* jn/parse-options-extra (2010-10-24) 4 commits
- update-index: migrate to parse-options API
- setup: save prefix (original cwd relative to toplevel) in startup_info
- parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION
- parse-options: allow git commands to invent new option types

Looked Ok; will merge to 'next' soonish.

* kb/maint-submodule-savearg (2010-11-02) 2 commits
(merged to 'next' on 2010-11-05 at 10e1aeb)
+ submodule: only preserve flags across recursive status/update invocations
+ submodule: preserve all arguments exactly when recursing

* md/interix (2010-10-27) 2 commits
- Interix: add configure checks
- add support for the SUA layer (interix; windows)

Looked Ok, in the sense that I do not think it will negatively affect
other platforms. Will merge to 'next' soonish.

* mm/phrase-remote-tracking (2010-11-02) 10 commits
- git-branch.txt: mention --set-upstream as a way to change upstream configuration
- user-manual: remote-tracking can be checked out, with detached HEAD
- user-manual.txt: explain better the remote(-tracking) branch terms
- Change incorrect "remote branch" to "remote tracking branch" in C code
- Change incorrect uses of "remote branch" meaning "remote-tracking"
- Change "tracking branch" to "remote-tracking branch"
- everyday.txt: change "tracking branch" to "remote-tracking branch"
- Change remote tracking to remote-tracking in non-trivial places
- Replace "remote tracking" with "remote-tracking"
- Better "Changed but not updated" message in git-status

Is everybody happy with this round? I'd prefer to merge it to 'next' or
even 'master' and have further polishing be done, if necessary, in-tree.

* nd/setup (2010-11-08) 44 commits
- t1020-subdirectory: test alias expansion in a subdirectory
- Remove all logic from get_git_work_tree()
- setup: rework setup_explicit_git_dir()
- setup: clean up setup_discovered_git_dir()
- setup: clean up setup_bare_git_dir()
- setup: limit get_git_work_tree()'s to explicit setup case only
- Use git_config_early() instead of git_config() during repo setup
- Add git_config_early()
- rev-parse: prints --git-dir relative to user's cwd
- git-rev-parse.txt: clarify --git-dir
- t1510: setup case #31
- t1510: setup case #30
- t1510: setup case #29
- t1510: setup case #28
- t1510: setup case #27
- t1510: setup case #26
- t1510: setup case #25
- t1510: setup case #24
- t1510: setup case #23
- t1510: setup case #22
- t1510: setup case #21
- t1510: setup case #20
- t1510: setup case #19
- t1510: setup case #18
- t1510: setup case #17
- t1510: setup case #16
- t1510: setup case #15
- t1510: setup case #14
- t1510: setup case #13
- t1510: setup case #12
- t1510: setup case #11
- t1510: setup case #10
- t1510: setup case #9
- t1510: setup case #8
- t1510: setup case #7
- t1510: setup case #6
- t1510: setup case #5
- t1510: setup case #4
- t1510: setup case #3
- t1510: setup case #2
- t1510: setup case #1
- t1510: setup case #0
- Add t1510 and basic rules that run repo setup
- builtins: print setup info if repo is found

* rr/needs-clean-work-tree (2010-10-19) 1 commit
- Porcelain scripts: Rewrite cryptic "needs update" error message

Looked Ok, will merge to 'next' soonish.

* sn/diff-doc (2010-11-04) 3 commits
- docs: clarify git diff modes of operation
- diff,difftool: Don't use the {0,2} notation in usage strings
- CodingGuidelines: Add a section on writing documentation

* tr/config-doc (2010-10-24) 2 commits
. Documentation: complete config list from other manpages
. Documentation: Move variables from config.txt to separate file

This unfortunately heavily conflicts with patches in flight...

* kb/maint-rebase-autosquash (2010-11-04) 2 commits
- rebase: teach --autosquash to match on sha1 in addition to message
- rebase: better rearranging of fixup!/squash! lines with --autosquash

* kb/maint-status-cquote (2010-11-08) 1 commit
- status: Quote paths with spaces in short format

* mg/maint-tag-rfc1991 (2010-11-06) 5 commits
- tag: recognize rfc1991 signatures
- tag: factor out sig detection for tag display
- tag: factor out sig detection for body edits
- verify-tag: factor out signature detection
- t/t7004-tag: test handling of rfc1991 signatures

--------------------------------------------------
[Graduated to "master"]

* aw/git-p4-deletion (2010-10-22) 1 commit
(merged to 'next' on 2010-10-26 at 5847c40)
+ Fix handling of git-p4 on deleted files

* bg/maint-gitweb-test-lib (2010-10-20) 1 commit
- t/gitweb-lib: Don't pass constant to decode_utf8

* cm/diff-check-at-eol (2010-10-10) 1 commit
- diff --check: correct line numbers of new blank lines at EOF

* fc/apply-p2-get-header-name (2010-10-21) 3 commits
- test: git-apply -p2 rename/chmod only
- fixup! Fix git-apply with
- Fix git-apply with -p greater than 1

* jk/add-e-doc (2010-10-21) 1 commit
- docs: give more hints about how "add -e" works

* jk/diff-CBM (2010-10-21) 1 commit
- diff: report bogus input to -C/-M/-B

* jk/missing-config (2010-10-21) 1 commit
- config: treat non-existent config files as empty

* jn/fast-import-fix (2010-10-20) 4 commits
- fast-import: do not clear notes in do_change_note_fanout()
- t9300 (fast-import): another test for the "replace root" feature
- fast-import: tighten M 040000 syntax
- fast-import: filemodify after M 040000 <tree> "" crashes

* jn/git-cmd-h-bypass-setup (2010-10-22) 7 commits
- update-index -h: show usage even with corrupt index
- merge -h: show usage even with corrupt index
- ls-files -h: show usage even with corrupt index
- gc -h: show usage even with broken configuration
- commit/status -h: show usage even with broken configuration
- checkout-index -h: show usage even in an invalid repository
- branch -h: show usage even in an invalid repository
(this branch uses en/and-cascade-tests.)

* kb/blame-author-email (2010-10-15) 1 commit
- blame: Add option to show author email instead of name

* kb/maint-diff-ws-check (2010-10-20) 2 commits
- diff: handle lines containing only whitespace and tabs better
- test-lib: extend test_decode_color to handle more color codes

* mg/make-prove (2010-10-14) 1 commit
- test: allow running the tests under "prove"

* np/diff-in-corrupt-repository (2010-10-22) 1 commit
- diff: don't presume empty file when corresponding object is missing

* np/pack-broken-boundary (2010-10-22) 1 commit
- make pack-objects a bit more resilient to repo corruption

* tr/maint-git-repack-tmpfile (2010-10-19) 1 commit
- repack: place temporary packs under .git/objects/pack/

* tr/maint-merge-file-subdir (2010-10-17) 2 commits
- merge-file: correctly find files when called in subdir
- prefix_filename(): safely handle the case where pfx_len=0

--------------------------------------------------
[Graduated to "master"]

* ab/require-perl-5.8 (2010-09-24) 2 commits
(merged to 'next' on 2010-09-27 at 1fcdd3c)
+ perl: use "use warnings" instead of -w
+ perl: bump the required Perl version to 5.8 from 5.6.[21]

* ab/send-email-perl (2010-09-30) 16 commits
(merged to 'next' on 2010-09-30 at cf8e58e)
+ send-email: extract_valid_address use qr// regexes
+ send-email: is_rfc2047_quoted use qr// regexes
+ send-email: use Perl idioms in while loop
+ send-email: make_message_id use "require" instead of "use"
+ send-email: send_message die on $!, not $?
+ send-email: use (?:) instead of () if no match variables are needed
+ send-email: sanitize_address use qq["foo"], not "\"foo\""
+ send-email: sanitize_address use $foo, not "$foo"
+ send-email: use \E***\Q instead of \*\*\*
+ send-email: cleanup_compose_files doesn't need a prototype
+ send-email: unique_email_list doesn't need a prototype
+ send-email: file_declares_8bit_cte doesn't need a prototype
+ send-email: get_patch_subject doesn't need a prototype
+ send-email: use lexical filehandles during sending
+ send-email: use lexical filehandles for $compose
+ send-email: use lexical filehandle for opendir

* as/daemon-multi-listen (2010-08-30) 2 commits
(merged to 'next' on 2010-09-30 at 8083bf4)
+ daemon: allow more than one host address given via --listen
+ daemon: add helper function named_sock_setup

* dm/mergetool-vimdiff (2010-09-27) 3 commits
(merged to 'next' on 2010-09-29 at c8e22ea)
+ mergetool-lib: make the three-way diff the default for vim/gvim
(merged to 'next' on 2010-09-22 at 12f7559)
+ mergetool-lib: add a three-way diff view for vim/gvim
+ mergetool-lib: combine vimdiff and gvimdiff run blocks

* en/tree-walk-optim (2010-08-26) 4 commits
(merged to 'next' on 2010-09-22 at 0601f1b)
+ diff_tree(): Skip skip_uninteresting() when all remaining paths interesting
+ tree_entry_interesting(): Make return value more specific
+ tree-walk: Correct bitrotted comment about tree_entry()
+ Document pre-condition for tree_entry_interesting

* jf/merge-ignore-ws (2010-08-26) 4 commits
(merged to 'next' on 2010-09-22 at 5161fb8)
+ merge-recursive: options to ignore whitespace changes
+ merge-recursive --patience
+ ll-merge: replace flag argument with options struct
+ merge-recursive: expose merge options for builtin merge
(this branch is used by kb/merge-recursive-rename-threshold.)

Possibly one of the star features of the coming release.

* jp/send-email-to-cmd (2010-09-24) 1 commit
(merged to 'next' on 2010-09-30 at 4284ddb)
+ git-send-email.perl: Add --to-cmd

* kb/merge-recursive-rename-threshold (2010-09-27) 2 commits
(merged to 'next' on 2010-09-30 at 4f33817)
+ diff: add synonyms for -M, -C, -B
+ merge-recursive: option to specify rename threshold
(this branch uses jf/merge-ignore-ws.)

* kf/post-receive-sample-hook (2010-09-10) 1 commit
(merged to 'next' on 2010-09-22 at db674a3)
+ post-receive-email: ensure sent messages are not empty

I notice that it uses "PAGER= generate_email" where generate_email is a
shell function, which may break in some implementations of POSIX /bin/sh.
This is not a regression (the original also had the same issue), but
somebody who cares enough might want to look into it.

* mg/fix-build-remote-helpers (2010-09-17) 1 commit
(merged to 'next' on 2010-09-30 at 0583d5f)
+ remote-helpers: build in platform independent directory

* ml/completion-zsh (2010-09-06) 1 commit
(merged to 'next' on 2010-09-22 at d62d10e)
+ completion: make compatible with zsh

Reported as breaking people with "set -u".

* po/sendemail (2010-09-06) 3 commits
(merged to 'next' on 2010-09-22 at 1105f62)
+ New send-email option smtpserveroption.
+ Remove @smtp_host_parts variable as not used.
+ Minor indentation fix.

* sb/send-email-use-to-from-input (2010-10-04) 2 commits
(merged to 'next' on 2010-10-06 at 5e9cb61)
+ send-email: Don't leak To: headers between patches
(merged to 'next' on 2010-09-30 at 513b6f1)
+ send-email: Use To: headers in patch files

* sn/doc-opt-notation (2010-10-08) 6 commits
(merged to 'next' on 2010-10-13 at 53ea256)
+ Fix {update,checkout}-index usage strings
+ Put a space between `<' and argument in pack-objects usage string
+ Remove stray quotes in --pretty and --format documentation
+ Use parentheses and `...' where appropriate
+ Fix odd markup in --diff-filter documentation
+ Use angles for placeholders consistently

--------------------------------------------------
[Stalled]

* yd/dir-rename (2010-10-15) 5 commits
. Allow hiding renames of individual files involved in a directory rename.
. Consider all parents of a file as candidates for bulk rename.
. Handle the simpler case of a subdir invalidating bulk move.
. Add testcases for the --detect-bulk-moves diffcore flag.
. Introduce bulk-move detection in diffcore.

Need to replace this with a rerolled one posted recently.

* nd/index-doc (2010-09-06) 1 commit
- doc: technical details about the index file format

@ -241,78 +243,180 @@ current usage context.
--------------------------------------------------
[Cooking]

* ao/send-email-irt (2010-10-19) 1 commit
(merged to 'next' on 2010-11-08 at d103166)
+ t9001: send-email interation with --in-reply-to and --chain-reply-to

* bg/maint-gitweb-test-lib (2010-10-20) 1 commit
(merged to 'next' on 2010-11-05 at 0ead869)
+ t/gitweb-lib: Don't pass constant to decode_utf8

* cm/diff-check-at-eol (2010-10-10) 1 commit
- diff --check: correct line numbers of new blank lines at EOF

Looked Ok; will merge to 'next' soonish.

* fc/apply-p2-get-header-name (2010-10-21) 2 commits
- test: git-apply -p2 rename/chmod only
- Fix git-apply with -p greater than 1

Looked Ok; will merge to 'next' soonish.

* jk/add-e-doc (2010-10-21) 1 commit
(merged to 'next' on 2010-11-05 at 389fee7)
+ docs: give more hints about how "add -e" works

* jk/diff-CBM (2010-10-21) 1 commit
(merged to 'next' on 2010-11-05 at 9d1ec14)
+ diff: report bogus input to -C/-M/-B

* jk/missing-config (2010-10-21) 1 commit
(merged to 'next' on 2010-11-05 at 31fda69)
+ config: treat non-existent config files as empty

* jn/fast-import-fix (2010-10-20) 4 commits
- fast-import: do not clear notes in do_change_note_fanout()
- t9300 (fast-import): another test for the "replace root" feature
- fast-import: tighten M 040000 syntax
- fast-import: filemodify after M 040000 <tree> "" crashes

Looked Ok; will merge to 'next' soonish.

* jn/git-cmd-h-bypass-setup (2010-10-22) 7 commits
- update-index -h: show usage even with corrupt index
- merge -h: show usage even with corrupt index
- ls-files -h: show usage even with corrupt index
- gc -h: show usage even with broken configuration
- commit/status -h: show usage even with broken configuration
- checkout-index -h: show usage even in an invalid repository
- branch -h: show usage even in an invalid repository
(this branch uses en/and-cascade-tests.)

* kb/blame-author-email (2010-10-15) 1 commit
- blame: Add option to show author email instead of name

Looked Ok; will merge to 'next' soonish.

* kb/maint-diff-ws-check (2010-10-20) 2 commits
(merged to 'next' on 2010-11-05 at 861b5ac)
+ diff: handle lines containing only whitespace and tabs better
+ test-lib: extend test_decode_color to handle more color codes

* mg/make-prove (2010-10-14) 1 commit
(merged to 'next' on 2010-11-05 at ec4f806)
+ test: allow running the tests under "prove"

* np/diff-in-corrupt-repository (2010-10-22) 1 commit
- diff: don't presume empty file when corresponding object is missing

Looked Ok; will merge to 'next' soonish.

* np/pack-broken-boundary (2010-10-22) 1 commit
- make pack-objects a bit more resilient to repo corruption

Looked Ok; will merge to 'next' soonish.

* tr/maint-git-repack-tmpfile (2010-10-19) 1 commit
(merged to 'next' on 2010-11-05 at 80ad03a)
+ repack: place temporary packs under .git/objects/pack/

* tr/maint-merge-file-subdir (2010-10-17) 2 commits
(merged to 'next' on 2010-11-05 at a2873a4)
+ merge-file: correctly find files when called in subdir
+ prefix_filename(): safely handle the case where pfx_len=0

* yd/dir-rename (2010-10-29) 5 commits
- Allow hiding renames of individual files involved in a directory rename.
- Unified diff output format for bulk moves.
- Add testcases for the --detect-bulk-moves diffcore flag.
- Raw diff output format for bulk moves.
- Introduce bulk-move detection in diffcore.

* cb/diff-fname-optim (2010-09-26) 3 commits
- diff: avoid repeated scanning while looking for funcname
- do not search functions for patch ID
- add rebase patch id tests
(merged to 'next' on 2010-11-05 at b3b09f3)
+ diff: avoid repeated scanning while looking for funcname
+ do not search functions for patch ID
+ add rebase patch id tests

* en/merge-recursive (2010-10-21) 39 commits
- merge-recursive:make_room_for_directories - work around dumb compilers
- merge-recursive: Remove redundant path clearing for D/F conflicts
- merge-recursive: Make room for directories in D/F conflicts
- handle_delete_modify(): Check whether D/F conflicts are still present
- merge_content(): Check whether D/F conflicts are still present
- conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
- conflict_rename_delete(): Check whether D/F conflicts are still present
- merge-recursive: Delay modify/delete conflicts if D/F conflict present
- merge-recursive: Delay content merging for renames
- merge-recursive: Delay handling of rename/delete conflicts
- merge-recursive: Move handling of double rename of one file to other file
- merge-recursive: Move handling of double rename of one file to two
- merge-recursive: Avoid doubly merging rename/add conflict contents
- merge-recursive: Update merge_content() call signature
- merge-recursive: Update conflict_rename_rename_1to2() call signature
- merge-recursive: Structure process_df_entry() to handle more cases
- merge-recursive: Have process_entry() skip D/F or rename entries
- merge-recursive: New function to assist resolving renames in-core only
- merge-recursive: New data structures for deferring of D/F conflicts
- merge-recursive: Move process_entry's content merging into a function
- merge-recursive: Move delete/modify handling into dedicated function
- merge-recursive: Move rename/delete handling into dedicated function
- merge-recursive: Nuke rename/directory conflict detection
- merge-recursive: Rename conflict_rename_rename*() for clarity
- merge-recursive: Small code clarification -- variable name and comments
- t6036: Add testcase for undetected conflict
- t6036: Add a second testcase similar to the first but with content changes
- t6036: Test index and worktree state, not just that merge fails
- t6020: Add a testcase for modify/delete + directory/file conflict
- t6020: Modernize style a bit
- t6022: Add tests for rename/rename combined with D/F conflicts
- t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two)
- t6022: Add tests with both rename source & dest involved in D/F conflicts
- t6022: Add tests for reversing order of merges when D/F conflicts present
- t6022: Add test combinations of {content conflict?, D/F conflict remains?}
- t6032: Add a test checking for excessive output from merge
- merge-recursive: Restructure showing how to chain more process_* functions
- t3030: Add a testcase for resolvable rename/add conflict with symlinks
- Merge branch 'en/rename-d-f' into en/merge-recursive
(merged to 'next' on 2010-11-05 at 16902eb)
+ merge-recursive:make_room_for_directories - work around dumb compilers
+ merge-recursive: Remove redundant path clearing for D/F conflicts
+ merge-recursive: Make room for directories in D/F conflicts
+ handle_delete_modify(): Check whether D/F conflicts are still present
+ merge_content(): Check whether D/F conflicts are still present
+ conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
+ conflict_rename_delete(): Check whether D/F conflicts are still present
+ merge-recursive: Delay modify/delete conflicts if D/F conflict present
+ merge-recursive: Delay content merging for renames
+ merge-recursive: Delay handling of rename/delete conflicts
+ merge-recursive: Move handling of double rename of one file to other file
+ merge-recursive: Move handling of double rename of one file to two
+ merge-recursive: Avoid doubly merging rename/add conflict contents
+ merge-recursive: Update merge_content() call signature
+ merge-recursive: Update conflict_rename_rename_1to2() call signature
+ merge-recursive: Structure process_df_entry() to handle more cases
+ merge-recursive: Have process_entry() skip D/F or rename entries
+ merge-recursive: New function to assist resolving renames in-core only
+ merge-recursive: New data structures for deferring of D/F conflicts
+ merge-recursive: Move process_entry's content merging into a function
+ merge-recursive: Move delete/modify handling into dedicated function
+ merge-recursive: Move rename/delete handling into dedicated function
+ merge-recursive: Nuke rename/directory conflict detection
+ merge-recursive: Rename conflict_rename_rename*() for clarity
+ merge-recursive: Small code clarification -- variable name and comments
+ t6036: Add testcase for undetected conflict
+ t6036: Add a second testcase similar to the first but with content changes
+ t6036: Test index and worktree state, not just that merge fails
+ t6020: Add a testcase for modify/delete + directory/file conflict
+ t6020: Modernize style a bit
+ t6022: Add tests for rename/rename combined with D/F conflicts
+ t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two)
+ t6022: Add tests with both rename source & dest involved in D/F conflicts
+ t6022: Add tests for reversing order of merges when D/F conflicts present
+ t6022: Add test combinations of {content conflict?, D/F conflict remains?}
+ t6032: Add a test checking for excessive output from merge
+ merge-recursive: Restructure showing how to chain more process_* functions
+ t3030: Add a testcase for resolvable rename/add conflict with symlinks
+ Merge branch 'en/rename-d-f' into en/merge-recursive
(this branch uses en/rename-d-f.)

* il/remote-fd-ext (2010-10-12) 3 commits
- git-remote-ext
- git-remote-fd
- Add bidirectional_transfer_loop()
(merged to 'next' on 2010-11-05 at 7413413)
+ git-remote-ext
+ git-remote-fd
+ Add bidirectional_transfer_loop()

* jn/gitweb-test (2010-09-26) 4 commits
- gitweb/Makefile: Include gitweb/config.mak
- gitweb/Makefile: Add 'test' and 'test-installed' targets
- t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
- gitweb: Move call to evaluate_git_version after evaluate_gitweb_config
(merged to 'next' on 2010-11-05 at 90b3adf)
+ gitweb/Makefile: Include gitweb/config.mak
+ gitweb/Makefile: Add 'test' and 'test-installed' targets
+ t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
+ gitweb: Move call to evaluate_git_version after evaluate_gitweb_config
(this branch is used by jh/gitweb-caching.)

* ak/apply-non-git-epoch (2010-09-29) 1 commit
- apply: Recognize epoch timestamps with : in the timezone

Looked Ok; will merge to 'next' soonish.

* ak/submodule-sync (2010-10-08) 1 commit
- submodule sync: Update "submodule.<name>.url" for empty directories
(merged to 'next' on 2010-11-05 at 5a2f940)
+ submodule sync: Update "submodule.<name>.url" for empty directories

* cb/leading-path-removal (2010-10-09) 5 commits
- do not overwrite files in leading path
- lstat_cache: optionally return match_len
- add function check_ok_to_remove()
- t7607: add leading-path tests
- t7607: use test-lib functions and check MERGE_HEAD
(merged to 'next' on 2010-11-05 at 55ea322)
+ do not overwrite files in leading path
+ lstat_cache: optionally return match_len
+ add function check_ok_to_remove()
+ t7607: add leading-path tests
+ t7607: use test-lib functions and check MERGE_HEAD

* jh/notes-merge (2010-10-21) 21 commits
* jh/notes-merge (2010-10-29) 25 commits
- portability fix for c8af1a3b2f
- notes-merge series: fixup minor style issues
- Provide 'git merge --abort' as a synonym to 'git reset --merge'
- cmd_merge(): Parse options before checking MERGE_HEAD
- Provide 'git notes get-ref' to easily retrieve current notes ref
- git notes merge: Add testcases for merging notes trees at different fanouts
- git notes merge: Add another auto-resolving strategy: "cat_sort_uniq"
@ -329,58 +433,63 @@ current usage context.
- notes.c: Use two newlines (instead of one) when concatenating notes
- (trivial) t3303: Indent with tabs instead of spaces for consistency
- notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond
- notes.h/c: Clarify the handling of notes objects that are == null_sha1
- notes.h/c: Allow combine_notes functions to remove notes
- notes.c: Reorder functions in preparation for next commit
- notes.h: Make default_notes_ref() available in notes API
- (trivial) notes.h: Minor documentation fixes to copy_notes()
- notes.c: Hexify SHA1 in die() message from init_notes()

Still in flux?

* jk/maint-rev-list-nul (2010-10-07) 1 commit
- rev-list: handle %x00 NUL in user format
(merged to 'next' on 2010-11-05 at 406cba1)
+ rev-list: handle %x00 NUL in user format

* jk/push-progress (2010-10-17) 8 commits
- push: pass --progress down to git-pack-objects
- t5523-push-upstream: test progress messages
- t5523-push-upstream: add function to ensure fresh upstream repo
- test_terminal: ensure redirections work reliably
- test_terminal: catch use without TTY prerequisite
- test-lib: allow test code to check the list of declared prerequisites
- tests: test terminal output to both stdout and stderr
- tests: factor out terminal handling from t7006
(merged to 'next' on 2010-11-05 at 9207c6d)
+ push: pass --progress down to git-pack-objects
+ t5523-push-upstream: test progress messages
+ t5523-push-upstream: add function to ensure fresh upstream repo
+ test_terminal: ensure redirections work reliably
+ test_terminal: catch use without TTY prerequisite
+ test-lib: allow test code to check the list of declared prerequisites
+ tests: test terminal output to both stdout and stderr
+ tests: factor out terminal handling from t7006

* jm/mailmap (2010-10-19) 3 commits
- t4203: do not let "git shortlog" DWIM based on tty
- t4203 (mailmap): stop hardcoding commit ids and dates
- mailmap: fix use of freed memory

The new test seems to make t4203 break intermittently.
(merged to 'next' on 2010-11-05 at ef1e754)
+ t4203: do not let "git shortlog" DWIM based on tty
+ t4203 (mailmap): stop hardcoding commit ids and dates
+ mailmap: fix use of freed memory

* jn/send-pack-error (2010-10-16) 1 commit
- send-pack: avoid redundant "pack-objects died with strange error"
(merged to 'next' on 2010-11-05 at ef559d4)
+ send-pack: avoid redundant "pack-objects died with strange error"

* kb/completion-checkout (2010-10-12) 1 commit
- completion: Support the DWIM mode for git checkout
(merged to 'next' on 2010-11-05 at 6836d70)
+ completion: Support the DWIM mode for git checkout

* pn/commit-autosquash (2010-10-07) 8 commits
* pn/commit-autosquash (2010-11-02) 6 commits
- add tests of commit --squash
- commit: --squash option for use with rebase --autosquash
- add tests of commit --fixup
- commit: --fixup option for use with rebase --autosquash
- pretty.c: teach format_commit_message() to reencode the output
- pretty.c: helper methods for getting output encodings
- commit.c: new function for looking up a comit by name
- commit.c: prefer get_header() to manual searching
- commit: helper methods to reduce redundant blocks of code

* sg/bisect (2010-10-10) 3 commits
- bisect: check for mandatory argument of 'bisect replay'
- bisect: improve error msg of 'bisect reset' when original HEAD is deleted
- bisect: improve error message of 'bisect log' while not bisecting
(merged to 'next' on 2010-11-05 at 4a8b88d)
+ bisect: check for mandatory argument of 'bisect replay'
+ bisect: improve error msg of 'bisect reset' when original HEAD is deleted
+ bisect: improve error message of 'bisect log' while not bisecting

* sg/completion (2010-10-11) 4 commits
- bash: support pretty format aliases
- bash: support more 'git notes' subcommands and their options
- bash: not all 'git bisect' subcommands make sense when not bisecting
- bash: offer refs for 'git bisect start'
(merged to 'next' on 2010-11-05 at 4967932)
+ bash: support pretty format aliases
+ bash: support more 'git notes' subcommands and their options
+ bash: not all 'git bisect' subcommands make sense when not bisecting
+ bash: offer refs for 'git bisect start'

* jj/icase-directory (2010-10-03) 8 commits
- Support case folding in git fast-import when core.ignorecase=true
@ -409,13 +518,15 @@ The new test seems to make t4203 break intermittently.
(this branch is used by jn/git-cmd-h-bypass-setup.)

* jk/no-textconv-symlink (2010-09-21) 1 commit
- diff: don't use pathname-based diff drivers for symlinks
(merged to 'next' on 2010-11-05 at 0a99e75)
+ diff: don't use pathname-based diff drivers for symlinks
(this branch is used by ks/no-textconv-symlink.)

* ks/no-textconv-symlink (2010-09-29) 3 commits
- blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
- blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
- blame,cat-file: Prepare --textconv tests for correctly-failing conversion program
(merged to 'next' on 2010-11-05 at 32f0580)
+ blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
+ blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
+ blame,cat-file: Prepare --textconv tests for correctly-failing conversion program
(this branch uses jk/no-textconv-symlink.)

* nd/struct-pathspec (2010-09-20) 5 commits
@ -426,6 +537,9 @@ The new test seems to make t4203 break intermittently.
- pathspec: mark wildcard pathspecs from the beginning
(this branch uses en/object-list-with-pathspec.)

This is related to something I have long been wanting to see happen. Will
give it another look and merge to 'next'.

* en/object-list-with-pathspec (2010-09-20) 8 commits
- Add testcases showing how pathspecs are handled with rev-list --objects
- Make rev-list --objects work together with pathspecs
@ -440,9 +554,11 @@ The new test seems to make t4203 break intermittently.
* tc/smart-http-post-redirect (2010-09-25) 1 commit
- smart-http: Don't change POST to GET when following redirect

Will merge to 'next' to see what happens.

* en/rename-d-f (2010-09-08) 2 commits
- merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir
- t3509: Add rename + D/F conflict testcase that recursive strategy fails
+ merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir
+ t3509: Add rename + D/F conflict testcase that recursive strategy fails
(this branch is used by en/merge-recursive.)

* jl/fetch-submodule-recursive (2010-09-19) 4 commits
@ -451,12 +567,11 @@ The new test seems to make t4203 break intermittently.
- Submodules: Add the new "fetch" config option for fetch and pull
- fetch/pull: Recursively fetch populated submodules

I haven't picked up the rerolled one yet.

* tr/merge-unborn-clobber (2010-08-22) 1 commit
- Exhibit merge bug that clobbers index&WT

* ab/i18n (2010-09-12) 160 commits
* ab/i18n (2010-10-07) 161 commits
- po/de.po: complete German translation
- po/sv.po: add Swedish translation
- gettextize: git-bisect bisect_next_check "You need to" message
- gettextize: git-bisect [Y/n] messages
@ -617,3 +732,7 @@ I haven't picked up the rerolled one yet.
- builtin: use builtin.h for all builtin commands
- tests: use test_cmp instead of piping to diff(1)
- t7004-tag.sh: re-arrange git tag comment for clarity

Will merge to 'next' to see what happens; it is getting ridiculously
painful to keep re-resolving the conflicts with other topics in flight,
even with the help with rerere.