]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2013/07 #06)
authorJunio C Hamano <gitster@pobox.com>
Fri, 19 Jul 2013 00:34:12 +0000 (17:34 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 19 Jul 2013 00:34:12 +0000 (17:34 -0700)
whats-cooking.txt

index 77f57d3568e4d2de3fbd1b2d8b2a456eb10bf08b..9188c6625dfd5d812a642f2a7879c9da6f8267fe 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jul 2013, #05; Fri, 12)
-X-master-at: 0da7a53a76b48ea1b2ee6ebe7bd7fbcd7d5c3f9d
-X-next-at: 3a6d6276f9ce81c14c10f2d798b4fc9a9950eef6
+Subject: What's cooking in git.git (Jul 2013, #06; Thu, 18)
+X-master-at: b72c6161f1f34985e4a13f8c4c9ba9e55b3d1496
+X-next-at: 6b4ca9f6d2ab38b0a886be8faea27be3a50ef9e1
 
-What's cooking in git.git (Jul 2013, #05; Fri, 12)
+What's cooking in git.git (Jul 2013, #06; Thu, 18)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -22,192 +22,372 @@ of the repositories listed at
 --------------------------------------------------
 [Graduated to "master"]
 
-* as/log-output-encoding-in-user-format (2013-07-05) 11 commits
-  (merged to 'next' on 2013-07-08 at 2e1bdd9)
- + t4205 (log-pretty-formats): avoid using `sed`
- + t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set
- + t4205, t6006, t7102: make functions better readable
- + t4205 (log-pretty-formats): revert back single quotes
-  (merged to 'next' on 2013-07-05 at d2c99e5)
- + t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
-  (merged to 'next' on 2013-07-01 at 3318aa8)
- + t4205: replace .\+ with ..* in sed commands
-  (merged to 'next' on 2013-06-28 at 4063330)
- + pretty: --format output should honor logOutputEncoding
- + pretty: Add failing tests: --format output should honor logOutputEncoding
- + t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
- + t7102 (reset): don't hardcode SHA-1 in expected outputs
- + t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs
+* bc/commit-invalid-utf8 (2013-07-09) 3 commits
+  (merged to 'next' on 2013-07-11 at a2ee572)
+ + commit: reject non-characters
+ + commit: reject overlong UTF-8 sequences
+ + commit: reject invalid UTF-8 codepoints
 
- "log --format=" did not honor i18n.logoutputencoding configuration
- and this attempts to fix it.
+ Tighten up autodetection of UTF-8 encoded strings.
 
 
-* ft/diff-rename-default-score-is-half (2013-07-05) 1 commit
-  (merged to 'next' on 2013-07-09 at 6a6b57e)
- + diff-options: document default similarity index
+* bc/push-match-many-refs (2013-07-08) 1 commit
+  (merged to 'next' on 2013-07-11 at df4d56d)
+ + remote.c: avoid O(m*n) behavior in match_push_refs
 
+ Pushing to repositories with many refs employed O(m*n) algorithm
+ where n is the number of refs on the receiving end.
 
-* jc/remote-http-argv-array (2013-07-09) 1 commit
-  (merged to 'next' on 2013-07-11 at 7fbe8bd)
- + remote-http: use argv-array
 
+* bc/send-email-use-port-as-separate-param (2013-07-04) 1 commit
+  (merged to 'next' on 2013-07-09 at a569eb5)
+ + send-email: provide port separately from hostname
 
-* jk/maint-config-multi-order (2013-07-07) 1 commit
-  (merged to 'next' on 2013-07-09 at 0db1db9)
- + git-config(1): clarify precedence of multiple values
+ Pass port number as a separate argument when send-email initializes
+ Net::SMTP, instead of as a part of the hostname, i.e. host:port.
+ This allows GSSAPI codepath to match with the hostname given.
 
 
-* jk/pull-to-integrate (2013-07-08) 2 commits
-  (merged to 'next' on 2013-07-09 at 2ecac24)
- + pull: change the description to "integrate" changes
- + push: avoid suggesting "merging" remote changes
+* bp/mediawiki-preview (2013-07-08) 7 commits
+  (merged to 'next' on 2013-07-12 at 870890a)
+ + git-remote-mediawiki: add preview subcommand into git mw
+ + git-remote-mediawiki: add git-mw command
+ + git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
+ + git-remote-mediawiki: update tests to run with the new bin-wrapper
+ + git-remote-mediawiki: add a git bin-wrapper for developement
+ + wrap-for-bin: make bin-wrappers chainable
+ + git-remote-mediawiki: introduction of Git::Mediawiki.pm
 
+ Add a command to allow previewing the contents locally before
+ pushing it out, when working with a MediaWiki remote.
 
-* ml/cygwin-does-not-have-fifo (2013-07-05) 1 commit
-  (merged to 'next' on 2013-07-09 at 7d6849d)
- + test-lib.sh - cygwin does not have usable FIFOs
+ I personally do not think this belongs to Git.  If you are working
+ on a set of AsciiDoc source files, you sure do want to locally
+ format to preview what you will be pushing out, and if you are
+ working on a set of C or Java source files, you do want to test it
+ before pushing it out, too.  That kind of thing belongs to your
+ build script, not to your SCM.
 
+ But I'll let it pass, as this is only a contrib/ thing.
 
-* ms/remote-tracking-branches-in-doc (2013-07-03) 1 commit
-  (merged to 'next' on 2013-07-09 at 411a8bd)
- + Change "remote tracking" to "remote-tracking"
 
+* cp/submodule-custom-update (2013-07-03) 1 commit
+  (merged to 'next' on 2013-07-09 at 3d27516)
+ + submodule update: allow custom command to update submodule working tree
 
-* rr/name-rev-stdin-doc (2013-07-07) 1 commit
-  (merged to 'next' on 2013-07-09 at 7cfbff6)
- + name-rev doc: rewrite --stdin paragraph
+ In addition to the choice from "rebase, merge, or checkout-detach",
+ allow a custom command to be used in "submodule update" to update
+ the working tree of submodules.
 
 
-* rs/pickaxe-simplify (2013-07-07) 1 commit
-  (merged to 'next' on 2013-07-11 at c5972f7)
- + diffcore-pickaxe: simplify has_changes and contains
+* es/overlapping-range-set (2013-07-09) 2 commits
+  (merged to 'next' on 2013-07-11 at 3df5a94)
+ + range_set: fix coalescing bug when range is a subset of another
+ + t4211: fix broken test when one -L range is subset of another
 
 
-* tf/gitweb-extra-breadcrumbs (2013-07-04) 1 commit
-  (merged to 'next' on 2013-07-09 at 525331b)
- + gitweb: allow extra breadcrumbs to prefix the trail
+* fg/submodule-clone-depth (2013-07-03) 1 commit
+  (merged to 'next' on 2013-07-09 at ab156f3)
+ + Add --depth to submodule update/add
 
- An Gitweb installation that is a part of larger site can optionally
- show extra links that point at the levels higher than the Gitweb
- pages itself in the link hierarchy of pages.
+ Allow shallow-cloning of submodules with "git submodule update".
 
 
-* tr/test-lint-no-export-assignment-in-shell (2013-07-08) 2 commits
-  (merged to 'next' on 2013-07-09 at 6f10ea2)
- + test-lint: detect 'export FOO=bar'
- + t9902: fix 'test A == B' to use = operator
+* jc/revert-clone-doc-update-for-push-from-shallow (2013-07-15) 1 commit
+ + Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"
+
+
+* jk/fetch-pack-many-refs (2013-07-02) 3 commits
+  (merged to 'next' on 2013-07-09 at a53b7c7)
+ + fetch-pack: avoid quadratic behavior in rev_list_push
+ + commit.c: make compare_commits_by_commit_date global
+ + fetch-pack: avoid quadratic list insertion in mark_complete
+
+ Fetching between repositories with many refs employed O(n^2)
+ algorithm to match up the common objects, which has been corrected.
+
+
+* jk/format-patch-from (2013-07-03) 2 commits
+  (merged to 'next' on 2013-07-09 at 6ed86d5)
+ + teach format-patch to place other authors into in-body "From"
+ + pretty.c: drop const-ness from pretty_print_context
+
+ "git format-patch" learned "--from[=whom]" option, which sets the
+ "From: " header to the specified person (or the person who runs the
+ command, if "=whom" part is missing) and move the original author
+ information to an in-body From: header as necessary.
+
+
+* jk/in-pack-size-measurement (2013-07-12) 10 commits
+  (merged to 'next' on 2013-07-12 at 5ba720f)
+ + pack-revindex: radix-sort the revindex
+ + pack-revindex: use unsigned to store number of objects
+ + cat-file: split --batch input lines on whitespace
+ + cat-file: add %(objectsize:disk) format atom
+ + cat-file: add --batch-check=<format>
+ + cat-file: refactor --batch option parsing
+ + cat-file: teach --batch to stream blob objects
+ + t1006: modernize output comparisons
+ + teach sha1_object_info_extended a "disk_size" query
+ + zero-initialize object_info structs
+ (this branch is used by jk/cat-file-batch-optim.)
+
+ Allow on-disk footprint of objects in packfiles (often they are a
+ lot smaller than their true size, when expressed as deltas).
+
+
+* jk/maint-clone-shared-no-connectivity-validation (2013-07-08) 1 commit
+  (merged to 'next' on 2013-07-11 at 8183412)
+ + clone: drop connectivity check for local clones
+ (this branch is used by jk/clone-shared-no-connectivity-validation.)
+
+ "git clone -s/-l" is a filesystem level copy and does not offer any
+ protection against source repository being corrupt.  While the
+ connectivity validation checks commits and trees being readable, it
+ made the otherwise instantaneous local modes of clone much more
+ expensive, without protecting blob data from bitflips.
+
+
+* mv/merge-ff-tristate (2013-07-02) 1 commit
+  (merged to 'next' on 2013-07-09 at c32b95d)
+ + merge: handle --ff/--no-ff/--ff-only as a tri-state option
+
+ The configuration variable "merge.ff" was cleary a tri-state to
+ choose one from "favor fast-forward when possible", "always create
+ a merge even when the history could fast-forward" and "do not
+ create any merge, only update when the history fast-forwards", but
+ the command line parser did not implement the usual convention of
+ "last one wins, and command line overrides the configuration"
+ correctly.
+
+
+* rr/rebase-reflog-message-reword (2013-06-23) 2 commits
+  (merged to 'next' on 2013-07-11 at 59921e0)
+ + rebase -i: use a better reflog message
+ + rebase: use a better reflog message
+
+ "git rebase [-i]" used to leave just "rebase" as its reflog message
+ for some operations. This rewords them to be more informative.
+
+
+* rs/mailmap-himself (2013-07-17) 1 commit
+ + .mailmap: RenĂ© Scharfe has a new email address
+
+
+* sb/mailmap-updates (2013-07-17) 3 commits
+ + .mailmap: combine more (email, name) to individual persons
+  (merged to 'next' on 2013-07-15 at 61c965a)
+ + .mailmap: Combine more (email, name) to individual persons
+ + .mailmap: Map email addresses to names
 
 --------------------------------------------------
 [New Topics]
 
-* es/check-mailmap (2013-07-11) 2 commits
- - t4203: test check-mailmap command invocation
- - builtin: add git-check-mailmap command
+* db/show-ref-head (2013-07-17) 1 commit
+  (merged to 'next' on 2013-07-18 at 73797d0)
+ + show-ref: make --head always show the HEAD ref
 
- A new command to allow scripts to query the mailmap information.
+ The "--head" option to "git show-ref" was only to add "HEAD" to the
+ list of candidate refs to be filtered by the usual rules
+ (e.g. "--heads" that only show refs under refs/heads).  Change the
+ meaning of the option to always show "HEAD" regardless of what
+ filtering will be applied to any other ref (this is a backward
+ incompatible change, so I may need to add an entry to the Release
+ Notes).
 
Expecting a reroll to lose the -z option.
Will merge to 'master'.
 
 
-* jc/check-x-z (2013-07-11) 4 commits
- - check-attr -z: a single -z should apply to both input and output
- - check-ignore -z: a single -z should apply to both input and output
- - check-attr: the name of the character is NUL, not NULL
- - check-ignore: the name of the character is NUL, not NULL
+* dw/request-pull-diag (2013-07-17) 1 commit
+  (merged to 'next' on 2013-07-18 at d4406de)
+ + request-pull: improve error message for invalid revision args
 
- "git check-ignore -z" applied the NUL termination to both its input
- (with --stdin) and its output, but "git check-attr -z" ignored the
- option on the output side.
+ Will merge to 'master'.
 
- This is potentially a backward incompatible fix.  I am tempted to
- merge this to and keep it in 'next' for a while to see if anybody
- screams before deciding if we want to do anything to help existing
- users (there may be none).
 
+* es/blame-L-breakage (2013-07-17) 6 commits
+  (merged to 'next' on 2013-07-18 at cfd871a)
+ + blame-options.txt: explain that -L <start> and <end> are optional
+ + blame-options.txt: place each -L option variation on its own line
+ + t8001/t8002 (blame): add blame -L :funcname tests
+ + t8001/t8002 (blame): add blame -L tests
+ + t8001/t8002 (blame): modernize style
+ + line-range: fix "blame -L X,-N" regression
 
-* jk/cat-file-batch-optim (2013-07-12) 8 commits
- - sha1_object_info_extended: pass object_info to helpers
- - sha1_object_info_extended: make type calculation optional
- - packed_object_info: make type lookup optional
- - packed_object_info: hoist delta type resolution to helper
- - sha1_loose_object_info: make type lookup optional
- - sha1_object_info_extended: rename "status" to "type"
- - cat-file: disable object/refname ambiguity check for batch mode
- - Merge branch 'nd/warn-ambiguous-object-name' into jk/cat-file-batch-optim
- (this branch uses jk/in-pack-size-measurement.)
+ The refactoring made for parsing "-L" option recently to support
+ "git log -L" seems to have broken "git blame -L X,-5" to show 5
+ lines leading to X.
 
- If somebody wants to only know on-disk footprint of an object
- without having to know its type or payload size, we can bypass a
- lot of code to cheaply learn it.
+ Will merge to 'master'.
 
 
-* jk/t0008-sigpipe-fix (2013-07-12) 1 commit
- - t0008: avoid SIGPIPE race condition on fifo
+* jc/diff-filter-negation (2013-07-17) 6 commits
+ - diff: deprecate -q option to diff-files
+ - diff: allow lowercase letter to specify what change class to exclude
+ - diff: reject unknown change class given to --diff-filter
+ - diff: preparse --diff-filter string argument
+ - diff: factor out match_filter()
+ - diff: pass the whole diff_options to diffcore_apply_filter()
+ (this branch is used by jc/diff-2.0-remove-q-synonym-for-no-deletion.)
 
- Fix for recent test breakage on 'master'.
+ Teach "git diff --diff-filter" to express "I do not want to see
+ these classes of changes" more directly by listing only the
+ unwanted ones in lowercase (e.g. "--diff-filter=d" will show
+ everything but deletion) and deprecate "diff-files -q" which did
+ the same thing as "--diff-filter=d".
 
- Will merge to 'next'.
+ Waiting for comments.
 
 
-* mk/upload-pack-off-by-one-dead-code-removal (2013-07-11) 1 commit
- - upload-pack: Remove a piece of dead code
+* mh/packed-refs-do-one-ref-recursion (2013-07-17) 1 commit
+ - do_one_ref(): save and restore value of current_ref
 
- Will merge to 'next'.
+ May want some tests?
+
+
+* ml/avoid-using-grep-on-crlf-files (2013-07-18) 1 commit
+ - test-lib.sh - define and use GREP_STRIPS_CR
+
+ On systems that understand a CRLF as a line ending, tests in this
+ script that worked on files with CRLF line endings using "grep" to
+ extract matching lines may lose the CR at the end of lines that
+ match, causing the actual output not to match the expected output.
+
+ Waiting for success reports from folks on various flavours of
+ Windows ports.
+
+
+* ml/cygwin-updates (2013-07-15) 2 commits
+ - Use compat/regex on Cygwin
+ - Cygwin has trustable filemode
+
+ This seems to depend heavily on Cygwin version differences.
+
+
+* mm/diff-no-patch-synonym-to-s (2013-07-17) 6 commits
+  (merged to 'next' on 2013-07-18 at 3b893d6)
+ + Documentation/git-log.txt: capitalize section names
+ + Documentation: move description of -s, --no-patch to diff-options.txt
+ + Documentation/git-show.txt: include common diff options, like git-log.txt
+ + diff: allow --patch & cie to override -s/--no-patch
+ + diff: allow --no-patch as synonym for -s
+ + t4000-diff-format.sh: modernize style
+
+ "git show -s" was less discoverable than it should be.
+
+ Will merge to 'master'.
 
 
-* sb/mailmap-updates (2013-07-12) 1 commit
- - .mailmap: Map email addresses to names
+* nd/magic-pathspec (2013-07-17) 47 commits
+ - t6131 - skip tests if on case-insensitive file system
+ - parse_pathspec: accept :(icase)path syntax
+ - pathspec: support :(glob) syntax
+ - pathspec: make --literal-pathspecs disable pathspec magic
+ - pathspec: support :(literal) syntax for noglob pathspec
+ - kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
+ - parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
+ - parse_pathspec: make sure the prefix part is wildcard-free
+ - rename field "raw" to "_raw" in struct pathspec
+ - tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
+ - remove match_pathspec() in favor of match_pathspec_depth()
+ - remove init_pathspec() in favor of parse_pathspec()
+ - remove diff_tree_{setup,release}_paths
+ - convert common_prefix() to use struct pathspec
+ - convert add_files_to_cache to take struct pathspec
+ - convert {read,fill}_directory to take struct pathspec
+ - convert refresh_index to take struct pathspec
+ - convert report_path_error to take struct pathspec
+ - checkout: convert read_tree_some to take struct pathspec
+ - convert unmerge_cache to take struct pathspec
+ - convert run_add_interactive to use struct pathspec
+ - convert read_cache_preload() to take struct pathspec
+ - line-log: convert to use parse_pathspec
+ - reset: convert to use parse_pathspec
+ - add: convert to use parse_pathspec
+ - check-ignore: convert to use parse_pathspec
+ - archive: convert to use parse_pathspec
+ - ls-files: convert to use parse_pathspec
+ - rm: convert to use parse_pathspec
+ - checkout: convert to use parse_pathspec
+ - rerere: convert to use parse_pathspec
+ - status: convert to use parse_pathspec
+ - commit: convert to use parse_pathspec
+ - clean: convert to use parse_pathspec
+ - guard against new pathspec magic in pathspec matching code
+ - parse_pathspec: support prefixing original patterns
+ - parse_pathspec: support stripping/checking submodule paths
+ - parse_pathspec: support stripping submodule trailing slashes
+ - parse_pathspec: add special flag for max_depth feature
+ - convert some get_pathspec() calls to parse_pathspec()
+ - parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
+ - parse_pathspec: save original pathspec for reporting
+ - add parse_pathspec() that converts cmdline args to struct pathspec
+ - pathspec: add copy_pathspec
+ - pathspec: i18n-ize error strings in pathspec parsing code
+ - move struct pathspec and related functions to pathspec.[ch]
+ - clean: remove unused variable "seen"
+
+ Use "struct pathspec" interface in more places, instead of array of
+ characters, the latter of which cannot express magic pathspecs
+ (e.g. ":(icase)makefile" that matches both Makefile and makefile).
 
  Will merge to 'next'.
 
 
-* tf/gitweb-ss-tweak (2013-07-09) 2 commits
- - gitweb: vertically centre contents of page footer
- - gitweb: Ensure OPML text fits inside its box.
+* rh/template-updates (2013-07-15) 3 commits
+ - templates: spell ASCII in uppercase in pre-commit hook
+ - templates: Reformat pre-commit hook's message
+ - templates: Use heredoc in pre-commit hook
 
- Comments?
+ This is an earlier part of a 6 patch series, with log message
+ corrected.
 
 
-* tr/fd-gotcha-fixes (2013-07-12) 2 commits
- - run-command: dup_devnull(): guard against syscalls failing
- - git_mkstemps: correctly test return value of open()
+* sb/misc-fixes (2013-07-15) 3 commits
+ - diff.c: Do not initialize a variable, which gets reassigned anyway.
+ - commit: Fix a memory leak in determine_author_info
+ - daemon.c:handle: Remove unneeded check for null pointer.
 
- Two places we did not check return value (expected to be a file
- descriptor) correctly.
+ Assorted code cleanups and a minor fix.
 
+ Will merge to 'next'.
 
-* jc/mailmap-case-insensitivity (2013-07-12) 4 commits
- - add a testcase for checking case insensitivity of mailmap
- - mailmap: style fixes
- - mailmap: do not downcase mailmap entries
- - mailmap: do not lose single-letter names
 
- The test may need to be rerolled and enhanced.
+* sb/parse-object-buffer-eaten (2013-07-17) 1 commit
+  (merged to 'next' on 2013-07-18 at 364689c)
+ + parse_object_buffer: correct freeing the buffer
 
+ Will merge to 'master'.
 
-* ms/fetch-prune-configuration (2013-07-12) 2 commits
- - squash???
- - fetch: make --prune configurable
 
- Allow fetch.prune and remote.*.prune configuration variables to be set,
- and "git fetch" to behave as if "--prune" is given.
+* tr/do-not-call-submodules-subprojects (2013-07-18) 2 commits
+  (merged to 'next' on 2013-07-18 at 6386fd5)
+ + show-branch: fix description of --date-order
+ + apply, entry: speak of submodules instead of subprojects
 
---------------------------------------------------
-[Stalled]
+ Will merge to 'master'.
 
-* rr/send-email-ssl-verify (2013-07-06) 6 commits
- - SQUASH??? update to support SSL_ca_file as well as SSL_ca_path
- - SQUASH??? send-email: cover both smtps and starttls cases
- - fixup! send-email: squelch warning from Net::SMTP::SSL
- - SQUASH??? send-email giving default value to ssl-cert-path with ||= assignment
- - send-email: introduce sendemail.smtpsslcertpath
- - send-email: squelch warning from Net::SMTP::SSL
 
- The issue seems a lot deeper than the initial attempt and needs
- somebody to sit down and sort out to get the version dependencies
- and lazy loading right.
+* tr/protect-low-3-fds (2013-07-17) 2 commits
+  (merged to 'next' on 2013-07-18 at 504d972)
+ + git: ensure 0/1/2 are open in main()
+ + daemon/shell: refactor redirection of 0/1/2 from /dev/null
 
+ When "git" is spawned in such a way that any of the low 3 file
+ descriptors is closed, our first open() may yield file descriptor 2,
+ and writing error message to it would screw things up in a big way.
+
+ Will merge to 'master'.
+
+
+* jc/diff-2.0-remove-q-synonym-for-no-deletion (2013-07-18) 1 commit
+ - diff: remove "diff-files -q" at Git 2.0 version boundary
+ (this branch uses jc/diff-filter-negation.)
+
+ This obviously has to wait until Git 2.0.
+
+--------------------------------------------------
+[Stalled]
 
 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
  - ### DONTMERGE: needs better explanation on what config they need
@@ -238,18 +418,17 @@ of the repositories listed at
 
 
 * jl/submodule-mv (2013-04-23) 5 commits
- submodule.c: duplicate real_path's return value
- rm: delete .gitmodules entry of submodules removed from the work tree
- Teach mv to update the path entry in .gitmodules for moved submodules
- Teach mv to move submodules using a gitfile
- Teach mv to move submodules together with their work trees
. submodule.c: duplicate real_path's return value
. rm: delete .gitmodules entry of submodules removed from the work tree
. Teach mv to update the path entry in .gitmodules for moved submodules
. Teach mv to move submodules using a gitfile
. Teach mv to move submodules together with their work trees
 
  "git mv A B" when moving a submodule A does "the right thing",
  inclusing relocating its working tree and adjusting the paths in
  the .gitmodules file.
 
- Waiting for a reroll.
- $gmane/226294
+ Ejected from 'pu', as it conflicts with nd/magic-pathspec.
 
 
 * jk/list-objects-sans-blobs (2013-06-06) 4 commits
@@ -280,11 +459,13 @@ of the repositories listed at
  there are some doubts on the list; kicked back to 'pu'.
 
 
-* mh/multimail (2013-04-21) 1 commit
- - git-multimail: a replacement for post-receive-email
+* mh/multimail (2013-07-15) 2 commits
+ - post-receive-email: deprecate script in favor of git-multimail
+ - git-multimail: an improved replacement for post-receive-email
+
+ An enhanced "post-receive" hook to send e-mail messages.
 
- Waiting for the initial history to pull from.
- $gmane/223564
+ Will wait for the review for the tip one to settle and then merge.
 
 
 * jc/format-patch (2013-04-22) 2 commits
@@ -327,6 +508,125 @@ of the repositories listed at
 --------------------------------------------------
 [Cooking]
 
+* rr/send-email-ssl-verify (2013-07-18) 1 commit
+ - send-email: be explicit with SSL certificate verification
+
+ Waiting for test reports.
+
+
+* es/check-mailmap (2013-07-13) 2 commits
+ - t4203: test check-mailmap command invocation
+ - builtin: add git-check-mailmap command
+
+ A new command to allow scripts to query the mailmap information.
+
+ Will merge to 'next'.
+
+
+* jc/check-x-z (2013-07-11) 4 commits
+  (merged to 'next' on 2013-07-15 at 62751bc)
+ + check-attr -z: a single -z should apply to both input and output
+ + check-ignore -z: a single -z should apply to both input and output
+ + check-attr: the name of the character is NUL, not NULL
+ + check-ignore: the name of the character is NUL, not NULL
+
+ "git check-ignore -z" applied the NUL termination to both its input
+ (with --stdin) and its output, but "git check-attr -z" ignored the
+ option on the output side.
+
+ This is potentially a backward incompatible fix.  I am tempted to
+ merge this to and keep it in 'next' for a while to see if anybody
+ screams before deciding if we want to do anything to help existing
+ users (there may be none).
+
+ Waiting for failure reports ;-)
+
+
+* jk/cat-file-batch-optim (2013-07-18) 9 commits
+ - Fix some sparse warnings
+ - sha1_object_info_extended: pass object_info to helpers
+ - sha1_object_info_extended: make type calculation optional
+ - packed_object_info: make type lookup optional
+ - packed_object_info: hoist delta type resolution to helper
+ - sha1_loose_object_info: make type lookup optional
+ - sha1_object_info_extended: rename "status" to "type"
+ - cat-file: disable object/refname ambiguity check for batch mode
+ - Merge branch 'nd/warn-ambiguous-object-name' into jk/cat-file-batch-optim
+
+ If somebody wants to only know on-disk footprint of an object
+ without having to know its type or payload size, we can bypass a
+ lot of code to cheaply learn it.
+
+ Will merge to 'next'.
+
+
+* jk/t0008-sigpipe-fix (2013-07-12) 1 commit
+  (merged to 'next' on 2013-07-15 at cead4b2)
+ + t0008: avoid SIGPIPE race condition on fifo
+
+ Fix for recent test breakage on 'master'.
+
+ Will merge to 'master'.
+
+
+* mk/upload-pack-off-by-one-dead-code-removal (2013-07-15) 1 commit
+  (merged to 'next' on 2013-07-15 at a8f55a2)
+ + upload-pack: remove a piece of dead code
+
+ Will merge to 'master'.
+
+
+* tf/gitweb-ss-tweak (2013-07-15) 4 commits
+ - gitweb: make search help link less ugly
+ - gitweb: omit the repository owner when it is unset
+ - gitweb: vertically centre contents of page footer
+ - gitweb: ensure OPML text fits inside its box
+
+ Waiting for comments.
+
+
+* tr/fd-gotcha-fixes (2013-07-12) 2 commits
+  (merged to 'next' on 2013-07-18 at 30f4fdf)
+ + run-command: dup_devnull(): guard against syscalls failing
+ + git_mkstemps: correctly test return value of open()
+
+ Two places we did not check return value (expected to be a file
+ descriptor) correctly.
+
+ Will merge to 'master'.
+
+
+* jc/mailmap-case-insensitivity (2013-07-15) 9 commits
+  (merged to 'next' on 2013-07-18 at 83341ac)
+ + mailmap: style fixes
+ + mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
+ + mailmap: debug: eliminate -Wformat field precision type warning
+ + mailmap: debug: fix malformed fprintf() format conversion specification
+ + mailmap: debug: fix out-of-order fprintf() arguments
+ + mailmap: do not downcase mailmap entries
+ + t4203: demonstrate loss of uppercase characters in canonical email
+ + mailmap: do not lose single-letter names
+ + t4203: demonstrate loss of single-character name in mailmap entry
+
+ The mailmap mechanism unnecessarily downcased the e-mail addresses
+ in the output, and also ignored the human name when it is a single
+ character name.
+
+ This now has become Eric Sunshine's series, even though it still is
+ under jc/ hierarchy.
+
+ Will merge to 'master'.
+
+
+* ms/fetch-prune-configuration (2013-07-18) 1 commit
+ - fetch: make --prune configurable
+
+ Allow fetch.prune and remote.*.prune configuration variables to be set,
+ and "git fetch" to behave as if "--prune" is given.
+
+ Will merge to 'next'.
+
+
 * jk/gcc-function-attributes (2013-07-09) 3 commits
   (merged to 'next' on 2013-07-12 at 5a7081f)
  + wt-status: use "format" function attribute for status_printf
