]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2012/08 #08)
authorJunio C Hamano <gitster@pobox.com>
Tue, 28 Aug 2012 01:51:59 +0000 (18:51 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 28 Aug 2012 01:51:59 +0000 (18:51 -0700)
whats-cooking.txt

index c851eed0fa764b849fb6da76804b84bb281d22b7..2442d2b2f0de9068b2262c1937415b077937ecd5 100644 (file)
@@ -1,20 +1,20 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Aug 2012, #07; Wed, 22)
-X-master-at: 851f7e689efa034701bf41c3be06c927480eaae9
-X-next-at: ff27e03d9aa951d799461ff03a3f103000d7ce88
+Subject: What's cooking in git.git (Aug 2012, #08; Mon, 27)
+X-master-at: 31e0100e89c3f7c05bd7fdf54e084b2039d398ec
+X-next-at: 32a1b722418b8b32eafe3b98d890fa239ec128f8
 
-What's cooking in git.git (Aug 2012, #07; Wed, 22)
+What's cooking in git.git (Aug 2012, #08; Mon, 27)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with '-' are
 only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.
 
-As promised (threatened ;-), the first batch of topics for the next
-release are now part of 'master'.  They are mostly innocuous
-documentation updates, test clean-ups, and all should eventually go
-to the maintenance track.  The update to git-svn to make it work
-better with subversion 1.7 is also included.
+New topics started to flow in at the pace a bit faster than
+reviewers give comments on them.  I've merged half of the second
+batch of topics to 'master', and will do the remainder later this
+week. They are a bit more substantial changes than the first batch
+we merged earlier.
 
 I'm planning to keep this cycle reasonably short and aim for tagging
 the result as 1.8.0 at the end of 9th week, on October 21st, after
@@ -27,207 +27,287 @@ repositories listed at
     http://git-blame.blogspot.com/p/git-public-repositories.html
 
 --------------------------------------------------
-[New Topics]
+[Graduated to "master"]
 
-* er/doc-fast-import-done (2012-08-22) 1 commit
- - fast-import: document the --done option
+* ab/diff-write-incomplete-line (2012-08-05) 1 commit
+  (merged to 'next' on 2012-08-20 at e28b804)
+ + Fix '\ No newline...' annotation in rewrite diffs
 
-Parked in 'pu' in case ESR responds with "Sorry, forgot to sign-off".
+(Originally merged to 'next' on 2012-08-07)
 
-* nd/am-i18n-fix (2012-08-22) 1 commit
- - am: quote string for translation before passing to eval_gettextln
+The output from "git diff -B" for a file that ends with an
+incomplete line did not put "\ No newline..." on a line of its own.
 
-"git am" wasn't marked up for i18n properly.
-Will merge to 'next', and eventually to maint-1.7.11 track.
+* bc/receive-pack-stdout-protection (2012-08-06) 2 commits
+  (merged to 'next' on 2012-08-20 at b1b0d18)
+ + receive-pack: do not leak output from auto-gc to standard output
+ + t/t5400: demonstrate breakage caused by informational message from prune
 
---------------------------------------------------
-[Graduated to "master"]
+(Originally merged to 'next' on 2012-08-07)
 
-* hv/coding-guidelines (2012-08-15) 1 commit
-  (merged to 'next' on 2012-08-20 at 4984865)
- + Documentation/CodingGuidelines: spell out more shell guidelines
+When "git push" triggered the automatic gc on the receiving end, a
+message from "git prune" that said it was removing cruft leaked to
+the standard output, breaking the communication protocol.
 
-(Originally merged to 'next' on 2012-08-18)
+* da/difftool-updates (2012-08-21) 13 commits
+  (merged to 'next' on 2012-08-21 at 332afe4)
+ + difftool: silence warning
+  (merged to 'next' on 2012-08-20 at 2fecd90)
+ + Add Code Compare v2.80.4 as a merge / diff tool for Windows
+ + mergetool,difftool: Document --tool-help consistently
+ + difftool: Disable --symlinks on cygwin
+ + difftool: Handle compare() returning -1
+ + difftool: Wrap long lines for readability
+ + difftool: Check all return codes from compare()
+ + difftool: Handle finding mergetools/ in a path with spaces
+ + difftool: Use symlinks when diffing against the worktree
+ + difftool: Call the temp directory "git-difftool"
+ + difftool: Move option values into a hash
+ + difftool: Eliminate global variables
+ + difftool: Simplify print_tool_help()
+
+(Originally merged to 'next' on 2012-08-10)
 
-In earlier days, "imitate the style in the neibouring code" was
-sufficient to keep the coherent style, but over time some parts of
-the codebase have drifted enough to make it ineffective.
+"git difftool --dir-diff" learned to use symbolic links to prepare
+temporary copy of the working tree when available.
 
-* jc/doc-git-updates (2012-08-17) 1 commit
-  (merged to 'next' on 2012-08-20 at ab1db71)
- + Documentation: update the introductory section
+* jc/maint-t7406-rev-parse-max-count-huh (2012-07-30) 1 commit
+  (merged to 'next' on 2012-08-20 at 3e2598a)
+ + t7406: fix misleading "rev-parse --max-count=1 HEAD"
 
-(Originally merged to 'next' on 2012-08-18)
+(Originally merged to 'next' on 2012-07-30)
 
-* jc/maint-abbrev-option-cli (2012-08-16) 1 commit
-  (merged to 'next' on 2012-08-20 at 54d1a5a)
- + gitcli: describe abbreviation of long options
+Test clean-up, with no behaviour change.
+
+* jk/docs-docbook-monospace-display (2012-08-07) 1 commit
+  (merged to 'next' on 2012-08-20 at 0ed30dc)
+ + docs: monospace listings in docbook output
 
 (Originally merged to 'next' on 2012-08-18)
 
-We did not document that many commands take unique prefix
-abbreviations of long options (e.g. "--option" may be the only flag
-that the command accepts that begin with "--opt", in which case you
-can give "--opt") anywhere easy to find for new people.
+The documentation in the TeXinfo format was using indented output
+for materials meant to be examples that are better typeset in
+monospace.
 
-* jc/maint-rev-list-topo-doc (2012-08-15) 1 commit
-  (merged to 'next' on 2012-08-20 at 0f669d2)
- + rev-list docs: clarify --topo-order description
+* jk/maint-diff-nul40-as-sentinel (2012-07-29) 1 commit
+ + diff: do not use null sha1 as a sentinel value
+ (this branch is used by jk/maint-null-in-trees.)
 
-(Originally merged to 'next' on 2012-08-18)
+"git diff" had a confusion between taking data from a path in the
+working tree and taking data from an object that happens to have
+name 0{40} recorded in a tree.
 
-It was unclear what "--topo-order" was really about in the
-documentation. It is not just about "children before parent", but
-also about "don't mix lineages".
+* jk/maint-null-in-trees (2012-07-29) 2 commits
+  (merged to 'next' on 2012-08-20 at 5bc2c49)
+ + fsck: detect null sha1 in tree entries
+ + do not write null sha1s to on-disk index
+ (this branch uses jk/maint-diff-nul40-as-sentinel.)
 
-* jc/tag-doc (2012-08-06) 1 commit
-  (merged to 'next' on 2012-08-20 at 9eb658e)
- + Documentation: do not mention .git/refs/* directories
+(Originally merged to 'next' on 2012-07-30)
 
-(Originally merged to 'next' on 2012-08-18)
+We do not want a link to 0{40} object stored anywhere in our objects.
+
+* js/grep-patterntype-config (2012-08-03) 1 commit
+  (merged to 'next' on 2012-08-20 at 39a0431)
+ + grep: add a grep.patternType configuration setting
+
+(Originally merged to 'next' on 2012-08-09)
 
-Our documentation used to assume having files in .git/refs/*
-directories was the only to have branches and tags, but that is not
-true for quite some time.
-
-* jc/test-prereq (2012-08-04) 8 commits
-  (merged to 'next' on 2012-08-20 at dd44c4a)
- + t3910: use the UTF8_NFD_TO_NFC test prereq
- + test-lib: provide UTF8 behaviour as a prerequisite
- + t0050: use the SYMLINKS test prereq
- + t0050: use the CASE_INSENSITIVE_FS test prereq
- + test-lib: provide case insensitivity as a prerequisite
- + test: allow prerequisite to be evaluated lazily
- + test: rename $satisfied to $satisfied_prereq
-
-(Originally merged to 'next' on 2012-08-04)
-
-Teaches the test framework to probe rarely used prerequistes lazily,
-and make use of it for detecting SYMLINKS, CASE_INSENSITIVE_FS and
-NKD/NKC MacOS x gotcha.
-
-* jk/check-docs-update (2012-08-08) 8 commits
-  (merged to 'next' on 2012-08-20 at d51021d)
- + check-docs: get documented command list from Makefile
- + check-docs: drop git-help special-case
- + check-docs: list git-gui as a command
- + check-docs: factor out command-list
- + command-list: mention git-credential-* helpers
- + command-list: add git-sh-i18n
- + check-docs: update non-command documentation list
- + check-docs: mention gitweb specially
+"grep" learned to use a non-standard pattern type by default if a
+configuration variable tells it to.
 
-(Originally merged to 'next' on 2012-08-18)
+* mm/push-default-switch-warning (2012-06-24) 1 commit
+  (merged to 'next' on 2012-08-20 at 553e6c0)
+ + push: start warning upcoming default change for push.default
 
-Simplify "make check-docs" implementation and update its coverage.
+(Originally merged to 'next' on 2012-06-26)
 
-* js/gitweb-path-info-unquote (2012-08-15) 1 commit
-  (merged to 'next' on 2012-08-20 at a4aa740)
- + gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO
+In the next major release, we will switch "git push [$there]" that
+does not say what to push from the traditional "matching" to the
+updated "simple" semantics, that pushes the current branch to the
+branch with the same name only when the current branch is set to
+integrate with that remote branch (all other cases will error out).
 
-(Originally merged to 'next' on 2012-08-15)
+--------------------------------------------------
+[New Topics]
 
-Stripping of PATH_INFO in gitweb did not take url style quoting into
-account, failing to notice directories with funny characters e.g. SP
-in their paths.
+* cn/branch-set-upstream-to (2012-08-23) 3 commits
+ - branch: deprecate --set-upstream and show help if we detect possible mistaken use
+ - branch: add --unset-upstream option
+ - branch: introduce --set-upstream-to
 
-* mk/test-seq (2012-08-04) 1 commit
-  (merged to 'next' on 2012-08-20 at c373e0e)
- + tests: Introduce test_seq
- (this branch is used by ab/diff-write-incomplete-line.)
+"git branch --set-upstream origin/master" is a common mistake to
+create a local branch 'origin/master' and set it to integrate with
+the current branch.  With a plan to deprecate this option, introduce
+"git branch (-u|--set-upstream-to) origin/master" that sets the
+current branch to integrate with 'origin/master' remote tracking
+branch.
 
-(Originally merged to 'next' on 2012-08-06)
+Wainting for a reroll
+that tightens its error checking.
 
-Add a compatibility/utility function to the test framework. 
+* jc/dotdot-is-parent-directory (2012-08-23) 1 commit
+ - specifying ranges: we did not mean to make ".." an empty set
 
-* mm/die-with-dashdash-help (2012-08-03) 1 commit
-  (merged to 'next' on 2012-08-20 at ebe0e1a)
- + setup: clarify error messages for file/revisions ambiguity
+"git log .." errored out saying it is both rev range and a path when
+there is no disambiguating "--" is on the command line.  Update the
+command line parser to interpret ".." as a path in such a case.
 
-(Originally merged to 'next' on 2012-08-09)
+Will merge to 'next'.
 
-Reword error messages.
-
-* ms/git-svn-1.7 (2012-08-02) 20 commits
-  (merged to 'next' on 2012-08-21 at ae8aff9)
- + git-svn: remove ad-hoc canonicalizations
- + git-svn: canonicalize newly-minted URLs
- + git-svn: introduce add_path_to_url function
- + git-svn: canonicalize earlier
- + git-svn: replace URL escapes with canonicalization
- + git-svn: attempt to mimic SVN 1.7 URL canonicalization
- + t9107: fix typo
- + t9118: workaround inconsistency between SVN versions
- + Git::SVN{,::Ra}: canonicalize earlier
- + git-svn: path canonicalization uses SVN API
- + Git::SVN::Utils: remove irrelevant comment
- + git-svn: add join_paths() to safely concatenate paths
- + git-svn: factor out _collapse_dotdot function
- + git-svn: use SVN 1.7 to canonicalize when possible
- + git-svn: move canonicalization to Git::SVN::Utils
- + use Git::SVN{,::RA}->url accessor globally
- + use Git::SVN->path accessor globally
- + Git::SVN::Ra: use accessor for URLs
- + Git::SVN: use accessor for URLs internally
- + Git::SVN: use accessors internally for path
-
-A series by Michael Schwern via Eric to update git-svn to revamp the
-way URLs are internally passed around, to make it work with SVN 1.7.
-
-* mv/pull-r-for-rebase (2012-08-17) 1 commit
-  (merged to 'next' on 2012-08-20 at 9743071)
- + man: git pull -r is a short for --rebase
+* jc/maint-mergetool-style-fix (2012-08-23) 1 commit
+ - mergetool: style fixes
 
-(Originally merged to 'next' on 2012-08-18)
+As the title says.
 
-A minor documentation update.
+Will merge to 'next'.
 
-* nd/index-errno (2012-08-06) 1 commit
-  (merged to 'next' on 2012-08-20 at 34076c6)
- + read_index_from: remove bogus errno assignments
+* js/compat-itimer (2012-08-24) 1 commit
+ - Support for setitimer() on platforms lacking it
 
-(Originally merged to 'next' on 2012-08-06)
+Pieces to support compilation on __TANDEM.
 
-Assignments to errno before calling system functions that used to
-matter in the old code were left behind after the code structure
-changed sufficiently to make them useless.
+* js/compat-mkdir (2012-08-24) 1 commit
+ - compat: some mkdir() do not like a slash at the end
 
-* pg/maint-apply-remove-unused-variable (2012-08-05) 1 commit
-  (merged to 'next' on 2012-08-20 at 260975b)
- + apply: delete unused deflate_origlen from patch struct
+Pieces to support compilation on __TANDEM.
 
-(Originally merged to 'next' on 2012-08-05)
+Will merge to 'next'.
 
-Remove an unused field.
+* js/no-curl-easy-strerror-on-old-curl (2012-08-23) 1 commit
+ - http.c: don't use curl_easy_strerror prior to curl-7.12.0
 
-* tr/maint-send-email-2047 (2012-07-31) 1 commit
-  (merged to 'next' on 2012-08-20 at cf5ee1c)
- + send-email: improve RFC2047 quote parsing
+Pieces to support compilation on __TANDEM.
 
-(Originally merged to 'next' on 2012-08-09)
+Will merge to 'next'.
 
-"git send-email" did not unquote encoded words that appear on the
-header correctly, and lost "_" from strings.
+* js/use-sc-open-max (2012-08-24) 1 commit
+ - sha1_file.c: introduce get_max_fd_limit() helper
 
-* tr/merge-recursive-flush (2012-08-03) 1 commit
-  (merged to 'next' on 2012-08-20 at 00aeb19)
- + merge-recursive: eliminate flush_buffer() in favor of write_in_full()
+Pieces to support compilation on __TANDEM.
 
-(Originally merged to 'next' on 2012-08-09)
+Will merge to 'next'.
 
-Remove unnecessary code.
+* ph/credential-refactor (2012-08-27) 6 commits
+ - wincred: port to generic credential helper (UNTESTED)
+ - Merge branch 'ef/win32-cred-helper' into ph/credential-refactor
+ - osxkeychain: port to generic credential helper implementation
+ - gnome-keyring: port to generic helper implementation
+ - contrib: add generic credential helper
+ - contrib: add credential helper for GnomeKeyring
+ (this branch uses ef/win32-cred-helper.)
+
+Adds a new credential helper to support Gnome keyring and attempts
+to refactor to share code among OSX keychain, Gnome keyring and
+Win32 credential helpers.
+
+Waiting for test results with the tip one
+to decide whether the series should be rerolled or reduced to only
+the first one.
+
+* jc/apply-binary-p0 (2012-08-24) 1 commit
+ - apply: compute patch->def_name correctly under -p0
+
+"git apply -p0" did not parse pathnames on "diff --git" line
+correctly.  This caused patches that had pathnames in no other
+places to be mistakenly rejected (most notably, binary patch that
+does not rename nor change mode).  Textual patches, renames or
+mode changes have preimage and postimage pathnames in different
+places in a form that can be parsed unambiguously and did not suffer
+from this problem.
 
-* tr/void-diff-setup-done (2012-08-03) 1 commit
-  (merged to 'next' on 2012-08-20 at 2f21f63)
- + diff_setup_done(): return void
+Will merge to 'next'.
 
-(Originally merged to 'next' on 2012-08-09)
+* jc/maint-doc-checkout-b-always-takes-branch-name (2012-08-26) 1 commit
+ - doc: "git checkout -b/-B/--orphan" always takes a branch name
+
+The synopsis said "checkout [-B branch]" to make it clear the branch
+name is a parameter to the option, but the heading for the option
+description was "-B::", not "-B branch::", making the documentation
+misleading.  There may be room in documentation pages of other
+commands for similar improvements (hint, hint).
+
+Will merge to 'next'.
+
+* jk/maint-http-half-auth-push (2012-08-27) 8 commits
+ - http: prompt for credentials on failed POST
+ - http: factor out http error code handling
+ - t: test http access to "half-auth" repositories
+ - t: test basic smart-http authentication
+ - t/lib-httpd: recognize */smart/* repos as smart-http
+ - t/lib-httpd: only route auth/dumb to dumb repos
+ - t5550: factor out http auth setup
+ - t5550: put auth-required repo in auth/dumb
+
+Pushing to smart HTTP server with recent Git fails without having
+the username in the URL to force authentication, if the server is
+configured to allow GET anonymously, while requiring authentication
+for POST.
+
+Will merge to 'next'.
+
+* jx/test-real-path (2012-08-27) 1 commit
+ - test: set the realpath of CWD as TRASH_DIRECTORY
+
+Running tests with the "trash" directory elsewhere with the "--root"
+option did not work well if the directory was specified by a symbolic
+link pointing at it.
+
+Waiting for a Tested-by.
+
+* mh/fetch-filter-refs (2012-08-26) 17 commits
+ - filter_refs(): simplify logic
+ - fetch_pack(): free matching heads
+ - cmd_fetch_pack(): simplify computation of return value
+ - fetch-pack: report missing refs even if no existing refs were received
+ - cmd_fetch_pack: return early if finish_connect() returns an error
+ - filter_refs(): compress unmatched refs in heads array
+ - filter_refs(): do not leave gaps in return_refs
+ - filter_refs(): simplify by removing optimization
+ - Pass nr_heads to filter_refs() by reference
+ - Pass nr_heads to everything_local() by reference
+ - Pass nr_heads to do_pack_ref() by reference
+ - Let fetch_pack() inform caller about number of unique heads
+ - filter_refs(): do not check the same head_pos twice
+ - fetch-pack.c: name local variables more consistently
+ - fetch_pack(): reindent function decl and defn
+ - Rename static function fetch_pack() to http_fetch_pack()
+ - t5500: add tests of error output for missing refs
+
+Code simplification and clarification.
+Waiting for a follow-up patch based on Peff's idea.
+
+* nd/branch-v-alignment (2012-08-27) 1 commit
+ - branch -v: align even when branch names are in UTF-8
+
+Output from "git branch -v" contains "(no branch)" that could be
+localized, but the code to align it along with the names of branches
+were counting in bytes, not in display columns.
+
+Will merge to 'next'.
+
+* jc/merge-bases (2012-08-27) 5 commits
+ - get_merge_bases_many(): walk from many tips in parallel
+ - in_merge_bases(): omit unnecessary redundant common ancestor reduction
+ - http-push: use in_merge_bases() for fast-forward check
+ - receive-pack: use in_merge_bases() for fast-forward check
+ - in_merge_bases(): support only one "other" commit
 
-Remove unnecessary code.
+Optimises the "merge-base" computation a bit, and also updates its
+users that do not need the full merge-base information to call a
+cheaper subset.  The most important one is the second from the tip
+done by Thomas.
+
+Needs sign-off.
 
 --------------------------------------------------
 [Stalled]
 
+* er/doc-fast-import-done (2012-08-22) 1 commit
+ - fast-import: document the --done option
+
+Parked in 'pu' in case ESR responds with "Sorry, forgot to sign-off".
+
 * jc/add-delete-default (2012-08-13) 1 commit
  - git add: notice removal of tracked paths by default
 
@@ -277,12 +357,6 @@ Expecting a reroll.
 Performance concerns from Windows folks.  Also the series lacks
 proper sign-offs.
 
-* jl/submodule-rm (2012-07-05) 2 commits
- - rm: remove submodules from the index and the .gitmodules file
- - rm: don't fail when removing populated submodules
-
-Expecting a reroll.
-
 * mb/remote-default-nn-origin (2012-07-11) 6 commits
  - Teach get_default_remote to respect remote.default.
  - Test that plain "git fetch" uses remote.default when on a detached HEAD.
@@ -333,24 +407,45 @@ working :-<.
 --------------------------------------------------
 [Cooking]
 
+* jl/submodule-rm (2012-08-27) 1 commit
+ - Teach rm to remove submodules unless they contain a git directory
+
+"git rm submodule" cannot blindly remove a submodule directory as
+its working tree may have local changes, and worse yet, it may even
+have its repository embedded in it.  Teach it some special cases
+where it is safe to remove a submodule, specifically, when there is
+no local changes in the submodule working tree, and its repository
+is not embedded in its working tree but is elsewhere and uses the
+gitfile mechanism to point at it.
+
+* nd/am-i18n-fix (2012-08-22) 1 commit
+  (merged to 'next' on 2012-08-24 at f8e9a63)
+ + am: quote string for translation before passing to eval_gettextln
+
+"git am" wasn't marked up for i18n properly.
+
+Will merge to 'master' as part of the fourth batch.
+
 * lt/commit-tree-guess-utf-8 (2012-08-21) 1 commit
- - commit/commit-tree: correct latin1 to utf-8
+  (merged to 'next' on 2012-08-24 at d16ac69)
+ + commit/commit-tree: correct latin1 to utf-8
 
 Teaches "git commit" and "git commit-tree" the "we are told to use
 utf-8 in log message, but this does not look like utf-8---attempt to
 pass it through convert-from-latin1-to-utf8 and see if it makes
 sense" heuristics "git mailinfo" already uses.
 
-Will merge to 'next'.
+Will merge to 'master' as part of the fourth batch.
 
 * kk/maint-for-each-ref-multi-sort (2012-08-21) 2 commits
- - for-each-ref: Fix sort with multiple keys
- - t6300: test sort with multiple keys
+  (merged to 'next' on 2012-08-24 at 28a5db4)
+ + for-each-ref: Fix sort with multiple keys
+ + t6300: test sort with multiple keys
 
 "git for-each-ref" did not currectly support more than one --sort
 option.
 
-Will merge to 'next'.
+Will merge to 'master' as part of the fourth batch.
 
 * fa/remote-svn (2012-08-22) 16 commits
  - Add a test script for remote-svn
@@ -371,107 +466,118 @@ Will merge to 'next'.
  - Implement a remote helper for svn in C
  (this branch is used by fa/vcs-svn.)
 
-* fa/vcs-svn (2012-08-22) 4 commits
+* fa/vcs-svn (2012-08-26) 8 commits
+ - t9020-*.sh: Skip all tests when python not available
+ - t9020-*.sh: Fix urls passed to git-remote in test setup
+ - remote-testsvn.c: avoid use of the getline() function
+ - vcs-svn: Fix 'fa/remote-svn' and 'fa/vcs-svn' in pu
  - vcs-svn: remove repo_tree
  - vcs-svn/svndump: rewrite handle_node(), begin|end_revision()
  - vcs-svn/svndump: restructure node_ctx, rev_ctx handling
  - svndump: move struct definitions to .h
  (this branch uses fa/remote-svn.)
 
+The tip ones should be squashed in.
+Waiting for a reroll.
+
 * nd/i18n-parseopt-help (2012-08-22) 66 commits
- - Use imperative form in help usage to describe an action
- - Reduce translations by using same terminologies
- - i18n: write-tree: mark parseopt strings for translation
- - i18n: verify-tag: mark parseopt strings for translation
- - i18n: verify-pack: mark parseopt strings for translation
- - i18n: update-server-info: mark parseopt strings for translation
- - i18n: update-ref: mark parseopt strings for translation
- - i18n: update-index: mark parseopt strings for translation
- - i18n: tag: mark parseopt strings for translation
- - i18n: symbolic-ref: mark parseopt strings for translation
- - i18n: show-ref: mark parseopt strings for translation
- - i18n: show-branch: mark parseopt strings for translation
- - i18n: shortlog: mark parseopt strings for translation
- - i18n: rm: mark parseopt strings for translation
- - i18n: revert, cherry-pick: mark parseopt strings for translation
- - i18n: rev-parse: mark parseopt strings for translation
- - i18n: reset: mark parseopt strings for translation
- - i18n: rerere: mark parseopt strings for translation
- - i18n: status: mark parseopt strings for translation
- - i18n: replace: mark parseopt strings for translation
- - i18n: remote: mark parseopt strings for translation
- - i18n: read-tree: mark parseopt strings for translation
- - i18n: push: mark parseopt strings for translation
- - i18n: prune: mark parseopt strings for translation
- - i18n: prune-packed: mark parseopt strings for translation
- - i18n: pack-refs: mark parseopt strings for translation
- - i18n: pack-objects: mark parseopt strings for translation
- - i18n: notes: mark parseopt strings for translation
- - i18n: name-rev: mark parseopt strings for translation
- - i18n: mv: mark parseopt strings for translation
- - i18n: mktree: mark parseopt strings for translation
- - i18n: merge: mark parseopt strings for translation
- - i18n: merge-file: mark parseopt strings for translation
- - i18n: merge-base: mark parseopt strings for translation
- - i18n: ls-tree: mark parseopt strings for translation
- - i18n: ls-files: mark parseopt strings for translation
- - i18n: log: mark parseopt strings for translation
- - i18n: init-db: mark parseopt strings for translation
- - i18n: help: mark parseopt strings for translation
- - i18n: hash-object: mark parseopt strings for translation
- - i18n: grep: mark parseopt strings for translation
- - i18n: gc: mark parseopt strings for translation
- - i18n: fsck: mark parseopt strings for translation
- - i18n: format-patch: mark parseopt strings for translation
- - i18n: for-each-ref: mark parseopt strings for translation
- - i18n: fmt-merge-msg: mark parseopt strings for translation
- - i18n: fetch: mark parseopt strings for translation
- - i18n: fast-export: mark parseopt strings for translation
- - i18n: describe: mark parseopt strings for translation
- - i18n: config: mark parseopt strings for translation
- - i18n: count-objects: mark parseopt strings for translation
- - i18n: commit: mark parseopt strings for translation
- - i18n: column: mark parseopt strings for translation
- - i18n: clone: mark parseopt strings for translation
- - i18n: clean: mark parseopt strings for translation
- - i18n: cherry: mark parseopt strings for translation
- - i18n: checkout: mark parseopt strings for translation
- - i18n: checkout-index: mark parseopt strings for translation
- - i18n: check-attr: mark parseopt strings for translation
- - i18n: cat-file: mark parseopt strings for translation
- - i18n: branch: mark parseopt strings for translation
- - i18n: blame: mark parseopt strings for translation
- - i18n: add: mark parseopt strings for translation
- - i18n: bisect--helper: mark parseopt strings for translation
- - i18n: archive: mark parseopt strings for translation
- - i18n: mark "style" in OPT_COLUMN() for translation
+  (merged to 'next' on 2012-08-24 at 2a04ce0)
+ + Use imperative form in help usage to describe an action
+ + Reduce translations by using same terminologies
+ + i18n: write-tree: mark parseopt strings for translation
+ + i18n: verify-tag: mark parseopt strings for translation
+ + i18n: verify-pack: mark parseopt strings for translation
+ + i18n: update-server-info: mark parseopt strings for translation
+ + i18n: update-ref: mark parseopt strings for translation
+ + i18n: update-index: mark parseopt strings for translation
+ + i18n: tag: mark parseopt strings for translation
+ + i18n: symbolic-ref: mark parseopt strings for translation
+ + i18n: show-ref: mark parseopt strings for translation
+ + i18n: show-branch: mark parseopt strings for translation
+ + i18n: shortlog: mark parseopt strings for translation
+ + i18n: rm: mark parseopt strings for translation
+ + i18n: revert, cherry-pick: mark parseopt strings for translation
+ + i18n: rev-parse: mark parseopt strings for translation
+ + i18n: reset: mark parseopt strings for translation
+ + i18n: rerere: mark parseopt strings for translation
+ + i18n: status: mark parseopt strings for translation
+ + i18n: replace: mark parseopt strings for translation
+ + i18n: remote: mark parseopt strings for translation
+ + i18n: read-tree: mark parseopt strings for translation
+ + i18n: push: mark parseopt strings for translation
+ + i18n: prune: mark parseopt strings for translation
+ + i18n: prune-packed: mark parseopt strings for translation
+ + i18n: pack-refs: mark parseopt strings for translation
+ + i18n: pack-objects: mark parseopt strings for translation
+ + i18n: notes: mark parseopt strings for translation
+ + i18n: name-rev: mark parseopt strings for translation
+ + i18n: mv: mark parseopt strings for translation
+ + i18n: mktree: mark parseopt strings for translation
+ + i18n: merge: mark parseopt strings for translation
+ + i18n: merge-file: mark parseopt strings for translation
+ + i18n: merge-base: mark parseopt strings for translation
+ + i18n: ls-tree: mark parseopt strings for translation
+ + i18n: ls-files: mark parseopt strings for translation
+ + i18n: log: mark parseopt strings for translation
+ + i18n: init-db: mark parseopt strings for translation
+ + i18n: help: mark parseopt strings for translation
+ + i18n: hash-object: mark parseopt strings for translation
+ + i18n: grep: mark parseopt strings for translation
+ + i18n: gc: mark parseopt strings for translation
+ + i18n: fsck: mark parseopt strings for translation
+ + i18n: format-patch: mark parseopt strings for translation
+ + i18n: for-each-ref: mark parseopt strings for translation
+ + i18n: fmt-merge-msg: mark parseopt strings for translation
+ + i18n: fetch: mark parseopt strings for translation
+ + i18n: fast-export: mark parseopt strings for translation
+ + i18n: describe: mark parseopt strings for translation
+ + i18n: config: mark parseopt strings for translation
+ + i18n: count-objects: mark parseopt strings for translation
+ + i18n: commit: mark parseopt strings for translation
+ + i18n: column: mark parseopt strings for translation
+ + i18n: clone: mark parseopt strings for translation
+ + i18n: clean: mark parseopt strings for translation
+ + i18n: cherry: mark parseopt strings for translation
+ + i18n: checkout: mark parseopt strings for translation
+ + i18n: checkout-index: mark parseopt strings for translation
+ + i18n: check-attr: mark parseopt strings for translation
+ + i18n: cat-file: mark parseopt strings for translation
+ + i18n: branch: mark parseopt strings for translation
+ + i18n: blame: mark parseopt strings for translation
+ + i18n: add: mark parseopt strings for translation
+ + i18n: bisect--helper: mark parseopt strings for translation
+ + i18n: archive: mark parseopt strings for translation
+ + i18n: mark "style" in OPT_COLUMN() for translation
 
 A lot of i18n mark-up for the help text from "git <cmd> -h".
 
-Will merge to 'next'.
+Will merge to 'master' as part of the fourth batch.
 
 * tr/maint-parseopt-avoid-empty (2012-08-20) 1 commit
- - gettext: do not translate empty string
+  (merged to 'next' on 2012-08-24 at cffa9a0)
+ + gettext: do not translate empty string
 
-A workaround to avoid doing _(""), which translates to magic string
-in the .po files.
+A workaround to avoid doing _(""), which translates to unwanted
+magic string in the .po files.
 
-Will merge to 'next'.
+Will merge to 'master' as part of the fourth batch.
 
 * jk/config-warn-on-inaccessible-paths (2012-08-21) 4 commits
- - warn_on_inaccessible(): a helper to warn on inaccessible paths
- - attr: warn on inaccessible attribute files
- - gitignore: report access errors of exclude files
- - config: warn on inaccessible files
+  (merged to 'next' on 2012-08-24 at 7470bd6)
+ + warn_on_inaccessible(): a helper to warn on inaccessible paths
+ + attr: warn on inaccessible attribute files
+ + gitignore: report access errors of exclude files
+ + config: warn on inaccessible files
 
 When looking for $HOME/.gitconfig etc., it is OK if we cannot read
 them because they do not exist, but unable to read existing ones
 need to be diagnosed.
 
-Will merge to 'next'.
+Will merge to 'master' as part of the fourth batch.
 
-* nd/i18n-poison-test-updates (2012-08-21) 6 commits
+* nd/i18n-poison-test-updates (2012-08-27) 7 commits
  - Fix tests under GETTEXT_POISON on parseopt
+ - Fix tests under GETTEXT_POISON on git-remote
  - Fix tests under GETTEXT_POISON on pack-object
  - Fix tests under GETTEXT_POISON on git-apply
  - Fix tests under GETTEXT_POISON on diffstat
@@ -479,6 +585,9 @@ Will merge to 'next'.
  - Fix tests under GETTEXT_POISON on relative dates
 
 Updates to tests that can be broken with gettext-poison builds.
+Queued with trivial fix-ups.
+
+Will merge to 'next'.
 
 * jc/daemon-access-hook (2012-08-15) 1 commit
   (merged to 'next' on 2012-08-20 at c8f5b2e)
@@ -502,6 +611,7 @@ Will merge to 'master' as part of the third batch.
 * ef/win32-cred-helper (2012-08-16) 1 commit
   (merged to 'next' on 2012-08-20 at bd5c651)
  + contrib: add win32 credential-helper
+ (this branch is used by ph/credential-refactor.)
 
 Credential helper for Win32 to allow access to the keychain of
 the logged-in user.
@@ -544,19 +654,6 @@ As the title says.
 
 Will merge to 'master' as part of the second batch.
 
-* bc/receive-pack-stdout-protection (2012-08-06) 2 commits
-  (merged to 'next' on 2012-08-20 at b1b0d18)
- + receive-pack: do not leak output from auto-gc to standard output
- + t/t5400: demonstrate breakage caused by informational message from prune
-
-(Originally merged to 'next' on 2012-08-07)
-
-When "git push" triggered the automatic gc on the receiving end, a
-message from "git prune" that said it was removing cruft leaked to
-the standard output, breaking the communication protocol.
-
-Will merge to 'master' as part of the second batch.
-
 * bc/prune-info (2012-08-07) 1 commit
   (merged to 'next' on 2012-08-20 at 1bc9e66)
  + prune.c: only print informational message in show_only or verbose mode
@@ -565,18 +662,6 @@ Teach "git prune" without "-v" to be silent about leftover temporary files.
 
 Will merge to 'master' as part of the second batch.
 
-* jk/docs-docbook-monospace-display (2012-08-07) 1 commit
-  (merged to 'next' on 2012-08-20 at 0ed30dc)
- + docs: monospace listings in docbook output
-
-(Originally merged to 'next' on 2012-08-18)
-
-The documentation in the TeXinfo format was using indented output
-for materials meant to be examples that are better typeset in
-monospace.
-
-Will merge to 'master' as part of the second batch.
-
 * jc/maint-protect-sh-from-ifs (2012-08-08) 1 commit
   (merged to 'next' on 2012-08-20 at 8b00562)
  + sh-setup: protect from exported IFS
@@ -615,20 +700,25 @@ not advertise that they are available.  Fix fetch-pack not to do so.
 Will merge to 'master' as part of the second batch.
 
 * pw/p4-use-client-spec-branch-detection (2012-08-20) 5 commits
- - git p4: make branch detection work with --use-client-spec
- - git p4: do wildcard decoding in stripRepoPath
- - git p4: set self.branchPrefixes in initialization
- - git p4 test: add broken --use-client-spec --detect-branches tests
- - git p4 test: move client_view() function to library
+  (merged to 'next' on 2012-08-24 at 08abc61)
+ + git p4: make branch detection work with --use-client-spec
+ + git p4: do wildcard decoding in stripRepoPath
+ + git p4: set self.branchPrefixes in initialization
+ + git p4 test: add broken --use-client-spec --detect-branches tests
+ + git p4 test: move client_view() function to library
+
+Fixes "git p4" when "--use-client-spec" and "--detect-branches" are
+used together (the command used to misdetect branches).
 
-Will merge to 'next' and soon to 'master'.
+Will merge to 'master' as part of the fourth batch.
 
 * jc/maint-push-refs-all (2012-08-07) 2 commits
  - get_fetch_map(): tighten checks on dest refs
  - fetch/push: allow refs/*:refs/*
 
 Allows pushing and fetching refs/stash.
-Need to send it out to the list for review.
+
+Will merge to 'next'.
 
 * jk/version-string (2012-08-10) 3 commits
   (merged to 'next' on 2012-08-20 at 6d207bb)
@@ -646,28 +736,6 @@ understands it.
 
 Will merge to 'master' as part of the third batch.
 
-* js/grep-patterntype-config (2012-08-03) 1 commit
-  (merged to 'next' on 2012-08-20 at 39a0431)
- + grep: add a grep.patternType configuration setting
-
-(Originally merged to 'next' on 2012-08-09)
-
-"grep" learned to use a non-standard pattern type by default if a
-configuration variable tells it to.
-
-Will merge to 'master' as part of the second batch.
-
-* ab/diff-write-incomplete-line (2012-08-05) 1 commit
-  (merged to 'next' on 2012-08-20 at e28b804)
- + Fix '\ No newline...' annotation in rewrite diffs
-
-(Originally merged to 'next' on 2012-08-07)
-
-The output from "git diff -B" for a file that ends with an
-incomplete line did not put "\ No newline..." on a line of its own.
-
-Will merge to 'master' as part of the second batch.
-
 * tg/index-v5 (2012-08-17) 13 commits
  - p0002-index.sh: add perf test for the index formats
  - update-index.c: rewrite index when index-version is given
@@ -709,23 +777,6 @@ silently proceed.
 
 Will merge to 'master' as part of the third batch.
 
-* jc/maint-t7406-rev-parse-max-count-huh (2012-07-30) 1 commit
-  (merged to 'next' on 2012-08-20 at 3e2598a)
- + t7406: fix misleading "rev-parse --max-count=1 HEAD"
-
-(Originally merged to 'next' on 2012-07-30)
-
-Test clean-up, with no behaviour change.
-Will merge to 'master' as part of the second batch.
-
-* jk/maint-diff-nul40-as-sentinel (2012-07-29) 1 commit
- + diff: do not use null sha1 as a sentinel value
- (this branch is used by jk/maint-null-in-trees.)
-
-"git diff" had a confusion between taking data from a path in the
-working tree and taking data from an object that happens to have
-name 0{40} recorded in a tree.
-
 * mz/cherry-code-cleanup (2012-07-29) 3 commits
   (merged to 'next' on 2012-08-20 at bfb0457)
  + cherry: remove redundant check for merge commit
@@ -749,70 +800,23 @@ status for a case that was documented, and introduce a new code for
 
 Will merge to 'master' as part of the third batch.
 
-* jk/maint-null-in-trees (2012-07-29) 2 commits
-  (merged to 'next' on 2012-08-20 at 5bc2c49)
- + fsck: detect null sha1 in tree entries
- + do not write null sha1s to on-disk index
- (this branch uses jk/maint-diff-nul40-as-sentinel.)
-
-(Originally merged to 'next' on 2012-07-30)
-
-We do not want a link to 0{40} object stored anywhere in our objects.
-
-Will merge to 'master' as part of the second batch.
-
-* sz/submodule-force-update (2012-07-25) 1 commit
- - Make 'git submodule update --force' always check out submodules.
-
-We may want a documentation update and a few tests.
-
-Kicked back to 'pu'.
-
-* da/difftool-updates (2012-08-21) 13 commits
-  (merged to 'next' on 2012-08-21 at 332afe4)
- + difftool: silence warning
-  (merged to 'next' on 2012-08-20 at 2fecd90)
- + Add Code Compare v2.80.4 as a merge / diff tool for Windows
- + mergetool,difftool: Document --tool-help consistently
- + difftool: Disable --symlinks on cygwin
- + difftool: Handle compare() returning -1
- + difftool: Wrap long lines for readability
- + difftool: Check all return codes from compare()
- + difftool: Handle finding mergetools/ in a path with spaces
- + difftool: Use symlinks when diffing against the worktree
- + difftool: Call the temp directory "git-difftool"
- + difftool: Move option values into a hash
- + difftool: Eliminate global variables
- + difftool: Simplify print_tool_help()
-
-(Originally merged to 'next' on 2012-08-10)
+* sz/submodule-force-update (2012-08-24) 1 commit
+  (merged to 'next' on 2012-08-24 at f82b466)
+ + Make 'git submodule update --force' always check out submodules.
 
-"git difftool --dir-diff" learned to use symbolic links to prepare
-temporary copy of the working tree when available.
+"git submodule update --force" used to leave the working tree of the
+submodule intact when there were local changes.  It is more intiutive
+to make "--force" a sign to run "checkout -f" to overwrite them.
 
-Will merge to 'master' as part of the second batch.
+Will merge to 'master' as part of the third batch.
 
 * jk/no-more-pre-exec-callback (2012-06-05) 1 commit
  - pager: drop "wait for output to run less" hack
 
 (Originally merged to 'next' on 2012-07-23)
 
-Will defer until the end of the 2012,
-waiting for older "less" to go extinct.
-
-* mm/push-default-switch-warning (2012-06-24) 1 commit
-  (merged to 'next' on 2012-08-20 at 553e6c0)
- + push: start warning upcoming default change for push.default
-
-(Originally merged to 'next' on 2012-06-26)
-
-In the next major release, we will switch "git push [$there]" that
-does not say what to push from the traditional "matching" to the
-updated "simple" semantics, that pushes the current branch to the
-branch with the same name only when the current branch is set to
-integrate with that remote branch (all other cases will error out).
-
-Will merge to 'master' as part of the second batch.
+Will defer until the end of the 2012.
+while waiting for older "less" to go extinct.
 
 --------------------------------------------------
 [Discarded]