Permalink
Commits on Jun 17, 2012
  1. Git 1.7.10.5

    gitster committed Jun 17, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Do not autosquash in case of an implied interactive rebase

    vfr-nl committed with gitster May 24, 2012
    The option to autosquash is only used in case of an interactive rebase.
    When merges are preserved, rebase uses an interactive rebase internally,
    but in this case autosquash should still be disabled.
    
    Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Merge branch 'js/maint-fast-export-mark-error' into maint

    gitster committed Jun 17, 2012
    "git fast-export" did not give a readable error message when the same
    mark erroneously appeared twice in the --import-marks input.
Commits on Jun 12, 2012
  1. fast-export: report SHA-1 instead of gibberish when marks exist already

    dscho committed with gitster Jun 12, 2012
    Cc: Pieter de Bie <pdebie@ai.rug.nl>
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Max Horn <max@quendi.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 3, 2012
  1. Git 1.7.10.4

    gitster committed Jun 3, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'ef/maint-rebase-error-message' into maint

    gitster committed Jun 3, 2012
    When "git rebase" was given a bad commit to replay the history on,
    its error message did not correctly give the command line argument
    it had trouble parsing.
    
    By Erik Faye-Lund
    * ef/maint-rebase-error-message:
      rebase: report invalid commit correctly
Commits on Jun 1, 2012
  1. Start preparing for 1.7.10.4

    gitster committed Jun 1, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'ef/http-o-depends-on-gvf' into maint

    gitster committed Jun 1, 2012
    A minor compilation fix.
    
    By Erik Faye-Lund
    * ef/http-o-depends-on-gvf:
      Makefile: add missing GIT-VERSION-FILE dependency
  3. Merge branch 'rs/maint-grep-F' into maint

    gitster committed Jun 1, 2012
    "git grep -e '$pattern'", unlike the case where the patterns are read from
    a file, did not treat individual lines in the given pattern argument as
    separate regular expressions as it should.
    
    By René Scharfe
    * rs/maint-grep-F:
      grep: stop leaking line strings with -f
      grep: support newline separated pattern list
      grep: factor out do_append_grep_pat()
      grep: factor out create_grep_pat()
  4. Merge branch 'jk/ident-split-fix' into maint

    gitster committed Jun 1, 2012
    An author/committer name that is a single character was mishandled as an
    invalid name by mistake.
    
    By Jeff King
    * jk/ident-split-fix:
      fix off-by-one error in split_ident_line
  5. Merge branch 'jk/pretty-commit-header-incomplete-line' into maint

    gitster committed Jun 1, 2012
    By Jeff King
    * jk/pretty-commit-header-incomplete-line:
      avoid segfault when reading header of malformed commits
  6. Merge branch 'jk/format-person-part-buffer-limit' into maint

    gitster committed Jun 1, 2012
    By Jeff King
    * jk/format-person-part-buffer-limit:
      pretty: avoid buffer overflow in format_person_part
  7. Merge branch 'ap/checkout-no-progress-for-non-tty' into maint

    gitster committed Jun 1, 2012
    "git checkout" gave progress display even when the standard error
    stream was not connected to the tty, which made little sense.
    
    By Avery Pennarun
    * ap/checkout-no-progress-for-non-tty:
      checkout: no progress messages if !isatty(2).
  8. Merge branch 'maint' of git://github.com/git-l10n/git-po into maint

    gitster committed Jun 1, 2012
    By Peter Krefting
    via Peter Krefting
    * 'maint' of git://github.com/git-l10n/git-po:
      Update Swedish translation (728t0f0u)
