Permalink
Commits on Oct 8, 2012
  1. Git 1.7.12.3

    gitster committed Oct 8, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'os/commit-submodule-ignore' into maint

    gitster committed Oct 8, 2012
    "git status" honored the ignore=dirty settings in .gitmodules but
    "git commit" didn't.
    
    * os/commit-submodule-ignore:
      commit: pay attention to submodule.$name.ignore in .gitmodules
  3. Merge branch 'jk/receive-pack-unpack-error-to-pusher' into maint

    gitster committed Oct 8, 2012
    "git receive-pack" (the counterpart to "git push") did not give
    progress output while processing objects it received to the puser
    when run over the smart-http protocol.
    
    * jk/receive-pack-unpack-error-to-pusher:
      receive-pack: drop "n/a" on unpacker errors
      receive-pack: send pack-processing stderr over sideband
      receive-pack: redirect unpack-objects stdout to /dev/null
  4. Merge branch 'rt/maint-clone-single' into maint

    gitster committed Oct 8, 2012
    A repository created with "git clone --single" had its fetch
    refspecs set up just like a clone without "--single", leading the
    subsequent "git fetch" to slurp all the other branches, defeating
    the whole point of specifying "only this branch".
    
    * rt/maint-clone-single:
      clone --single: limit the fetch refspec to fetched branch
  5. Merge branch 'jc/blame-follows-renames' into maint

    gitster committed Oct 8, 2012
    It was unclear in the documentation for "git blame" that it is
    unnecessary for users to use the "--follow" option.
    
    * jc/blame-follows-renames:
      git blame: document that it always follows origin across whole-file renames
  6. Merge branch 'lt/mailinfo-handle-attachment-more-sanely' into maint

    gitster committed Oct 8, 2012
    A patch attached as application/octet-stream (e.g. not text/*) were
    mishandled, not correctly honoring Content-Transfer-Encoding
    (e.g. base64).
    
    * lt/mailinfo-handle-attachment-more-sanely:
      mailinfo: don't require "text" mime type for attachments
Commits on Oct 2, 2012
  1. Start preparing for 1.7.12.3

    gitster committed Oct 2, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'rr/maint-submodule-unknown-cmd' into maint

    gitster committed Oct 2, 2012
    "git submodule frotz" was not diagnosed as "frotz" being an unknown
    subcommand to "git submodule"; the user instead got a complaint that
    "git submodule status" was run with an unknown path "frotz".
    
    * rr/maint-submodule-unknown-cmd:
      submodule: if $command was not matched, don't parse other args
  3. Merge branch 'sp/maint-http-enable-gzip' into maint

    gitster committed Oct 2, 2012
    "git fetch" over http advertised that it supports "deflate", which
    is much less common, and did not advertise more common "gzip" on its
    Accept-Encoding header.
    
    * sp/maint-http-enable-gzip:
      Enable info/refs gzip decompression in HTTP client
  4. Merge branch 'sp/maint-http-info-refs-no-retry' into maint

    gitster committed Oct 2, 2012
    "git fetch" over http had an old workaround for an unlikely server
    misconfiguration; it turns out that this hurts debuggability of the
    configuration in general, and has been reverted.
    
    * sp/maint-http-info-refs-no-retry:
      Revert "retry request without query when info/refs?query fails"
  5. l10n: Fix to Swedish translation

    nafmo committed with gitster Oct 2, 2012
    Fix bad translation of "Receiving objects".
    
    Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 1, 2012
  1. mailinfo: don't require "text" mime type for attachments

    torvalds committed with gitster Sep 30, 2012
    Currently "git am" does insane things if the mbox it is given contains
    attachments with a MIME type that aren't "text/*".
    
    In particular, it will still decode them, and pass them "one line at a
    time" to the mail body filter, but because it has determined that they
    aren't text (without actually looking at the contents, just at the mime
    type) the "line" will be the encoding line (eg 'base64') rather than a
    line of *content*.
    
    Which then will cause the text filtering to fail, because we won't
    correctly notice when the attachment text switches from the commit message
    to the actual patch. Resulting in a patch failure, even if patch may be a
    perfectly well-formed attachment, it's just that the message type may be
    (for example) "application/octet-stream" instead of "text/plain".
    
    Just remove all the bogus games with the message_type. The only difference
    that code creates is how the data is passed to the filter function
    (chunked per-pred-code line or per post-decode line), and that difference
    is *wrong*, since chunking things per pre-decode line can never be a
    sensible operation, and cannot possibly matter for binary data anyway.
    
    This code goes all the way back to March of 2007, in commit 87ab799
    ("builtin-mailinfo.c infrastrcture changes"), and apparently Don used to
    pass random mbox contents to git. However, the pre-decode vs post-decode
    logic really shouldn't matter even for that case, and more importantly, "I
    fed git am crap" is not a valid reason to break *real* patch attachments.
    
    If somebody really cares, and determines that some attachment is binary
    data (by looking at the data, not the MIME-type), the whole attachment
    should be dismissed, rather than fed in random-sized chunks to
    "handle_filter()".
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Don Zickus <dzickus@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 30, 2012
  1. Git 1.7.12.2

    gitster committed Sep 30, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'maint' of git://github.com/git-l10n/git-po into maint

    gitster committed Sep 30, 2012
    Update German and Simplified Chinese translations.
    
    * 'maint' of git://github.com/git-l10n/git-po:
      l10n: de.po: correct translation of a 'rebase' message
      l10n: Improve many translation for zh_CN
      l10n: Unify the translation for '(un)expected'
  3. Merge branch 'jc/maint-log-grep-all-match-1' into maint

    gitster committed Sep 30, 2012
    * jc/maint-log-grep-all-match-1:
      grep.c: make two symbols really file-scope static this time
      t7810-grep: test --all-match with multiple --grep and --author options
      t7810-grep: test interaction of multiple --grep and --author options
      t7810-grep: test multiple --author with --all-match
      t7810-grep: test multiple --grep with and without --all-match
      t7810-grep: bring log --grep tests in common form
      grep.c: mark private file-scope symbols as static
      log: document use of multiple commit limiting options
      log --grep/--author: honor --all-match honored for multiple --grep patterns
      grep: show --debug output only once
      grep: teach --debug option to dump the parse tree
  4. Merge branch 'jc/maint-mailinfo-mime-attr' into maint

    gitster committed Sep 30, 2012
    * jc/maint-mailinfo-mime-attr:
      mailinfo: do not concatenate charset= attribute values from mime headers
Commits on Sep 27, 2012
  1. Merge branch 'l10n-thynson' of git://github.com/thynson/git-po-zh_CN …

    jiangxin committed Sep 27, 2012
    …into maint
    
    * 'l10n-thynson' of git://github.com/thynson/git-po-zh_CN:
      l10n: Improve many translation for zh_CN
      l10n: Unify the translation for '(un)expected'
  2. Merge branch 'maint' of https://github.com/ralfth/git-po-de into maint

    jiangxin committed Sep 27, 2012
    * 'maint' of https://github.com/ralfth/git-po-de:
      l10n: de.po: correct translation of a 'rebase' message
  3. l10n: de.po: correct translation of a 'rebase' message

    ralfth committed Sep 24, 2012
    Noticed-by: Sascha Cunz <sascha-ml@babbelbox.org>
    Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Commits on Sep 25, 2012
  1. submodule: if $command was not matched, don't parse other args

    artagnon committed with gitster Sep 22, 2012
    "git submodule" command DWIMs the command line and assumes a
    unspecified action word for 'status' action.  This is a UI mistake
    that leads to a confusing behaviour.  A mistyped command name is
    instead treated as a request for 'status' of the submodule with that
    name, e.g.
    
        $ git submodule show
        error: pathspec 'show' did not match any file(s) known to git.
        Did you forget to 'git add'?
    
    Stop DWIMming an unknown or mistyped subcommand name as pathspec
    given to unspelled "status" subcommand.  "git submodule" without any
    argument is still interpreted as "git submodule status", but its
    value is questionable.
    
    Adjust t7400 to match, and stop advertising the default subcommand
    being 'status' which does not help much in practice, other than
    promoting laziness and confusion.
    
    Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Revert "completion: fix shell expansion of items"

    peff committed with gitster Sep 25, 2012
    This reverts commit 25ae7cf.
    
    That patch does fix expansion of weird variables in some
    simple tests, but it also seems to break other things, like
    expansion of refs by "git checkout".
    
    While we're sorting out the correct solution, we are much
    better with the original bug (people with metacharacters in
    their completions occasionally see an error message) than
    the current bug (ref completion does not work at all).
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 24, 2012
  1. Start preparation for 1.7.12.2

    gitster committed Sep 24, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'jc/maint-blame-no-such-path' into maint

    gitster committed Sep 24, 2012
    Even during a conflicted merge, "git blame $path" always meant to
    blame uncommitted changes to the "working tree" version; make it
    more useful by showing cleanly merged parts as coming from the other
    branch that is being merged.
    
    This incidentally fixes an unrelated problem on a case insensitive
    filesystem, where "git blame MAKEFILE" run in a history that has
    "Makefile" but not "MAKEFILE" did not say "No such file MAKEFILE in
    HEAD" but pretended as if "MAKEFILE" was a newly added file.
    
    * jc/maint-blame-no-such-path:
      blame: allow "blame file" in the middle of a conflicted merge
      blame $path: avoid getting fooled by case insensitive filesystems
  3. Merge branch 'dj/fetch-all-tags' into maint

    gitster committed Sep 24, 2012
    "git fetch --all", when passed "--no-tags", did not honor the
    "--no-tags" option while fetching from individual remotes (the same
    issue existed with "--tags", but combination "--all --tags" makes
    much less sense than "--all --no-tags").
    
    * dj/fetch-all-tags:
      fetch --all: pass --tags/--no-tags through to each remote
      submodule: use argv_array instead of hand-building arrays
      fetch: use argv_array instead of hand-building arrays
      argv-array: fix bogus cast when freeing array
      argv-array: add pop function
  4. Improve the description of GIT_PS1_SHOWUPSTREAM

    leto committed with gitster Sep 24, 2012
    Describe what '=' means in the output of __git_ps1 when using
    GIT_PS1_SHOWUPSTREAM, which was not previously described.
    
    Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. commit: pay attention to submodule.$name.ignore in .gitmodules

    orgads committed with gitster Sep 23, 2012
    "git status" does not list a submodule with uncommitted working tree
    files as modified when "submodule.$name.ignore" is set to "dirty" in
    in-tree ".gitmodules" file.  Both status and commit honor the setting
    in $GIT_DIR/config, but "commit" does not pick it up from .gitmodules,
    which is inconsistent.
    
    Teach "git commit" to pay attention to the setting in .gitmodules as
    well.
    
    Signed-off-by: Orgad Shaneh <orgads@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 21, 2012
  1. git blame: document that it always follows origin across whole-file r…

    gitster committed Sep 21, 2012
    …enames
    
    Make it clear to people who (rightly or wrongly) think that the
    "--follow" option should follow origin across while-file renames
    that we already do so.  That would explain the output that they see
    when they do give the "--follow" option to the command.
    
    We may or may not want to do a "--no-follow" patch as a follow-up,
    but that is a separate topic.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. receive-pack: drop "n/a" on unpacker errors

    peff committed with gitster Sep 21, 2012
    The output from git push currently looks like this:
    
      $ git push dest HEAD
      fatal: [some message from index-pack]
      error: unpack failed: index-pack abnormal exit
      To dest
       ! [remote rejected] HEAD -> master (n/a (unpacker error))
    
    That n/a is meant to be "the per-ref status is not
    available" but the nested parentheses just make it look
    ugly. Let's turn the final line into just:
    
       ! [remote rejected] HEAD -> master (unpacker error)
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. receive-pack: send pack-processing stderr over sideband

    peff committed with gitster Sep 21, 2012
    Receive-pack invokes either unpack-objects or index-pack to
    handle the incoming pack. However, we do not redirect the
    stderr of the sub-processes at all, so it is never seen by
    the client. From the initial thread adding sideband support,
    which is here:
    
      http://thread.gmane.org/gmane.comp.version-control.git/139471
    
    it is clear that some messages are specifically kept off the
    sideband (with the assumption that they are of interest only
    to an administrator, not the client). The stderr of the
    subprocesses is mentioned in the thread, but it's unclear if
    they are included in that group, or were simply forgotten.
    
    However, there are a few good reasons to show them to the
    client:
    
      1. In many cases, they are directly about the incoming
         packfile (e.g., fsck warnings with --strict, corruption
         in the packfile, etc). Without these messages, the
         client just gets "unpacker error" with no extra useful
         diagnosis.
    
      2. No matter what the cause, we are probably better off
         showing the errors to the client. If the client and the
         server admin are not the same entity, it is probably
         much easier for the client to cut-and-paste the errors
         they see than for the admin to try to dig them out of a
         log and correlate them with a particular session.
    
      3. Users of the ssh transport typically already see these
         stderr messages, as the remote's stderr is copied
         literally by ssh. This brings other transports (http,
         and push-over-git if you are crazy enough to enable it)
         more in line with ssh. As a bonus for ssh users,
         because the messages are now fed through the sideband
         and printed by the local git, they will have "remote:"
         prepended and be properly interleaved with any local
         output to stderr.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. receive-pack: redirect unpack-objects stdout to /dev/null

    peff committed with gitster Sep 21, 2012
    The unpack-objects command should not generally produce any
    output on stdout. However, if it's given extra input after
    the packfile, it will spew the remainder to stdout. When
    called by receive-pack, this means we will break protocol,
    since our stdout is connected to the remote send-pack.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 20, 2012
  1. Merge branch 'nd/maint-diffstat-summary' into maint

    gitster committed Sep 20, 2012
    * nd/maint-diffstat-summary:
      Revert diffstat back to English
  2. Merge branch 'jw/doc-commit-title' into maint

    gitster committed Sep 20, 2012
    * jw/doc-commit-title:
      Documentation: describe subject more precisely
  3. Merge branch 'dg/run-command-child-cleanup' into maint

    gitster committed Sep 20, 2012
    * dg/run-command-child-cleanup:
      run-command.c: fix broken list iteration in clear_child_for_cleanup
  4. Merge branch 'jc/mailinfo-RE' into maint

    gitster committed Sep 20, 2012
    * jc/mailinfo-RE:
      mailinfo: strip "RE: " prefix
  5. Merge branch 'sn/ls-remote-get-url-doc' into maint

    gitster committed Sep 20, 2012
    * sn/ls-remote-get-url-doc:
      ls-remote: document the '--get-url' option