Permalink
Commits on Oct 21, 2008
  1. GIT 1.6.0.3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Oct 21, 2008
  2. rehabilitate 'git index-pack' inside the object store

    Before commit d0b92a3 it was possible to run 'git index-pack'
    directly in the .git/objects/pack/ directory.  Restore that ability.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Nicolas Pitre committed with gitster Oct 21, 2008
Commits on Oct 20, 2008
  1. Fix testcase failure when extended attributes are in use

    06cbe85 (Make core.sharedRepository more generic, 2008-04-16) made
    several testcases in t1301-shared-repo.sh which fail if on a system
    which creates files with extended attributes (e.g. SELinux), since ls
    appends a '+' sign to the permission set in such cases.  In fact,
    POSIX.1 allows ls to add a single printable character after the usual
    3x3 permission bits to show that an optional alternate/additional access
    method is associated with the path.
    
    This fixes the testcase to strip any such sign prior to verifying the
    permission set.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Tested-by: Deskin Miller <deskinm@umich.edu>
    gitster committed Oct 20, 2008
Commits on Oct 19, 2008
  1. Documentation: Clarify '--signoff' for git-commit

    '--signoff' uses commiter name always to add the signoff line,
    make it explicit in the documentation.
    
    Signed-off-by: Abhijit Bhopatkar <bain@devslashzero.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bainonline committed with gitster Oct 19, 2008
Commits on Oct 18, 2008
  1. Hopefully the final draft release notes update before 1.6.0.3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Oct 18, 2008
  2. diff(1): clarify what "T"ypechange status means

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Oct 18, 2008
  3. Merge branch 'db/maint-checkout-b' into maint

    * db/maint-checkout-b:
      Check early that a new branch is new and valid
    gitster committed Oct 18, 2008
  4. contrib: update packinfo.pl to not use dashed commands

    Signed-off-by: Dan McGee <dpmcgee@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    toofishes committed with gitster Oct 18, 2008
  5. force_object_loose: Fix memory leak

    read_packed_sha1 expectes its caller to free the buffer it returns, which
    force_object_loose didn't do.
    
    This leak is eventually triggered by "git gc", when it is manually invoked
    or there are too many packs around, making gc totally unusable when there
    are lots of unreachable objects.
    
    Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    dotdash committed with gitster Oct 18, 2008
Commits on Oct 17, 2008
  1. tests: shell negation portability fix

    Commit 969c877 introduced a test which uses the non-portable construct:
    
      command1 && ! command2 | command3
    
    which must be
    
      command1 && ! (command2 | command3)
    
    to work on bsd shells (this is another example of bbf0812, which fixed
    several similar cases).
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Oct 13, 2008
  2. t1301-shared-repo.sh: don't let a default ACL interfere with the test

    This test creates files with several different umasks and expects their
    permissions to be initialized according to the umask, so a default ACL on the
    trash directory (which overrides the umask for files created in that directory)
    causes the test to fail.  To avoid that, remove the default ACL if possible with
    setfacl(1).
    
    Signed-off-by: Matt McCutchen <matt@mattmccutchen.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    mattmccutchen committed with gitster Oct 17, 2008