Commits on May 31, 2012
  1. Makefile: add missing GIT-VERSION-FILE dependency

    kusma committed with gitster May 31, 2012
    In 20fc9bc (Set HTTP user agent to git/GIT_VERSION, 2006-04-04),
    http.o started recording GIT_VERSION, but http.o wasn't added
    to the list of files that depends on GIT-VERSION-FILE.
    
    Fix this, so mofications to GIT-VERSION-FILE will result in an
    updated user-agent string.
    
    Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 30, 2012
  1. rebase: report invalid commit correctly

    kusma committed with gitster May 30, 2012
    In 9765b6a (rebase: align variable content, 2011-02-06), the code
    to error out was moved up one level. Unfortunately, one reference
    to a function parameter wasn't rewritten as it should, leading to
    the wrong parameter being errored on.
    
    This error was propagated by 71786f5 (rebase: factor out reference
    parsing, 2011-02-06) and merged in 78c6e0f (Merge branch
    'mz/rebase', 2011-04-28).
    
    Correct this by reporting $onto_name istead.
    
    Reported-By: Manuela Hutter <manuelah@opera.com>
    Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 29, 2012
  1. Update Swedish translation (728t0f0u)

    nafmo committed May 29, 2012
    Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Commits on May 25, 2012
  1. Git 1.7.10.3

    gitster committed May 25, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'hv/submodule-alt-odb' into maint

    gitster committed May 25, 2012
    When a submodule repository uses alternate object store mechanism, some
    commands that were started from the superproject did not notice it and
    failed with "No such object" errors.  The subcommands of "git submodule"
    command that recursed into the submodule in a separate process were OK;
    only the ones that cheated and peeked directly into the submodule's
    repository from the primary process were affected.
    
    By Heiko Voigt
    * hv/submodule-alt-odb:
      teach add_submodule_odb() to look for alternates
  3. Merge branch 'bp/diff-no-index-strbuf-fix' into maint

    gitster committed May 25, 2012
    The directory path used in "git diff --no-index", when it recurses
    down, was broken with a recent update after v1.7.10.1 release.
    
    By Bobby Powers
    * bp/diff-no-index-strbuf-fix:
      diff --no-index: don't leak buffers in queue_diff
      diff --no-index: reset temporary buffer lengths on directory iteration
  4. fmt-merge-message: add empty line between tag and signature verification

    torvalds committed with gitster May 25, 2012
    When adding the information from a tag, put an empty line between the
    message of the tag and the commented-out signature verification
    information.
    
    At least for the kernel workflow, I often end up re-formatting the message
    that people send me in the tag data. In that situation, putting the tag
    message and the tag signature verification back-to-back then means that
    normal editor "reflow parapgraph" command will get confused and think that
    the signature is a continuation of the last message paragraph.
    
    So I always end up having to first add an empty line, and then go back and
    reflow the last paragraph. Let's just do it in git directly.
    
    The extra vertical space also makes the verification visually stand out
    more from the user-supplied message, so it looks a bit more readable to me
    too, but that may be just an odd personal preference.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. config doc: remove confusion about relative GIT_DIR from FILES section

    jrn committed with gitster May 25, 2012
    From the FILES section of the git-config(1) manual:
    
    	$GIT_DIR/config::
    		Repository specific configuration file. (The filename is
    		of course relative to the repository root, not the working
    		directory.)
    
    That's confusing because $GIT_DIR really is relative to the working
    directory.
    
    	$ GIT_DIR=.git GIT_EDITOR='pwd; echo editing'
    	$ export GIT_DIR GIT_EDITOR
    	$ git config --edit --local
    	/home/jrn/src/git/Documentation
    	editing .git/config
    
    It turns out that the comment is a remnant from older days when the
    heading said ".git/config" (which is indeed relative to the top of the
    worktree).
    
    It was only when the heading was changed to refer more precisely to
    <git dir>/config (see v1.5.3.2~18, AsciiDoc tweak to avoid leading
    dot, 2007-09-14) that the parenthesis stopped making sense.  Remove
    it.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. Update draft release notes to 1.7.10.3

    gitster committed May 25, 2012
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. Merge branch 'jk/maint-status-porcelain-z-b' into maint

    gitster committed May 25, 2012
    "git status --porcelain" ignored "--branch" option by mistake.  The output
    for "git status --branch -z" was also incorrect and did not terminate the
    record for the current branch name with NUL as asked.
    
    By Jeff King
    * jk/maint-status-porcelain-z-b:
      status: respect "-b" for porcelain format
      status: fix null termination with "-b"
      status: refactor null_termination option
      commit: refactor option parsing
