Permalink
Commits on Oct 24, 2011
  1. Git 1.7.7.1

    gitster committed Oct 24, 2011
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Mak…

    jrn authored and gitster committed Oct 22, 2011
    …efile setting
    
    The change was actually about "git init -s" which sets the setgid bit on
    SysV-style systems to allow shared access to a repository, and can provoke
    errors on BSD-style systems, depending on how permissive the filesystem in
    use wants to be.
    
    More to the point, the patch was just taking a fix that arrived for
    FreeBSD in v1.5.5 days and making it also apply to machines using an
    (obscure) GNU userland/FreeBSD kernel mixture.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 21, 2011
  1. Almost ready for 1.7.7.1

    gitster committed Oct 21, 2011
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'nd/maint-autofix-tag-in-head' into maint

    gitster committed Oct 21, 2011
    * nd/maint-autofix-tag-in-head:
      Accept tags in HEAD or MERGE_HEAD
      merge: remove global variable head[]
      merge: use return value of resolve_ref() to determine if HEAD is invalid
      merge: keep stash[] a local variable
    
    Conflicts:
    	builtin/merge.c
  3. Merge branch 'jc/apply-blank-at-eof-fix' into maint

    gitster committed Oct 21, 2011
    * jc/apply-blank-at-eof-fix:
      apply --whitespace=error: correctly report new blank lines at end
  4. Merge branch 'jn/no-g-plus-s-on-bsd' into maint

    gitster committed Oct 21, 2011
    * jn/no-g-plus-s-on-bsd:
      Makefile: do not set setgid bit on directories on GNU/kFreeBSD
  5. Merge branch 'rs/diff-cleanup-records-fix' into maint

    gitster committed Oct 21, 2011
    * rs/diff-cleanup-records-fix:
      diff: resurrect XDF_NEED_MINIMAL with --minimal
      Revert removal of multi-match discard heuristic in 27af01
  6. Merge branch 'il/archive-err-signal' into maint

    gitster committed Oct 21, 2011
    * il/archive-err-signal:
      Support ERR in remote archive like in fetch/push
  7. Merge branch 'js/maint-merge-one-file-osx-expr' into maint

    gitster committed Oct 21, 2011
    * js/maint-merge-one-file-osx-expr:
      merge-one-file: fix "expr: non-numeric argument"
  8. Merge branch 'jm/maint-apply-detects-corrupt-patch-header' into maint

    gitster committed Oct 21, 2011
    * jm/maint-apply-detects-corrupt-patch-header:
      fix "git apply --index ..." not to deref NULL
  9. Merge branch 'jc/checkout-from-tree-keep-local-changes' into maint

    gitster committed Oct 21, 2011
    * jc/checkout-from-tree-keep-local-changes:
      checkout $tree $path: do not clobber local changes in $path not in $tree
  10. Merge branch 'mm/maint-config-explicit-bool-display' into maint

    gitster committed Oct 21, 2011
    * mm/maint-config-explicit-bool-display:
      config: display key_delim for config --bool --get-regexp
