Permalink
Commits on Dec 16, 2009
  1. Git 1.6.5.7

    gitster committed Dec 16, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. worktree: don't segfault with an absolute pathspec without a work tree

    gitster committed Dec 16, 2009
    If a command is run with an absolute path as a pathspec inside a bare
    repository, e.g. "rev-list HEAD -- /home", the code tried to run strlen()
    on NULL, which is the result of get_git_work_tree(), and segfaulted.  It
    should just fail instead.
    
    Currently the function returns NULL even inside .git/ in a repository
    with a work tree, but that is a separate issue.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. ignore unknown color configuration

    peff authored and gitster committed Dec 12, 2009
    When parsing the config file, if there is a value that is
    syntactically correct but unused, we generally ignore it.
    This lets non-core porcelains store arbitrary information in
    the config file, and it means that configuration files can
    be shared between new and old versions of git (the old
    versions might simply ignore certain configuration).
    
    The one exception to this is color configuration; if we
    encounter a color.{diff,branch,status}.$slot variable, we
    die if it is not one of the recognized slots (presumably as
    a safety valve for user misconfiguration). This behavior
    has existed since 801235c (diff --color: use
    $GIT_DIR/config, 2006-06-24), but hasn't yet caused a
    problem. No porcelain has wanted to store extra colors, and
    we once a color area (like color.diff) has been introduced,
    we've never changed the set of color slots.
    
    However, that changed recently with the addition of
    color.diff.func. Now a user with color.diff.func in their
    config can no longer freely switch between v1.6.6 and older
    versions; the old versions will complain about the existence
    of the variable.
    
    This patch loosens the check to match the rest of
    git-config; unknown color slots are simply ignored. This
    doesn't fix this particular problem, as the older version
    (without this patch) is the problem, but it at least
    prevents it from happening again in the future.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. help.autocorrect: do not run a command if the command given is junk

    j6t authored and gitster committed Dec 15, 2009
    If a given command is not found, then help.c tries to guess which one the
    user could have meant. If help.autocorrect is 0 or unset, then a list of
    suggestions is given as long as the dissimilarity between the given command
    and the candidates is not excessively high. But if help.autocorrect was
    non-zero (i.e., a delay after which the command is run automatically), the
    latter restriction on dissimilarity was not obeyed.
    
    In my case, this happened:
    
     $ git ..daab02
     WARNING: You called a Git command named '..daab02', which does not exist.
     Continuing under the assumption that you meant 'read-tree'
     in 4.0 seconds automatically...
    
    The patch reuses the similarity limit that is also applied when the list of
    suggested commands is printed.
    
    Signed-off-by: Johannes Sixt <j6t@kdbg.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 15, 2009
  1. Illustrate "filter" attribute with an example

    Nanako Shiraishi authored and gitster committed Dec 15, 2009
    The example was taken from aa4ed40
    (Add 'filter' attribute and external filter driver definition).
    
    Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 10, 2009
  1. Git 1.6.5.6

    gitster committed Dec 10, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Fix archive format with -- on the command line

    gitster committed Dec 10, 2009
    Giving --format from the command line, or using output file extention to
    DWIM the output format, with a pathspec that is disambiguated with an
    explicit double-dash on the command line, e.g.
    
        git archive -o file --format=zip HEAD -- path
        git archive -o file.zip HEAD -- path
    
    didn't work correctly.
    
    This was because the code reordered (when one was given) or added (when
    the format was inferred) a --format argument at the end, effectively
    making it to "archive HEAD -- path --format=zip", i.e. an extra pathspec
    that is unlikely to match anything.
    
    The command line argument list should always be "options, revs and then
    paths", and we should set a good example by inserting the --format at the
    beginning instead.
    
    Reported-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Remove post-upload-hook

    gitster committed Dec 10, 2009
    This hook runs after "git fetch" in the repository the objects are
    fetched from as the user who fetched, and has security implications.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 9, 2009
  1. Merge branch 'mm/maint-merge-ff-error-message-fix' into maint

    gitster committed Dec 9, 2009
    * mm/maint-merge-ff-error-message-fix:
      builtin-merge: show user-friendly error messages for fast-forward too.
      merge-recursive: make the error-message generation an extern function
    
    Conflicts:
    	merge-recursive.c
  2. Merge branch 'jn/maint-pull-rebase-error-message' into maint

    gitster committed Dec 9, 2009
    * jn/maint-pull-rebase-error-message:
      pull: clarify advice for the unconfigured error case
  3. Merge branch 'jk/maint-add-p-delete-fix' into maint

    gitster committed Dec 9, 2009
    * jk/maint-add-p-delete-fix:
      add-interactive: fix deletion of non-empty files