@@ -346,30 +646,28 @@ of the repositories listed at
 
  Allows custom curl configuration per URL when talking over http.
 
+ There is a reroll that needs to be picked up after discussion.
 
-* hv/config-from-blob (2013-07-12) 5 commits
- - do not die when error in config parsing of buf occurs
- - teach config --blob option to parse config from database
- - config: make parsing stack struct independent from actual data source
- - config: drop cf validity check in get_next_char()
- - config: factor out config file stack management
-
- Rerolled.
 
- Will merge to 'next'.
-
-
-* bc/push-match-many-refs (2013-07-08) 1 commit
-  (merged to 'next' on 2013-07-11 at df4d56d)
- + remote.c: avoid O(m*n) behavior in match_push_refs
+* hv/config-from-blob (2013-07-12) 5 commits
+  (merged to 'next' on 2013-07-15 at 9ab7f3f)
+ + do not die when error in config parsing of buf occurs
+ + teach config --blob option to parse config from database
+ + config: make parsing stack struct independent from actual data source
+ + config: drop cf validity check in get_next_char()
+ + config: factor out config file stack management
 
- Pushing to repositories with many refs employed O(m*n) algorithm
- where n is the number of refs on the receiving end.
+ Allow configuration data to be read from in-tree blob objects,
+ which would help working in a bare repository and submodule
+ updates.
 
  Will merge to 'master'.
 
 