Commits on Oct 18, 2011
  1. strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()

    drafnel authored and gitster committed Oct 6, 2011
    This use of strbuf_grow() is a historical artifact that was once used to
    ensure that strbuf.buf was allocated and properly nul-terminated.  This
    was added before the introduction of the slopbuf in b315c5c, which
    guarantees that strbuf.buf always points to a usable nul-terminated string.
    So let's remove it.
    
    Signed-off-by: Brandon Casey <drafnel@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 16, 2011
  1. Prepare for 1.7.7.1

    gitster committed Oct 16, 2011
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'ms/patch-id-with-overlong-line' into maint

    gitster committed Oct 16, 2011
    * ms/patch-id-with-overlong-line:
      patch-id.c: use strbuf instead of a fixed buffer
  3. Merge branch 'jc/maint-bundle-too-quiet' into maint

    gitster committed Oct 16, 2011
    * jc/maint-bundle-too-quiet:
      Teach progress eye-candy to fetch_refs_from_bundle()
  4. Merge branch 'jk/filter-branch-require-clean-work-tree' into maint

    gitster committed Oct 16, 2011
    * jk/filter-branch-require-clean-work-tree:
      filter-branch: use require_clean_work_tree
  5. Merge branch 'jc/maint-fsck-fwrite-size-check' into maint

    gitster committed Oct 16, 2011
    * jc/maint-fsck-fwrite-size-check:
      fsck: do not abort upon finding an empty blob
  6. Merge branch 'bk/ancestry-path' into maint

    gitster committed Oct 16, 2011
    * bk/ancestry-path:
      t6019: avoid refname collision on case-insensitive systems
      revision: do not include sibling history in --ancestry-path output
      revision: keep track of the end-user input from the command line
      rev-list: Demonstrate breakage with --ancestry-path --all
  7. Merge branch 'jk/maint-fetch-submodule-check-fix' into maint

    gitster committed Oct 16, 2011
    * jk/maint-fetch-submodule-check-fix:
      fetch: avoid quadratic loop checking for updated submodules
  8. Merge branch 'tr/mergetool-valgrind' into maint

    gitster committed Oct 16, 2011
    * tr/mergetool-valgrind:
      Symlink mergetools scriptlets into valgrind wrappers
  9. Merge branch 'nm/grep-object-sha1-lock' into maint

    gitster committed Oct 16, 2011
    * nm/grep-object-sha1-lock:
      grep: Fix race condition in delta_base_cache
    
    Conflicts:
    	builtin/grep.c
  10. Merge branch 'jc/diff-index-unpack' into maint

    gitster committed Oct 16, 2011
    * jc/diff-index-unpack:
      diff-index: pass pathspec down to unpack-trees machinery
      unpack-trees: allow pruning with pathspec
      traverse_trees(): allow pruning with pathspec
  11. Merge branch 'mm/rebase-i-exec-edit' into maint

    gitster committed Oct 16, 2011
    * mm/rebase-i-exec-edit:
      rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
      rebase -i: clean error message for --continue after failed exec