Commits on Dec 8, 2009
  1. add-interactive: fix deletion of non-empty files

    peff authored and gitster committed Dec 8, 2009
    Commit 24ab81a fixed the deletion of empty files, but broke
    deletion of non-empty files. The approach it took was to
    factor out the "deleted" line from the patch header into its
    own hunk, the same way we do for mode changes. However,
    unlike mode changes, we only showed the special "delete this
    file" hunk if there were no other hunks. Otherwise, the user
    would annoyingly be presented with _two_ hunks: one for
    deleting the file and one for deleting the content.
    
    This meant that in the non-empty case, we forgot about the
    deleted line entirely, and we submitted a bogus patch to
    git-apply (with "/dev/null" as the destination file, but not
    marked as a deletion).
    
    Instead, this patch combines the file deletion hunk and the
    content deletion hunk (if there is one) into a single
    deletion hunk which is either staged or not.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 5, 2009
  1. Git 1.6.5.5

    gitster committed Dec 5, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Fix diff -B/--dirstat miscounting of newly added contents

    torvalds authored and gitster committed Dec 4, 2009
    What used to happen is that diffcore_count_changes() simply ignored any
    hashes in the destination that didn't match hashes in the source. EXCEPT
    if the source hash didn't exist at all, in which case it would count _one_
    destination hash that happened to have the "next" hash value.  As a
    consequence, newly added material was often undercounted, making output
    from --dirstat and "complete rewrite" detection used by -B unrelialble.
    
    This changes it so that:
    
     - whenever it bypasses a destination hash (because it doesn't match a
       source), it counts the bytes associated with that as "literal added"
    
     - at the end (once we have used up all the source hashes), we do the same
       thing with the remaining destination hashes.
    
     - when hashes do match, and we use the difference in counts as a value,
       we also use up that destination hash entry (the 'd++').
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. reset: improve worktree safety valves

    peff authored and gitster committed Dec 4, 2009
    The existing code checked to make sure we were not in a bare
    repository when doing a hard reset. However, we should take
    this one step further, and make sure we are in a worktree.
    Otherwise, we can end up munging files inside of '.git'.
    
    Furthermore, we should do the same check for --merge resets,
    which have the same properties. Actually, a merge reset of
    HEAD^ would already complain, since further down in the code
    we want a worktree. However, it is nicer to check up-front;
    then we are sure we cover all cases ("git reset --merge"
    would run, even though it wasn't doing anything) and we can
    give a more specific message.
    
    Add tests to t7103 to cover these cases and some missing ones.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. Documentation: Avoid use of xmlto --stringparam

    tmzullinger authored and gitster committed Dec 4, 2009
    The --stringparam option is not available on older xmlto versions.
    Instead, set man.base.url.for.relative.links via a .xsl file.  Older
    docbook versions will ignore this without causing grief to users of
    older xmlto versions.
    
    Signed-off-by: Todd Zullinger <tmz@pobox.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 4, 2009
  1. archive: clarify description of path parameter

    René Scharfe authored and gitster committed Dec 4, 2009
    Mention that path parameters are based on the current working directory.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    --
     Documentation/git-archive.txt |    5 +++--
     1 files changed, 3 insertions(+), 2 deletions(-)
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. rerere: don't segfault on failure to open rr-cache

    peff authored and gitster committed Dec 4, 2009
    The rr-cache directory should always exist if we are doing
    garbage collection (earlier code paths check this
    explicitly), but we may not necessarily succeed in opening
    it (for example, due to permissions problems). In that case,
    we should print an error message rather than simply
    segfaulting.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 3, 2009
  1. Prepare for 1.6.5.5

    gitster committed Dec 3, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'uk/maint-shortlog-encoding' into maint

    gitster committed Dec 3, 2009
    * uk/maint-shortlog-encoding:
      t4201: use ISO8859-1 rather than ISO-8859-1
      shortlog: respect commit encoding
  3. Merge branch 'fc/maint-format-patch-pathspec-dashes' into maint

    gitster committed Dec 3, 2009
    * fc/maint-format-patch-pathspec-dashes:
      format-patch: add test for parsing of "--"
      format-patch: fix parsing of "--" on the command line
  4. Merge branch 'ap/maint-merge-strategy-list-fix' into maint

    gitster committed Dec 3, 2009
    * ap/maint-merge-strategy-list-fix:
      builtin-merge.c: call exclude_cmds() correctly.
  5. Merge branch 'jc/maint-am-keep' into maint

    gitster committed Dec 3, 2009
    * jc/maint-am-keep:
      Remove dead code from "git am"
  6. Merge branch 'rs/work-around-grep-opt-insanity' into maint

    gitster committed Dec 3, 2009
    * rs/work-around-grep-opt-insanity:
      Protect scripted Porcelains from GREP_OPTIONS insanity
      mergetool--lib: simplify guess_merge_tool()
  7. Merge branch 'rj/maint-cygwin-count-objects' into maint

    gitster committed Dec 3, 2009
    * rj/maint-cygwin-count-objects:
      git-count-objects: Fix a disk-space under-estimate on Cygwin
  8. Merge branch 'mm/maint-hint-failed-merge' into maint

    gitster committed Dec 3, 2009
    * mm/maint-hint-failed-merge:
      user-manual: Document that "git merge" doesn't like uncommited changes.
      merge-recursive: point the user to commit when file would be overwritten.
  9. Merge branch 'th/maint-remote-update-help-string' into maint

    gitster committed Dec 3, 2009
    * th/maint-remote-update-help-string:
      Update 'git remote update' usage string to match man page.
  10. Merge branch 'rj/maint-t9700' into maint

    gitster committed Dec 3, 2009
    * rj/maint-t9700:
      t9700-perl-git.sh: Fix a test failure on Cygwin
  11. Merge branch 'ls/maint-mailinfo-no-inbody' into maint

    gitster committed Dec 3, 2009
    * ls/maint-mailinfo-no-inbody:
      git am/mailinfo: Don't look at in-body headers when rebasing
  12. Merge branch 'mo/maint-crlf-doc' into maint

    gitster committed Dec 3, 2009
    * mo/maint-crlf-doc:
      core.autocrlf documentation: mention the crlf attribute
  13. Merge branch 'th/remote-usage' into maint

    gitster committed Dec 3, 2009
    * th/remote-usage:
      git remote: Separate usage strings for subcommands
  14. Merge branch 'pb/maint-use-custom-perl' into maint

    gitster committed Dec 3, 2009
    * pb/maint-use-custom-perl:
      Make sure $PERL_PATH is defined when the test suite is run.
  15. Merge branch 'mm/config-pathname-tilde-expand' into maint

    gitster committed Dec 3, 2009
    * mm/config-pathname-tilde-expand:
      Documentation: avoid xmlto input error
      expand_user_path: expand ~ to $HOME, not to the actual homedir.
      Expand ~ and ~user in core.excludesfile, commit.template
  16. Merge branch 'bc/grep-i-F' into maint

    gitster committed Dec 3, 2009
    * bc/grep-i-F:
      grep: Allow case insensitive search of fixed-strings
  17. Merge branch 'jk/maint-break-rename-reduce-memory' into maint

    gitster committed Dec 3, 2009
    * jk/maint-break-rename-reduce-memory:
      diffcore-rename: reduce memory footprint by freeing blob data early
      diffcore-break: save cnt_data for other phases
      diffcore-break: free filespec data as we go