-* jc/name-rev-exact-ref (2013-07-09) 3 commits
+* jc/name-rev-exact-ref (2013-07-18) 5 commits
+  (merged to 'next' on 2013-07-18 at c8bc00c)
+ + describe: fix --contains when a tag is given as input
+ + name-rev: differentiate between tags and commits they point at
   (merged to 'next' on 2013-07-11 at fd5b30c)
  + describe: use argv-array
  + name-rev: allow converting the exact object name at the tip of a ref
@@ -382,40 +680,6 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* jk/in-pack-size-measurement (2013-07-12) 10 commits
-  (merged to 'next' on 2013-07-12 at 5ba720f)
- + pack-revindex: radix-sort the revindex
- + pack-revindex: use unsigned to store number of objects
- + cat-file: split --batch input lines on whitespace
- + cat-file: add %(objectsize:disk) format atom
- + cat-file: add --batch-check=<format>
- + cat-file: refactor --batch option parsing
- + cat-file: teach --batch to stream blob objects
- + t1006: modernize output comparisons
- + teach sha1_object_info_extended a "disk_size" query
- + zero-initialize object_info structs
- (this branch is used by jk/cat-file-batch-optim.)
-
- Allow on-disk footprint of objects in packfiles (often they are a
- lot smaller than their true size, when expressed as deltas).
-
- Will merge to 'master'.
-
-
-* jk/maint-clone-shared-no-connectivity-validation (2013-07-08) 1 commit
-  (merged to 'next' on 2013-07-11 at 8183412)
- + clone: drop connectivity check for local clones
- (this branch is used by jk/clone-shared-no-connectivity-validation.)
-
- "git clone -s/-l" is a filesystem level copy and does not offer any
- protection against source repository being corrupt.  While the
- connectivity validation checks commits and trees being readable, it
- made the otherwise instantaneous local modes of clone much more
- expensive, without protecting blob data from bitflips.
-
- Will merge to 'master'.
-
-
 * km/svn-1.8-serf-only (2013-07-07) 2 commits
   (merged to 'next' on 2013-07-12 at 70e0b95)
  + git-svn: allow git-svn fetching to work using serf