Commits on Oct 16, 2008
  1. git-check-attr(1): add output and example sections

    Plumbing tools should document what output can be expected.
    
    Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jonas committed with gitster Oct 15, 2008
  2. xdiff-interface.c: strip newline (and cr) from line before pattern ma…

    …tching
    
    POSIX doth sayeth:
    
       "In the regular expression processing described in IEEE Std 1003.1-2001,
        the <newline> is regarded as an ordinary character and both a period and
        a non-matching list can match one. ... Those utilities (like grep) that
        do not allow <newline>s to match are responsible for eliminating any
        <newline> from strings before matching against the RE."
    
    Thus far git has not been removing the trailing newline from strings matched
    against regular expression patterns. This has the effect that (quoting
    Jonathan del Strother) "... a line containing just 'FUNCNAME' (terminated by
    a newline) will be matched by the pattern '^(FUNCNAME.$)' but not
    '^(FUNCNAME$)'", and more simply not '^FUNCNAME$'.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Brandon Casey committed with gitster Oct 1, 2008
  3. t4018-diff-funcname: demonstrate end of line funcname matching flaw

    Since the newline is not removed from lines before pattern matching, a
    pattern cannot match to the end of the line using the '$' operator without
    using an additional operator which will indirectly match the '\n' character.
    
    Introduce a test which should pass, but which does not due to this flaw.
    
    Signed-off-by: Brandon Casey <drafnel@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    drafnel committed with gitster Oct 16, 2008
  4. t4018-diff-funcname: rework negated last expression test

    This test used the non-zero exit status of 'git diff' to indicate that a
    negated funcname pattern, when placed last, was correctly rejected.
    
    The problem with this is that 'git diff' always returns non-zero if it
    finds differences in the files it is comparing, and the files must
    contain differences in order to trigger the funcname pattern codepath.
    
    Instead of checking for non-zero exit status, make sure the expected
    error message is printed.
    
    Signed-off-by: Brandon Casey <drafnel@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    drafnel committed with gitster Oct 16, 2008
Commits on Oct 15, 2008
  1. remote.c: correct the check for a leading '/' in a remote name

    This test is supposed to disallow remote entries in the config file of the
    form:
    
       [remote "/foobar"]
          ...
    
    The leading slash in '/foobar' is not acceptable.
    
    Instead it was incorrectly testing that the subkey had no leading '/', which
    had no effect since the subkey pointer was made to point at a '.' in the
    preceding lines.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Acked-by: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Brandon Casey committed with gitster Oct 14, 2008
Commits on Oct 14, 2008
  1. Add testcase to ensure merging an early part of a branch is done prop…

    …erly
    
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Miklos Vajna committed with gitster Oct 13, 2008
Commits on Oct 13, 2008
  1. Update draft release notes to 1.6.0.3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Oct 13, 2008
Commits on Oct 12, 2008
  1. test-lib: fix broken printf

    b8eecaf introduced usage of
    printf without a format string.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Oct 12, 2008
  2. git apply --directory broken for new files

    We carefully verify that the input to git-apply is sane,
    including cross-checking that the filenames we see in "+++"
    headers match what was provided on the command line of "diff
    --git". When --directory is used, however, we ended up
    comparing the unadorned name to one with the prepended root,
    causing us to complain about a mismatch.
    
    We simply need to prepend the root directory, if any, when
    pulling the name out of the git header.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Acked-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    peff committed with spearce Oct 12, 2008
Commits on Oct 10, 2008
  1. rebase -i: do not fail when there is no commit to cherry-pick

    In case there is no commit to apply (for example because you rebase to
    upstream and all your local patches have been applied there), do not
    fail.  The non-interactive rebase already behaves that way.
    
    Do this by introducing a new command, "noop", which is substituted for
    an empty commit list, so that deleting the commit list can still abort
    as before.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    dscho committed with spearce Oct 10, 2008
  2. test-lib: fix color reset in say_color()

    When executing a single test with colors enabled, the cursor was not set
    back to the previous one, and you had to hit an extra enter to get it
    back.
    
    Work around this problem by calling 'tput sgr0' before printing the
    final newline.
    
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Miklos Vajna committed with spearce Oct 9, 2008
  3. fix pread()'s short read in index-pack

    Since v1.6.0.2~13^2~ the completion of a thin pack uses sha1write() for
    its ability to compute a SHA1 on the written data.  This also provides
    data buffering which, along with commit 92392b4, will confuse pread()
    whenever an appended object is 1) freed due to memory pressure because
    of the depth-first delta processing, and 2) needed again because it has
    many delta children, and 3) its data is still buffered by sha1write().
    
    Let's fix the issue by simply forcing cached data out when such an
    object is written so it can be pread()'d at leisure.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Nicolas Pitre committed with spearce Oct 10, 2008
