Permalink
Commits on Dec 20, 2007
  1. GIT 1.5.4-rc1

    gitster committed Dec 20, 2007
    It's been a week since -rc0, and we have quite a lot of fixes,
    so here it is.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Catch and handle git-commit failures in git-rebase --interactive

    spearce authored and gitster committed Dec 19, 2007
    If git-commit fails for any reason then git-rebase needs to stop
    and not plow through the rest of the series.  Its unlikely that
    a future git-commit will succeed if the current attempt failed.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Avoid update hook during git-rebase --interactive

    spearce authored and gitster committed Dec 19, 2007
    If we are rebasing changes that contain potential whitespace
    errors that our .git/hooks/pre-commit hook looks for and fails
    on then git-commit will fail to commit that change.  This causes
    git-rebase--interactive to squash commits together, even though it
    was not requested to do so by the todo file.
    
    Passing --no-verify to git-commit makes git-rebase -i behave more
    like git-rebase normally would in such conditions, providing more
    consistent behavior between the different rebase implementations.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. Improved submodule merge support

    Finn Arne Gangstad authored and gitster committed Dec 18, 2007
    When merging conflicting submodule changes from a supermodule, generate
    a conflict message saying what went wrong. Also leave the tree in a state
    where git status shows the conflict, and git submodule status gives the user
    enough information to do the merge manally. Previously this would just fail.
    
    Signed-off-by: Finn Arne Gangstad <finnag@pvv.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 19, 2007
  1. Fix interactive rebase to preserve author email address

    loops authored and gitster committed Dec 19, 2007
    Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. make 'git describe --all --contains' work

    Nicolas Pitre authored and gitster committed Dec 19, 2007
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Fix git-instaweb breakage on MacOS X due to the limited sed functiona…

    hashpling authored and gitster committed Dec 19, 2007
    …lity
    
    git-instaweb relied on a pipe in a sed script, but this is not supported
    by MacOS X sed when using BREs.  git-instaweb relies on a working perl
    in any case, and perl re are more consistent between platforms, so
    replace sed invocation with an equivalent perl invocation.
    
    Also, fix the documented -b "" to work without giving a spurious 'command
    not found' error.
    
    Signed-off-by: Charles Bailey <charles@hashpling.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. test "git clone -o"

    peff authored and gitster committed Dec 19, 2007
    This tests a recently fixed regression in which "git clone
    -o" didn't work at all.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. clone: fix options '-o' and '--origin' to be recognised again

    fiberbit authored and gitster committed Dec 19, 2007
    Due to a subtle typo in a shell case pattern neither alternative worked.
    
    Signed-off-by: Marco Roeland <marco.roeland@xs4all.nl>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. git show <tag>: show the tagger

    dscho authored and gitster committed Dec 18, 2007
    For commit objects, the Author is shown, so do the equivalent for
    tag objects, too.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. git-svn: avoid warning when run without arguments

    Eric Wong
    Eric Wong committed Dec 19, 2007
    While we're in the area, finish writing a halfway-written
    comment describing what that block does...
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  8. git-svn: workaround a for broken symlinks in SVN

    Eric Wong
    Eric Wong committed Dec 19, 2007
    It's possible for bad clients to commit symlinks without the
    5-character "link " prefix in symlinks.  So guard around this
    bug in SVN and make a best effort to create symlinks if the
    "link " prefix is missing.
    
    More information on this SVN bug is described here:
      http://subversion.tigris.org/issues/show_bug.cgi?id=2692
    
    To be pedantic, there is still a corner case that neither we nor
    SVN can handle:  If somebody made a link using a broken SVN
    client where "link " is the first part of its path, e.g.
    "link sausage", then we'd end up having a symlink which points
    to "sausage" because we incorrectly stripped the "link ".
    Hopefully this hasn't happened in practice, but if it has,
    it's not our fault SVN is broken :)
    
    Thanks to Benoit Sigoure and Sverre Johansen for reporting
    and feedback.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  9. git-svn: avoid leaving leftover committer/author info in rebase

    Eric Wong
    Eric Wong committed Dec 16, 2007
    We set the 6 environment variables for controlling
    committer/author email/name/time for every commit.
    
    We do this in the parent process to be passed to
    git-commit-tree, because open3() doesn't afford us the control
    of doing it only in the child process.  This means we leave them
    hanging around in the main process until the next revision comes
    around and all 6 environment variables are overwridden again.
    
    Unfortunately, for the last commit, leaving them hanging around
    means the git-rebase invocation will pick it up, rewriting the
    rebased commit with incorrect author information.  This should fix
    it.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