@@ -424,6 +688,8 @@ of the repositories listed at
  Subversion 1.8.0 that was recently released breaks older subversion
  clients coming over http/https in various ways.
 
+ Are people on older Subversion happy with this change?
+
 
 * tr/merge-recursive-index-only (2013-07-07) 3 commits
  - merge-recursive: -Xindex-only to leave worktree unchanged
@@ -431,15 +697,7 @@ of the repositories listed at
  - merge-recursive: remove dead conditional in update_stages()
 
 
-* es/overlapping-range-set (2013-07-09) 2 commits
-  (merged to 'next' on 2013-07-11 at 3df5a94)
- + range_set: fix coalescing bug when range is a subset of another
- + t4211: fix broken test when one -L range is subset of another
-
- Will merge to 'master'.
-
-
-* jc/push-cas (2013-07-11) 6 commits
+* jc/push-cas (2013-07-17) 6 commits
  - t5533: test "push --lockref"
  - push --lockref: tie it all together
  - push --lockref: implement logic to populate old_sha1_expect[]
@@ -453,56 +711,16 @@ of the repositories listed at
 
  The machinery is more or less ready.  The "--force" option is again
  the big red button to override any safety, thanks to J6t's sanity
- (the original round allowed --lockref to defeat --force).
+ (the original round allowed --lockref to defeat --force).  The
+ logic to choose the default for --lockref is suitable only for the
+ simplest workflows, and may hurt users more than help them.
 
  Waiting for comments.
 
 
 * nd/const-struct-cache-entry (2013-07-09) 1 commit