Commits on Oct 9, 2008
  1. Merge branch 'sg/maint-intrebase-msghook' into maint

    * sg/maint-intrebase-msghook:
      rebase -i: remove leftover debugging
      rebase -i: proper prepare-commit-msg hook argument when squashing
    spearce committed Oct 9, 2008
  2. builtin-apply: fix typo leading to stack corruption

    This typo led to stack corruption for lines with whitespace fixes
    and length > 1024.
    
    Signed-off-by: Imre Deak <imre.deak@gmail.com>
    Looks-good-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    ideak committed with spearce Oct 8, 2008
  3. git-stash.sh: fix flawed fix of invalid ref handling (commit da65e7c)

    The referenced commit tried to fix a flaw in stash's handling of a user
    supplied invalid ref. i.e. 'git stash apply fake_ref@{0}' should fail
    instead of applying stash@{0}. But, it did so in a naive way by avoiding the
    use of the --default option of rev-parse, and instead manually supplied the
    default revision if the user supplied an empty command line. This prevented
    a common usage scenario of supplying flags on the stash command line (i.e.
    non-empty command line) which would be parsed by lower level git commands,
    without supplying a specific revision. This should fall back to the default
    revision, but now it causes an error. e.g. 'git stash show -p'
    
    The correct fix is to use the --verify option of rev-parse, which fails
    properly if an invalid ref is supplied, and still allows falling back to a
    default ref when one is not supplied.
    
    Convert stash-drop to use --verify while we're at it, since specifying
    multiple revisions for any of these commands is also an error and --verify
    makes it so.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Brandon Casey committed with spearce Oct 2, 2008
  4. Merge branch 'jk/maint-soliconv' into maint

    * jk/maint-soliconv:
      Makefile: do not set NEEDS_LIBICONV for Solaris 8
    spearce committed Oct 9, 2008
  5. builtin-merge.c: allocate correct amount of memory

    Fix two memory allocation errors which allocate space for a pointer
    rather than enough space for the structure itself.
    
    This:
    
        struct commit_list *parent = xmalloc(sizeof(struct commit_list *));
    
    should have been this:
    
        struct commit_list *parent = xmalloc(sizeof(struct commit_list));
    
    But while we're at it, change the allocation to reference the
    variable it is allocating memory for to try to prevent a similar
    mistake, for example if the type is changed, in the future.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Acked-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Brandon Casey committed with spearce Oct 9, 2008
Commits on Oct 8, 2008
  1. Do not use errno when pread() returns 0

    If we use pread() while at the end of the file, it will return 0, which is
    not an error from the operating system point of view. In this case, errno
    has not been set and must not be used.
    
    Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    samueltardieu committed with spearce Oct 6, 2008
  2. git init: --bare/--shared overrides system/global config

    If core.bare or core.sharedRepository are set in /etc/gitconfig or
    ~/.gitconfig, then 'git init' will read the values when constructing a
    new config file; reading them, however, will override the values
    specified on the command line.  In the case of --bare, this ends up
    causing a segfault, without the repository being properly initialised;
    in the case of --shared, the permissions are set according to the
    existing config settings, not what was specified on the command line.
    
    This fix saves any specified values for --bare and --shared prior to
    reading existing config settings, and restores them after reading but
    before writing the new config file.  core.bare is ignored in all
    situations, while core.sharedRepository will only be used if --shared
    is not specified to git init.
    
    Also includes testcases which use a specified global config file
    override, demonstrating the former failure scenario.
    
    Signed-off-by: Deskin Miller <deskinm@umich.edu>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    deskin committed with spearce Oct 7, 2008
  3. git-push.txt: Describe --repo option in more detail

    The --repo option was described in a way that the reader would have to
    assume that it is the same as the <repository> parameter. But it actually
    servers a purpose, which is now written down.
    
    Furthermore, the --mirror option was missing from the synopsis.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Johannes Sixt committed with spearce Oct 7, 2008
  4. git rm: refresh index before up-to-date check

    Since "git rm" is supposed to be porcelain, we should convince it to
    be user friendly by refreshing the index itself.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    dscho committed with spearce Oct 7, 2008
Commits on Oct 7, 2008
  1. Fix a few typos in relnotes

    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Mikachu committed with spearce Oct 7, 2008
Commits on Oct 6, 2008
  1. Update release notes for 1.6.0.3

    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Oct 6, 2008