Commits on May 24, 2012
  1. checkout: no progress messages if !isatty(2).

    apenwarr committed with gitster May 24, 2012
    If stderr isn't a tty, we shouldn't be printing incremental progress
    messages.  In particular, this affects 'git checkout -f . >&logfile'
    unless you provided -q.  And git-new-workdir has no way to provide -q.
    
    It would probably be better to have progress.c check isatty(2) all the time,
    but that wouldn't allow things like 'git push --progress' to force progress
    reporting to on, so I won't try to solve the general case right now.
    
    Actual fix suggested by Jeff King.
    
    Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. osxkeychain: pull make config from top-level directory

    peff committed with gitster May 23, 2012
    The default compiler and cflags were mostly "works for me"
    when I built the original version. We need to be much less
    careful here than usual, because we know we are building
    only on OS X.  But it's only polite to at least respect the
    CFLAGS and CC definitions that the user may have provided
    earlier.
    
    While we're at it, let's update our definitions and rules to
    be more like the top-level Makefile; default our CFLAGS to
    include -O2, and make sure we use CFLAGS and LDFLAGS when
    linking.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 22, 2012
  1. avoid segfault when reading header of malformed commits

    peff committed with gitster May 22, 2012
    If a commit object has a header line at the end of the
    buffer that is missing its newline (or if it appears so
    because the content on the header line contains a stray
    NUL), then git will segfault.
    
    Interestingly, this case is explicitly handled and we do
    correctly scan the final line for the header we are looking
    for. But if we don't find it, we will dereference NULL while
    trying to look at the next line.
    
    Git will never generate such a commit, but it's good to be
    defensive. We could die() in such a case, but since it's
    easy enough to handle it gracefully, let's just issue a
    warning and continue (so you could still view such a commit
    with "git show", though you might be missing headers after
    the NUL).
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. pretty: avoid buffer overflow in format_person_part

    peff committed with gitster May 22, 2012
    When we parse the name and email from a commit to
    pretty-print them, we usually can just put the result
    directly into our strbuf result. However, if we are going to
    use the mailmap, then we must first copy them into a
    NUL-terminated buffer to feed to the mailmap machinery.
    
    We did so by using strlcpy into a static buffer, but we used
    it wrong. We fed it the length of the substring we wanted to
    copy, but never checked that that length was less than the
    size of the destination buffer.
    
    The simplest fix is to just use snprintf to copy the
    substring properly while still respecting the destination
    buffer's size. It might seem like replacing the static
    buffer with a strbuf would help, but we need to feed a
    static buffer to the mailmap machinery anyway, so there's
    not much benefit to handling arbitrary sizes.
    
    A more ideal solution would be for mailmap to grow an
    interface that:
    
      1. Takes a pointer and length combination, instead of
         assuming a NUL-terminated string.
    
      2. Returns a pointer to the mailmap's allocated string,
         rather than copying it into the buffer.
    
    Then we could avoid the need for an extra buffer entirely.
    However, doing this would involve a lot of refactoring of
    mailmap and of string_list (which mailmap uses to store the
    map itself). For now, let's do the simplest thing to fix the
    bug.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. fix off-by-one error in split_ident_line

    peff committed with gitster May 22, 2012
    Commit 4b340cf split the logic to parse an ident line out of
    pretty.c's format_person_part. But in doing so, it
    accidentally introduced an off-by-one error that caused it
    to think that single-character names were invalid.
    
    This manifested itself as the "%an" format failing to show
    anything at all for a single-character name.
    
    Reported-by: Brian Turner <bturner@atlassian.com>
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 21, 2012
  1. grep: stop leaking line strings with -f

    René Scharfe committed with gitster May 21, 2012
    When reading patterns from a file, we pass the lines as allocated string
    buffers to append_grep_pat() and never free them.  That's not a problem
    because they are needed until the program ends anyway.
    
    However, now that the function duplicates the pattern string, we can
    reuse the strbuf after calling that function.  This simplifies the code
    a bit and plugs a minor memory leak.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 20, 2012
  1. grep: support newline separated pattern list

    René Scharfe committed with gitster May 20, 2012
    Currently, patterns that contain newline characters don't match anything
    when given to git grep.  Regular grep(1) interprets patterns as lists of
    newline separated search strings instead.
    
    Implement this functionality by creating and inserting extra grep_pat
    structures for patterns consisting of multiple lines when appending to
    the pattern lists.  For simplicity, all pattern strings are duplicated.
    The original pattern is truncated in place to make it contain only the
    first line.
    
    Requested-by: Torne (Richard Coles) <torne@google.com>
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. grep: factor out do_append_grep_pat()

    René Scharfe committed with gitster May 20, 2012
    Add do_append_grep_pat() as a shared function for adding patterns to
    the header pattern list and the general pattern list.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. grep: factor out create_grep_pat()

    René Scharfe committed with gitster May 20, 2012
    Add create_grep_pat(), a shared helper for all grep pattern allocation
    and initialization needs.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. Consistently use "superproject" instead of "supermodule"

    jlehmann committed with gitster May 20, 2012
    We fairly consistently say "superproject" and never "supermodule" these
    days. But there are seven occurrences of "supermodule" left in the current
    work tree. Three appear in Release Notes for 1.5.3 and 1.7.7, three in
    test names and one in a C-code comment.
    
    Replace all occurrences of "supermodule" outside of the Release Notes
    (which shouldn't be changed after the fact) with "superproject" for
    consistency.
    
    Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. t3404: begin "exchange commits with -p" test with correct preconditions

    j6t committed with gitster May 19, 2012
    The test case shows a bug in 'rebase -p', but even if the bug were fixed
    the test would fail because it did not ensure that the preconditions match
    the postconditions that were checked. Insert the suitable 'git checkout'.
    
    Signed-off-by: Johannes Sixt <j6t@kdbg.org>
    Acked-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>