- - Convert "struct cache_entry *" to "const ..." wherever possible
-
- Will merge to 'next'.
-
-
-* jk/fetch-pack-many-refs (2013-07-02) 3 commits
-  (merged to 'next' on 2013-07-09 at a53b7c7)
- + fetch-pack: avoid quadratic behavior in rev_list_push
- + commit.c: make compare_commits_by_commit_date global
- + fetch-pack: avoid quadratic list insertion in mark_complete
-
- Fetching between repositories with many refs employed O(n^2)
- algorithm to match up the common objects, which has been corrected.
-
- Will merge to 'master'.
-
-
-* jk/format-patch-from (2013-07-03) 2 commits
-  (merged to 'next' on 2013-07-09 at 6ed86d5)
- + teach format-patch to place other authors into in-body "From"
- + pretty.c: drop const-ness from pretty_print_context
-
- "git format-patch" learned "--from[=whom]" option, which sets the
- "From: " header to the specified person (or the person who runs the
- command, if "=whom" part is missing) and move the original author
- information to an in-body From: header as necessary.
-
- Will merge to 'master'.
-
-
-* bc/commit-invalid-utf8 (2013-07-09) 3 commits
-  (merged to 'next' on 2013-07-11 at a2ee572)
- + commit: reject non-characters
- + commit: reject overlong UTF-8 sequences
- + commit: reject invalid UTF-8 codepoints
-
- Tighten up autodetection of UTF-8 encoded strings.
-
- Will merge to 'master'.
-
-
-* bc/send-email-use-port-as-separate-param (2013-07-04) 1 commit
-  (merged to 'next' on 2013-07-09 at a569eb5)
- + send-email: provide port separately from hostname
+  (merged to 'next' on 2013-07-15 at 9ce0122)
+ + Convert "struct cache_entry *" to "const ..." wherever possible
 
  Will merge to 'master'.
 