Commits on Dec 18, 2007
  1. fix style of a few comments in diff-delta.c

    Nicolas Pitre authored and gitster committed Dec 18, 2007
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. git-filter-branch.sh: more portable tr usage: use \012, not \n.

    meyering authored and gitster committed Dec 18, 2007
    I hesitate to suggest this, since GNU tr has accepted \n for 15 years,
    but there are supposedly a few crufty vendor-supplied versions of tr still
    in use.  Also, all of the other uses of tr-with-newline in git use \012.
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. filter-branch: Remove broken and unnecessary summary of rewritten refs.

    Johannes Sixt authored and gitster committed Dec 18, 2007
    There was an attempt to list the refs that were rewritten by filtering
    the output of 'git show-ref' for 'refs/original'. But it got the
    grep argument wrong, which did not account for the SHA1 that is listed
    before the ref.
    
    Moreover, right before this summary is the loop that actually does the
    rewriting, and the rewritten refs are listed there anyway. So this extra
    summary is plainly too verbose.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. Fix some documentation typos.

    Ralf Wildenhues authored and gitster committed Dec 18, 2007
    Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. builtin-blame.c: remove unneeded memclr()

    gitster committed Dec 18, 2007
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. unpack-trees: FLEX_ARRAY fix

    torvalds authored and gitster committed Dec 18, 2007
    In unpack-trees.c (line 593), we do
    
    	..
    	if (same(old, merge)) {
    		*merge = *old;
    	} else {
    	..
    
    and that "merge" is a cache_entry pointer. If we have a non-zero
    FLEX_ARRAY size, it will cause us to copy the first few bytes of the
    name too.
    
    That is technically wrong even for FLEX_ARRAY being 1, but you'll never
    notice, since the filenames should always be the same with the current
    code.  But if we do the same thing for a rename, we'd be screwed.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. Fix segfault in diff-delta.c when FLEX_ARRAY is 1

    MadCoder authored and gitster committed Dec 18, 2007
    aka don't do pointer arithmetics on structs that have a FLEX_ARRAY member,
    or you'll end up believing your array is 1 cell off its real address.
    
    Signed-off-by: Pierre Habouzit <madcoder@debian.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. Merge branch 'maint'

    gitster committed Dec 18, 2007
    * maint:
      git-send-email: avoid duplicate message-ids
      clone: correctly report http_fetch errors
  9. rebase -p -i: handle "no changes" gracefully

    dscho authored and gitster committed Dec 17, 2007
    Since commit 376ccb8 (rebase -i: style
    fixes and minor cleanups), unchanged SHA-1s are no longer mapped via
    $REWRITTEN.  But the updating phase was not prepared for the old head
    not being rewritten.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  10. Document diff.external and mergetool.<tool>.path

    dscho authored and gitster committed Dec 17, 2007
    There was no documentation for the config variables diff.external
    and mergetool.<tool>.path.
    
    Noticed by Sebastian Schuberth.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  11. Support config variable diff.external

    dscho authored and gitster committed Dec 17, 2007
    We had the diff.external variable in the documentation of the config
    file since its conception, but failed to respect it.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  12. Clean up documentation that references deprecated 'git peek-remote'.

    Johannes Sixt authored and gitster committed Dec 17, 2007
    Now that 'git peek-remote' is deprecated and only an alias for
    'git ls-remote', it should not be referenced from other manual pages.
    
    This also removes the description of the --exec option, which is no
    longer present.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  13. Clarify error response from 'git fetch' for bad responses

    samv authored and gitster committed Dec 17, 2007
    This error message prints the reponse from the server at this point.
    Label it as such in the output.
    
    Signed-off-by: Sam Vilain <sam@vilain.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  14. the use of 'tr' in the test suite isn't really portable

    Tux authored and gitster committed Dec 17, 2007
    Some versions of 'tr' only accept octal codes if entered with three digits,
    and therefor misinterpret the '\0' in the test suite.
    
    Some versions of 'tr' reject the (needless) use of character classes.
    
    Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  15. Plug a resource leak in threaded pack-objects code.

    Johannes Sixt authored and gitster committed Dec 17, 2007
    A mutex and a condition variable is allocated for each thread and torn
    down when the thread terminates. However, for certain workloads it can
    happen that some threads are actually not started at all. In this case
    we would leak the mutex and condition variable. Now we allocate them only
    for those threads that are actually started.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 17, 2007
  1. git-send-email: avoid duplicate message-ids

    peff authored and gitster committed Dec 17, 2007
    We used to unconditionally add a message-id to the outgoing
    email without bothering to check if it already had one.
    Instead, let's use the existing one.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. clone: correctly report http_fetch errors

    peff authored and gitster committed Dec 17, 2007
    The exit status from curl was accidentally lost by the
    'case' statement. We need to explicitly save it so that $?
    doesn't get overwritten.
    
    This improves the error message when fetching from an http
    repository which has never had update-server-info run.
    Previously, it would fail to note the fetch error and
    produce multiple errors about the lack of origin branches.
    It now correctly suggests running git-update-server-info.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Documentation/git-submodule: refer to gitmodules(5)

    gitster committed Dec 17, 2007
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. threaded pack-objects: Use condition variables for thread communication.

    Johannes Sixt authored and gitster committed Dec 16, 2007
    In the threaded pack-objects code the main thread and the worker threads
    must mutually signal that they have assigned a new pack of work or have
    completed their work, respectively. Previously, the code used mutexes that
    were locked in one thread and unlocked from a different thread, which is
    bogus (and happens to work on Linux).
    
    Here we rectify the implementation by using condition variables: There is
    one condition variable on which the main thread waits until a thread
    requests new work; and each worker thread has its own condition variable
    on which it waits until it is assigned new work or signaled to terminate.
    
    As a cleanup, the worker threads are spawned only after the initial work
    packages have been assigned.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 16, 2007
  1. builtin-commit: make summary output consistent with status

    gitster committed Dec 16, 2007
    This enables -B -M to the summary output after a commit is made so that
    it is in line with what is shown in git-status and commit log template.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. builtin-commit: fix summary output.

    gitster committed Dec 16, 2007
    Because print_summary() forgot to call diff_setup_done() after futzing with
    diff output options, it failed to activate recursive diff, which resulted in
    an incorrect summary.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. builtin-apply: stronger indent-with-on-tab fixing

    J. Bruce Fields authored and gitster committed Dec 16, 2007
    Fix any sequence of 8 spaces in initial indent, not just the case where
    the 8 spaces are the first thing on the line.
    
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>