Commits on Oct 14, 2011
  1. t1304: fall back to $USER if $LOGNAME is not defined

    René Scharfe authored and gitster committed Oct 14, 2011
    For some reason $LOGNAME is not set anymore for me after an upgrade from
    Ubuntu 11.04 to 11.10.  Use $USER in such a case.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 12, 2011
  1. fix "git apply --index ..." not to deref NULL

    meyering authored and gitster committed Oct 12, 2011
    I noticed this when "git am CORRUPTED" unexpectedly failed with an
    odd diagnostic, and even removed one of the files it was supposed
    to have patched.
    
    Reproduce with any valid old/new patch from which you have removed
    the "+++ b/FILE" line.  You'll see a diagnostic like this
    
        fatal: unable to write file '(null)' mode 100644: Bad address
    
    and you'll find that FILE has been removed.
    
    The above is on glibc-based systems.  On other systems, rather than
    getting "null", you may provoke a segfault as git tries to
    dereference the NULL file name.
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 10, 2011
  1. config: display key_delim for config --bool --get-regexp

    moy authored and gitster committed Oct 10, 2011
    The previous logic in show_config was to print the delimiter when the
    value was set, but Boolean variables have an implicit value "true" when
    they appear with no value in the config file. As a result, we got:
    
    git_Config        --get-regexp '.*\.Boolean'	#1. Ok: example.boolean
    git_Config --bool --get-regexp '.*\.Boolean'	#2. NO: example.booleantrue
    
    Fix this by defering the display of the separator until after the value
    to display has been computed.
    
    Reported-by: Brian Foster <brian.foster@maxim-ic.com>
    Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 6, 2011
  1. merge-one-file: fix "expr: non-numeric argument"

    jaysoffian authored and gitster committed Oct 6, 2011
    When invoking expr to compare two numbers, don't quote the
    variables which are the output of 'wc -c'. On OS X, this output
    includes spaces, which expr balks at:
    
      $ sz0=`wc -c </etc/passwd`
      $ sz1=`wc -c </etc/passwd`
      $ echo "'$sz0'"
      '    3667'
    
      $ expr "$sz0" \< "$sz1" \* 2
      expr: non-numeric argument
    
      $ expr $sz0 \< $sz1 \* 2
      1
    
    Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 5, 2011
  1. Support ERR in remote archive like in fetch/push

    Ilari Liusvaara authored and gitster committed Oct 3, 2011
    Make ERR as first packet of remote snapshot reply work like it does in
    fetch/push. Lets servers decline remote snapshot with message the same
    way as declining fetch/push with a message.
    
    Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 3, 2011
  1. Makefile: do not set setgid bit on directories on GNU/kFreeBSD

    jrn authored and gitster committed Oct 3, 2011
    The g+s bit on directories to make group ownership inherited is a
    SysVism --- BSD and most of its descendants do not need it since they
    do the sane thing by default without g+s.  In fact, on some
    filesystems (but not all --- tmpfs works this way but UFS does not),
    the kernel of FreeBSD does not even allow non-root users to set setgid
    bit on directories and produces errors when one tries:
    
    	$ git init --shared dir
    	fatal: Could not make /tmp/dir/.git/refs writable by group
    
    Since the setgid bit would only mean "do what you were going to do
    already", it's better to avoid setting it.  Accordingly, ever since
    v1.5.5-rc0~59^2 (Do not use GUID on dir in git init --share=all on
    FreeBSD, 2008-03-05), git on true FreeBSD has done exactly that.  Set
    DIR_HAS_BSD_GROUP_SEMANTICS in the makefile for GNU/kFreeBSD, too, so
    machines that use glibc with the kernel of FreeBSD get the same fix.
    
    This fixes t0001-init.sh and t1301-shared-repo.sh on GNU/kFreeBSD
    when running tests with --root pointing to a directory that uses
    tmpfs.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. diff: resurrect XDF_NEED_MINIMAL with --minimal

    gitster committed Oct 2, 2011
    Earlier, 582aa00 (git diff too slow for a file, 2010-05-02)
    unconditionally dropped XDF_NEED_MINIMAL option from the internal xdiff
    invocation to help performance on pathological cases, while hinting that a
    follow-up patch could reintroduce it with "--minimal" option from the
    command line.
    
    Make it so.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 30, 2011
  1. Git 1.7.7

    gitster committed Sep 30, 2011
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. checkout $tree $path: do not clobber local changes in $path not in $tree

    gitster committed Sep 30, 2011
    Checking paths out of a tree is (currently) defined to do:
    
     - Grab the paths from the named tree that match the given pathspec,
       and add them to the index;
    
     - Check out the contents from the index for paths that match the
       pathspec to the working tree; and while at it
    
     - If the given pathspec did not match anything, suspect a typo from the
       command line and error out without updating the index nor the working
       tree.
    
    Suppose that the branch you are working on has dir/myfile, and the "other"
    branch has dir/other but not dir/myfile. Further imagine that you have
    either modified or removed dir/myfile in your working tree, but you have
    not run "git add dir/myfile" or "git rm dir/myfile" to tell Git about your
    local change. Running
    
     $ git checkout other dir
    
    would add dir/other to the index with the contents taken out of the
    "other" branch, and check out the paths from the index that match the
    pathspec "dir", namely, "dir/other" and "dir/myfile", overwriting your
    local changes to "dir/myfile", even though "other" branch does not even
    know about that file.
    
    Fix it by updating the working tree only with the index entries that
    was read from the "other" tree.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 27, 2011
  1. templates/hooks--*: remove sample hooks without any functionality

    Gerrit Pape authored and gitster committed Sep 27, 2011
    Remove the sample post-commit and post-receive hooks.  The sample
    post-commit doesn't contain any sample functionality and the comments do
    not provide more information than already found in the documentation.
    The sample post-receive hooks doesn't provide any sample functionality
    either and refers in the comments to a contrib hook that might be
    installed in different locations on different systems, which isn't that
    helpful.
    
    Signed-off-by: Gerrit Pape <pape@smarden.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 26, 2011
  1. contrib/hooks: adapt comment about Debian install location for contri…

    Gerrit Pape authored and gitster committed Sep 26, 2011
    …b hooks
    
    Placing the contrib hooks into /usr/share/doc/ wasn't a good idea in the
    first place.  According to the Debian policy they should be located in
    /usr/share/git-core/, so let's put them there.
    
    Thanks to Bill Allombert for reporting this through
     http://bugs.debian.org/640949
    
    Signed-off-by: Gerrit Pape <pape@smarden.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>