@@ -521,90 +739,24 @@ of the repositories listed at
  in-tree. Assuming that "git contact" is something we may want to
  have as a member of the official set of commands someday, that is.
 
- Will merge to 'next'.
-
-
-* cp/submodule-custom-update (2013-07-03) 1 commit
-  (merged to 'next' on 2013-07-09 at 3d27516)
- + submodule update: allow custom command to update submodule working tree
-
- In addition to the choice from "rebase, merge, or checkout-detach",
- allow a custom command to be used in "submodule update" to update
- the working tree of submodules.
-
- Will merge to 'master'.
-
-
-* mv/merge-ff-tristate (2013-07-02) 1 commit
-  (merged to 'next' on 2013-07-09 at c32b95d)
- + merge: handle --ff/--no-ff/--ff-only as a tri-state option
-
- The configuration variable "merge.ff" was cleary a tri-state to
- choose one from "favor fast-forward when possible", "always create
- a merge even when the history could fast-forward" and "do not
- create any merge, only update when the history fast-forwards", but
- the command line parser did not implement the usual convention of
- "last one wins, and command line overrides the configuration"
- correctly.
-
- Will merge to 'master'.
-
-
-* rr/rebase-reflog-message-reword (2013-06-23) 2 commits
-  (merged to 'next' on 2013-07-11 at 59921e0)
- + rebase -i: use a better reflog message
- + rebase: use a better reflog message
-
- "git rebase [-i]" used to leave just "rebase" as its reflog message
- for some operations. This rewords them to be more informative.
-
- Will merge to 'master'.
-
-
-* bp/mediawiki-preview (2013-07-08) 7 commits
-  (merged to 'next' on 2013-07-12 at 870890a)
- + git-remote-mediawiki: add preview subcommand into git mw
- + git-remote-mediawiki: add git-mw command
- + git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
- + git-remote-mediawiki: update tests to run with the new bin-wrapper
- + git-remote-mediawiki: add a git bin-wrapper for developement
- + wrap-for-bin: make bin-wrappers chainable
- + git-remote-mediawiki: introduction of Git::Mediawiki.pm
-
- Add a command to allow previewing the contents locally before
- pushing it out, when working with a MediaWiki remote.
-
- I personally do not think this belongs to Git.  If you are working
- on a set of AsciiDoc source files, you sure do want to locally
- format to preview what you will be pushing out, and if you are
- working on a set of C or Java source files, you do want to test it
- before pushing it out, too.  That kind of thing belongs to your
- build script, not to your SCM.
+ Perhaps this should be rebased on es/check-mailmap to utilize it.
 
