Permalink
Commits on Dec 20, 2006
  1. GIT 1.4.4.3

    Junio C Hamano committed Dec 20, 2006
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 14, 2006
  1. Bypass expensive content comparsion during rename detection.

    spearce committed with Junio C Hamano Dec 14, 2006
    When comparing file contents during the second loop through a rename
    detection attempt we can skip the expensive byte-by-byte comparsion
    if both source and destination files have valid SHA1 values.  This
    improves performance by avoiding either an expensive open/mmap to
    read the working tree copy, or an expensive inflate of a blob object.
    
    Unfortunately we still have to at least initialize the sizes of the
    source and destination files even if the SHA1 values don't match.
    Failing to initialize the sizes causes a number of test cases to fail
    and start reporting different copy/rename behavior than was expected.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 13, 2006
  1. git-svn: correctly display fatal() error messages

    Eric Wong committed with Junio C Hamano Dec 12, 2006
    If I wanted to print $@, I'd pass $@ to fatal().  This looks like
    a stupid typo on my part.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. git-svn: exit with status 1 for test failures

    Eric Wong committed with Junio C Hamano Nov 25, 2006
    Some versions of the SVN libraries cause die() to exit with 255,
    and 40cf043 tightened up
    test_expect_failure to reject return values >128.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Clarify fetch error for missing objects.

    raalkml committed with Junio C Hamano Dec 12, 2006
    Otherwise there're such things like:
    
        Cannot obtain needed none 9a6e87b60dbd2305c95cecce7d9d60f849a0658d
        while processing commit 0000000000000000000000000000000000000000.
    
    which while looks weird. What is the none needed for?
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 12, 2006
  1. Move Fink and Ports check to after config file

    Benabik committed with Junio C Hamano Dec 12, 2006
    Putting NO_FINK or NO_DARWIN_PORTS in config.mak is ignored because the
    checks are done before the config is included.
    
    Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 11, 2006
  1. Make sure the empty tree exists when needed in merge-recursive.

    spearce committed with Junio C Hamano Dec 7, 2006
    There are some baseless merge cases where git-merge-recursive will
    try to compare one of the branches against the empty tree.  However
    most projects won't have the empty tree object in their object database
    as Git does not normally create empty tree objects.  If the empty tree
    object is missing then the merge process will die, as it cannot load the
    object from the database.  The error message may make the user think that
    their database is corrupt when its actually not.
    
    So instead we should just create the empty tree object whenever it is
    needed.  If the object already exists as a loose object then no harm
    done.  Otherwise that loose object will be pruned away later by either
    git-prune or git-prune-packed.
    
    Thanks goes to Junio for suggesting this fix.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Don't use memcpy when source and dest. buffers may overlap

    meyering committed with Junio C Hamano Dec 11, 2006
    git-index-pack can call memcpy with overlapping source and destination
    buffers.  The patch below makes it use memmove instead.
    
    If you want to demonstrate a failure, add the following two lines
    
    +               if (input_offset < input_len)
    +                 abort ();
    
    before the existing memcpy call (shown in the patch below),
    and then run this:
    
      (cd t; sh ./t5500-fetch-pack.sh)
    
    Signed-off-by: Jim Meyering <jim@meyering.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. no need to install manpages as executable

    chriswright committed with Junio C Hamano Dec 11, 2006
    No need to install manpages as executable.  Noticed by Ville Skytt,Ad(B.
    
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 7, 2006
  1. cvsserver: Avoid miscounting bytes in Perl v5.8.x

    Martin Langhoff committed with Junio C Hamano Dec 7, 2006
    At some point between v5.6 and 5.8 Perl started to assume its input,
    output and filehandles are UTF-8. This breaks the counting of bytes
    for the CVS protocol, resulting in the client expecting less data
    than we actually send, and storing truncated files.
    
    Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 6, 2006
  1. git-reset to remove "$GIT_DIR/MERGE_MSG"

    Junio C Hamano committed Dec 5, 2006
    An earlier commit a9cb3c6 changed git-commit to use the
    contents of MERGE_MSG even when we do not have MERGE_HEAD (the
    rationale is in its log message).
    
    However, the change tricks the following sequence to include a
    merge message in a completely unrelated commit:
    
    	$ git pull somewhere
    	: oops, the conflicts are too much.  forget it.
            $ git reset --hard
            : work work work
            $ git commit
    
    To fix this confusion, this patch makes "git reset" to remove
    the leftover MERGE_MSG that was prepared when the user abandoned
    the merge.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Acked-by: Luben Tuikov <ltuikov@yahoo.com
Commits on Dec 4, 2006
  1. unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.

    Junio C Hamano committed Dec 4, 2006
    The structure that ends with a flexible array member (or 0
    length array with older GCC) "char name[FLEX_ARRAY]" is
    allocated on the stack and we use it after clearing its entire
    size with memset.  That does not guarantee that "name" is
    properly NUL terminated as we intended on platforms with more
    forgiving structure alignment requirements.
    
    Reported breakage on m68k by Roman Zippel.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. receive-pack: do not insist on fast-forward outside refs/heads/

    Junio C Hamano committed Dec 4, 2006
    Especially refs/tags/ hierarchy should match what git-fetch
    checks.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. git-mv: search more precisely for source directory in index

    dscho committed with Junio C Hamano Dec 3, 2006
    A move of a directory should find the entries in the index by
    searching for the name _including_ the slash. Otherwise, the
    directory can be shadowed by a file when it matches the prefix
    and is lexicographically smaller, e.g. "ab.c" shadows "ab/".
    
    Noticed by Sergey Vlasov.
    
    [jc: added Sergey's original reproduction recipe as a test case
     at the end of t7001.]
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 3, 2006
  1. git-svn: avoid fetching files twice in the same revision

    Eric Wong committed with Junio C Hamano Dec 3, 2006
    SVN is not entirely consistent in returning log information and
    sometimes returns file information when adding subdirectories,
    and sometimes it does not (only returning information about the
    directory that was added).  This caused git-svn to occasionally
    add a file to the list of files to be fetched twice.  Now we
    change the data structure to be hash to avoid repeated fetches.
    
    As of now (in master), this only affects repositories fetched
    without deltas enabled (file://, and when manually overriden
    with GIT_SVN_DELTA_FETCH=0); so this bug mainly affects users of
    1.4.4.1 and maint.
    
    Thanks to Florian Weimer for reporting this bug.
    
    [jc: backported for maint]
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 29, 2006
  1. Document git-repo-config --bool/--int options.

    andyparkins committed with Junio C Hamano Nov 29, 2006
    Signed-off-by: Andy Parkins <andyparkins@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. tutorial: talk about user.name early and don't start with commit -a

    Junio C Hamano committed Nov 29, 2006
    Introducing yourself to git early would be a good idea; otherwise
    the user may not find the mistake until much later when "git log"
    is learned.
    
    Teaching "commit -a" without saying that it is a shortcut for
    listing the paths to commit leaves the user puzzled.  Teach the
    form with explicit paths first.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. git-blame: fix rev parameter handling.

    raalkml committed with Junio C Hamano Nov 15, 2006
    We lacked "--" termination in the underlying init_revisions() call
    which made it impossible to specify a revision that happens to
    have the same name as an existing file.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. git blame -C: fix output format tweaks when crossing file boundary.

    Junio C Hamano committed Nov 29, 2006
    We used to get the case that more than two paths came from the
    same commit wrong when computing the output width and deciding
    to turn on --show-name option automatically.  When we find that
    lines that came from a path that is different from what we
    started digging from, we should always turn --show-name on, and
    we should count the name length for all files involved.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 24, 2006
  1. Increase length of function name buffer

    andyparkins committed with Junio C Hamano Nov 23, 2006
    In xemit.c:xdl_emit_diff() a buffer for showing the function name as
    commentary is allocated; this buffer was 40 characters.  This is a bit
    small; particularly for C++ function names where there is often an
    identical prefix (like void LongNamespace::LongClassName) on multiple
    functions, which makes the context the same everywhere.  In other words
    the context is useless.  This patch increases that buffer to 80
    characters - which may still not be enough, but is better
    
    Signed-off-by: Andy Parkins <andyparkins@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 23, 2006
  1. git-svn: preserve uncommitted changes after dcommit

    Eric Wong committed with Junio C Hamano Nov 23, 2006
    Using dcommit could cause the user to lose uncommitted changes
    during the reset --hard operation, so change it to reset --mixed.
    
    If dcommit chooses the rebase path, then git-rebase will already
    error out when local changes are made.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. git-svn: correctly handle revision 0 in SVN repositories

    Eric Wong committed with Junio C Hamano Nov 23, 2006
    some SVN repositories have a revision 0 (committed by no author
    and no date) when created; so when we need to ensure that we
    check any revision variables are defined, and not just
    non-zero.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. git-svn: error out from dcommit on a parent-less commit

    Eric Wong committed with Junio C Hamano Nov 23, 2006
    dcommit would unconditionally append "~1" to a commit in order
    to generate a diff.  Now we generate a meaningful error message
    if we try to generate an impossible diff.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. archive-zip: don't use sizeof(struct ...)

    René Scharfe committed with Junio C Hamano Nov 23, 2006
    We can't rely on sizeof(struct zip_*) returning the sum of
    all struct members.  At least on ARM padding is added at the
    end, as Gerrit Pape reported.  This fixes the problem but
    still lets the compiler do the summing by introducing
    explicit padding at the end of the structs and then taking
    its offset as the combined size of the preceding members.
    
    As Junio correctly notes, the _end[] marker array's size
    must be greater than zero for compatibility with compilers
    other than gcc.  The space wasted by the markers can safely
    be neglected because we only have one instance of each
    struct, i.e. in sum 3 wasted bytes on i386, and 0 on ARM. :)
    
    We still rely on the compiler to not add padding between the
    struct members, but that's reasonable given that all of them
    are unsigned char arrays.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. GIT 1.4.4.1

    Junio C Hamano committed Nov 23, 2006
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. trust-executable-bit: fix breakage for symlinks

    Junio C Hamano committed Nov 23, 2006
    An earlier commit f28b34a broke symlinks when trust-executable-bit
    is not set because it incorrectly assumed that everything was a
    regular file.
    
    Reported by Juergen Ruehle.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. Move --pretty options into Documentation/pretty-formats.txt

    Chris Riddoch committed with Junio C Hamano Nov 21, 2006
    Asciidoc-include it into the manuals for programs that use the
    --pretty command-line option, for consistency among the docs.
    
    This describes all the pretty-formats currently listed in the cmit_fmt
    enum in commit.h, and also briefly describes the presence and format
    of the 'Merge: ' line in some pretty formats.
    
    There's a hedge that limiting your view of history can affect what
    goes in the Merge: line, and that --abbrev/--no-abbrev do nothing to
    the 'raw' format.
    
    Signed-off-by: Chris Riddoch <chris@syntacticsugar.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 22, 2006
  1. Doc: Make comment about merging in tutorial.txt more clear

    mignolo committed with Junio C Hamano Nov 20, 2006
    Rephrased a sentence in order to make more clear the concept of
    pull . branch
    
    Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. archive: use setvbuf() instead of setlinebuf()

    Michal Rokos committed with Junio C Hamano Nov 21, 2006
    This tiny patch makes GIT compile again on HP-UX 11i.
    
    [jc: The setlinebuf() is described as unportable to BSD before
     4.2; it's not even in POSIX, while setvbuf() is in ISO C.]
    
    Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 21, 2006
  1. Teach SubmittingPatches about git-commit -s

    mignolo committed with Junio C Hamano Nov 21, 2006
    As discussed on git mailing list let's teach the reader about
    the possiblity to have automatically signed off the commit running
    the git-commit -s command
    
    Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 20, 2006
  1. do_for_each_ref: perform the same sanity check for leftovers.

    Junio C Hamano committed Nov 19, 2006
    An earlier commit b37a562 added a check to see if the ref
    points at a valid object (as a part of 'negative ref' support
    which we currently do not use), but did so only while iterating
    over both packed and loose refs, and forgot to apply the same
    check while iterating over the remaining ones.
    
    We might want to replace the "if null then omit it" check with
    "eh --- what business does a 0{40} value have here?" complaint
    later since we currently do not use negative refs, but that is
    a separate issue.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. git-fetch: follow lightweit tags as well.

    Junio C Hamano committed Nov 19, 2006
    This side-ports commit fd19f620 from Cogito, in which I fixed
    exactly the same bug.  Somehow nobody noticed this for a long
    time in git.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 19, 2006
  1. Documentation: Correct alternates documentation, document http-altern…

    Petr Baudis committed with Junio C Hamano Nov 18, 2006
    …ates
    
    For one, the documentation invalidly claimed that the paths have to be
    absolute when that's not the case and in fact there is a very valid reason
    not to use absolute paths (documented the reason as well).
    
    Signed-off-by: Petr Baudis <pasky@suse.cz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 18, 2006
  1. Documentation: Define symref and update HEAD description

    Petr Baudis committed with Junio C Hamano Nov 18, 2006
    HEAD was still described as a symlink instead of a symref.
    
    Signed-off-by: Petr Baudis <pasky@suse.cz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Document git-runstatus

    Rene Scharfe committed with Junio C Hamano Nov 18, 2006
    I copied most of the text from git-status.txt.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <junkio@cox.net>