- But I'll let it pass, as this is only a contrib/ thing.
 
- Will merge to 'master'.
-
-
-* fg/submodule-clone-depth (2013-07-03) 1 commit
-  (merged to 'next' on 2013-07-09 at ab156f3)
- + Add --depth to submodule update/add
-
- Allow shallow-cloning of submodules with "git submodule update".
+* jc/pull-training-wheel (2013-07-18) 1 commit
+ - pull: require choice between rebase/merge on non-fast-forward pull
 
- Will merge to 'master'.
+ Make "git pull" (without arguments that say what branch to
+ integrate from where) refuse with "it does not fast forward; choose
+ between 'pull --merge' and 'pull --rebase'".
 
+ See
 
-* jc/pull-training-wheel (2013-06-27) 1 commit
- - pull: require choice between rebase/merge on non-fast-forward pull
+ http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=225326
+ http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=229221
 
- Make "git pull" refuse with "it does not fast forward; choose between
- 'pull --merge' and 'pull --rebase'".
+ for full discussion.
 
- John Keeping seems to want to restrict this to "git pull" without
- any other argument. I personally do not have a strong opinion
- either way, but I'm inclined to take such a patch to loosen the new
- logic with other people's support.  Hint, hint...
+ Waiting for reviews.
 
 
 * jk/fast-import-empty-ls (2013-06-23) 4 commits
@@ -617,19 +769,10 @@ of the repositories listed at
  $gmane/228741
 
 
-* rj/cygwin-clarify-use-of-cheating-lstat (2013-07-11) 1 commit
- - cygwin: Add fast_lstat() and fast_fstat() functions
-
- Turns quite a many uses of lstat() into fast_lstat() to mark
- callsites that allow "a faster but cheating and incorrect variant".
- Defining fast_lstat() to be the same as lstat(), is fine from
- correctness point of view, but it can be replaced with an
- alternative implementation that more quickly grabs only the part of
- the stat information that matter (e.g. cygwin).  The places where
- we _do_ require a fully correct lstat() are left as lstat().
+* rj/cygwin-clarify-use-of-cheating-lstat (2013-07-18) 1 commit
+ - cygwin: Remove the Win32 l/stat() implementation
 
- The damage this patch makes to the the core codepath on systems may
- be rather large from readability's point of view, though.
+ Waiting for the discussion to settle.
 
 
 * jc/reflog-doc (2013-06-19) 1 commit