Permalink
Commits on Mar 23, 2008
  1. GIT 1.5.5-rc1

    gitster committed Mar 23, 2008
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. gc --auto: raise default auto pack limit from 20 to 50

    gitster committed Mar 23, 2008
    Recent discussion on the list, with the improvement f7c22cc (always start
    looking up objects in the last used pack first, 2007-05-30) brought in,
    reached the concensus that the current default 20 is too low.
    
    Reference: http://thread.gmane.org/gmane.comp.version-control.git/77586
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Merge branch 'git-p4' of git://repo.or.cz/git/git-p4

    gitster committed Mar 23, 2008
    * 'git-p4' of git://repo.or.cz/git/git-p4:
      git-p4: Use P4EDITOR environment variable when set
      git-p4: Unset P4DIFF environment variable when using 'p4 -du diff'
      git-p4: Optimize the fetching of data from perforce.
  4. remote.c: Fix overtight refspec validation

    gitster committed Mar 21, 2008
    We tightened the refspec validation code in an earlier commit ef00d15
    (Tighten refspec processing, 2008-03-17) per my suggestion, but the
    suggestion was misguided to begin with and it broke this usage:
    
        $ git push origin HEAD~12:master
    
    The syntax of push refspecs and fetch refspecs are similar in that they
    are both colon separated LHS and RHS (possibly prefixed with a + to
    force), but the similarity ends there.  For example, LHS in a push refspec
    can be anything that evaluates to a valid object name at runtime (except
    when colon and RHS is missing, or it is a glob), while it must be a
    valid-looking refname in a fetch refspec.  To validate them correctly, the
    caller needs to be able to say which kind of refspecs they are.  It is
    unreasonable to keep a single interface that cannot tell which kind it is
    dealing with, and ask it to behave sensibly.
    
    This commit separates the parsing of the two into different functions, and
    clarifies the code to implement the parsing proper (i.e. splitting into
    two parts, making sure both sides are wildcard or neither side is).
    
    This happens to also allow pushing a commit named with the esoteric "look
    for that string" syntax:
    
        $ git push ../test.git ':/remote.c: Fix overtight refspec:master'
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. fast-import: Document the effect of "merge" with no "from" in a commit

    Eyvind Bernhardsen authored and gitster committed Mar 21, 2008
    The fast-import documentation currently does not document the behaviour
    of "merge" when there is no "from" in a commit.  This patch adds a
    description of what happens: the commit is created with a parent, but
    no files.  This behaviour is equivalent to "from" followed by
    "filedeleteall".
    
    Signed-off-by: Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no>
    Acked-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. Make git-svn tests behave better on OS X

    kballard authored and gitster committed Mar 21, 2008
    Give lib-git-svn.sh a few alternate paths to look for apache2.
    Explicitly define the LockFile so httpd will actually start under OS X
    
    Signed-off-by: Kevin Ballard <kevin@sb.org>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. Improve description of git filter-branch.

    Ralf Wildenhues authored and gitster committed Mar 20, 2008
    Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. t/t7003-filter-branch.sh: use test_must_fail rather than '!'

    Brandon Casey authored and gitster committed Mar 20, 2008
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 21, 2008
  1. Don't try and percent-escape existing percent escapes in git-svn URIs

    kballard authored and gitster committed Mar 20, 2008
    git-svn project names are percent-escaped ever since f5530b8
    (git-svn: support for funky branch and project names over HTTP(S),
    2007-11-11).
    
    Unfortunately this breaks the scenario where the user hands git-svn an
    already-escaped URI.  Fix the regexp to skip over what looks like
    existing percent escapes, and test this scenario.
    
    Signed-off-by: Kevin Ballard <kevin@sb.org>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 20, 2008
  1. remote show: do not show symbolic refs

    dscho authored and gitster committed Mar 19, 2008
    For symbolic refs, a sane notion of being "stale" is that the ref
    they point to no longer exists.  Since this is checked already,
    "remote show" does not need to show them at all.
    
    Incidentally, this fixes the issue that "HEAD" was shown as a
    stale ref by "remote show" in a freshly cloned repository.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Document the sendemail.smtpserverport config variable

    kballard authored and gitster committed Mar 19, 2008
    Add sendemail.smtpserverport to the Configuration section
    of the git-send-email manpage. It should probably be
    referenced in the --smtp-server-port option as well.
    
    Signed-off-by: Kevin Ballard <kevin@sb.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Add --reverse to the git-rev-list usage string

    kballard authored and gitster committed Mar 19, 2008
    git-rev-list accepts --reverse, as documented in
    the manpage, but the usage string does not list it.
    
    Signed-off-by: Kevin Ballard <kevin@sb.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. make it easier for people who just want to get rid of 'git gc --auto'

    Nicolas Pitre authored and gitster committed Mar 19, 2008
    Give a direct hint to those who feel highly annoyed by the auto gc
    behavior.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. builtin-gc.c: allow disabling all auto-gc'ing by assigning 0 to gc.auto

    Brandon Casey authored and gitster committed Mar 19, 2008
    The gc.auto configuration variable is somewhat ambiguous now that there
    is also a gc.autopacklimit setting. Some users may assume that it controls
    all auto-gc'ing. Also, now users must set two configuration variables to
    zero when they want to disable autopacking. Since it is unlikely that users
    will want to autopack based on some threshold of pack files when they have
    disabled autopacking based on the number of loose objects, be nice and allow
    a setting of zero for gc.auto to disable all autopacking.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 19, 2008
  1. Documentation/git-merge: document subtree strategy.

    Miklos Vajna authored and gitster committed Mar 18, 2008
    There was already some documentation about subtree under
    Documentation/howto but it was missing from git-merge manpage.
    
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Fix tag following

    Daniel Barkalow authored and gitster committed Mar 18, 2008
    Before the second fetch-pack connection in the same process, unmark
    all of the objects marked in the first connection, in order that we'll
    list them as things we have instead of thinking we've already
    mentioned them.
    
    Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Make revision limiting more robust against occasional bad commit dates

    torvalds authored and gitster committed Mar 18, 2008
    The revision limiter uses the commit date to decide when it has seen
    enough commits to finalize the revision list, but that can get confused
    if there are incorrect dates far in the past on some commits.
    
    This makes the logic a bit more robust by
    
     - we always walk an extra SLOP commits from the source list even if we
       decide that the source list is probably all done (unless the source is
       entirely empty, of course, because then we really can't do anything at
       all)
    
     - we keep track of the date of the last commit we added to the
       destination list (this will *generally* be the oldest entry we've seen
       so far)
    
     - we compare that with the youngest entry (the first one) of the source
       list, and if the destination is older than the source, we know we want
       to look at the source.
    
    which causes occasional date mishaps to be handled cleanly.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. Fix t3200 config

    Daniel Barkalow authored and gitster committed Mar 18, 2008
    "git-config name = value" doesn't do anything most of the time. The
    test meant "git-config name value", but that leaves the configuration
    such that later tests will be confused, so move it to the end.
    
    Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. Tighten refspec processing

    Daniel Barkalow authored and gitster committed Mar 18, 2008
    This changes the pattern matching code to not store the required final
    / before the *, and then to require each side to be a valid ref (or
    empty). In particular, any refspec that looks like it should be a
    pattern but doesn't quite meet the requirements will be found to be
    invalid as a fallback non-pattern.
    
    Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. Fix possible Solaris problem in 'checkout_entry()'

    torvalds authored and gitster committed Mar 17, 2008
    Currently when checking out an entry "path", we try to unlink(2) it first
    (because there could be stale file), and if there is a directory there,
    try to deal with it (typically we run recursive rmdir).  We ignore the
    error return from this unlink because there may not even be any file
    there.
    
    However if you are root on Solaris, you can unlink(2) a directory
    successfully and corrupt your filesystem.
    
    This moves the code around and check the directory first, and then
    unlink(2).  Also we check the error code from it.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. Fix read-tree not to discard errors

    gitster committed Mar 19, 2008
    This fixes the issue identified with recently added tests to t1004
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. Add tests to catch problems with un-unlinkable symlinks

    gitster committed Mar 19, 2008
    This currently fails not because we refuse to check out, but because we
    detect error but incorrectly discard it in the callchain.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  9. Test: catch if trash cannot be removed

    gitster committed Mar 19, 2008
    When your test creates an unwritable directory that test framework cannot
    clean out by "rm -fr trash", later tests cannot start in a fresh state
    they expect to.  Detect this and error out early.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  10. git-merge-one-file: fix longstanding stupid thinko

    gitster committed Mar 17, 2008
    When a merge result creates a new file, and when our side already has a
    file in the path, taking the merge result may clobber the untracked file.
    However, the logic to detect this situation was totally the wrong way.  We
    should complain when the file exists, not when the file does not exist.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 17, 2008
  1. Merge branch 'jc/makefile'

    gitster committed Mar 17, 2008
    * jc/makefile:
      Makefile: flatten enumeration of headers, objects and programs
      Makefile: DIFF_OBJS is not special at all these days
Commits on Mar 16, 2008
  1. Don't update unchanged merge entries

    torvalds authored and gitster committed Mar 16, 2008
    In commit 34110cd ("Make 'unpack_trees()'
    have a separate source and destination index") I introduced a really
    stupid bug in that it would always add merged entries with the CE_UPDATE
    flag set. That caused us to always re-write the file, even when it was
    already up-to-date in the source index.
    
    Not only is that really stupid from a performance angle, but more
    importantly it's actively wrong: if we have dirty state in the tree when
    we merge, overwriting it with the result of the merge will incorrectly
    overwrite that dirty state.
    
    This trivially fixes the problem - simply don't set the CE_UPDATE flag
    when the merge result matches the old state.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. fast-import: Allow "reset" to delete a new branch without error

    Eyvind Bernhardsen authored and gitster committed Mar 16, 2008
    Creating a branch in fast-import and then resetting it without making
    any further commits to it currently causes an error message at the
    end of the import.
    
    This error is triggered by cvs2svn's git backend, which uses a
    temporary fixup branch when it creates tags, because the fixup branch
    is reset after each tag.
    
    This patch prevents the error, allowing "reset" to be used to delete
    temporary branches.
    
    Signed-off-by: Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no>
    Acked-by: Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. t1000: use "test_must_fail git frotz", not "! git frotz"

    gitster committed Mar 16, 2008
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. Update draft release notes for 1.5.5

    gitster committed Mar 16, 2008
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. Resurrect git-rerere to contrib/examples

    gitster committed Mar 16, 2008
    It is handy to have a copy readily available for checking regressions.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. Merge branch 'maint'

    gitster committed Mar 16, 2008
    * maint:
      Start draft ReleaseNotes for 1.5.4.5
      rebase -m: do not trigger pre-commit verification
    
    Conflicts:
    
    	RelNotes
  7. Start draft ReleaseNotes for 1.5.4.5

    gitster committed Mar 16, 2008
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. rebase -m: do not trigger pre-commit verification

    gitster committed Mar 16, 2008
    When rebasing changes that contain issues that the pre-commit hook flags
    as problematic, the rebase cannot be continued.  However, rebase is about
    transplanting commits that are already made with as little distortion as
    possible, and pre-commit check should not interfere.
    
    Earlier, c5b09fe (Avoid update hook during git-rebase --interactive,
    2007-12-19) fixed "rebase -i", but "rebase -m" shared the same issue.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  9. Merge branch 'master' of git://repo.or.cz/git-gui

    gitster committed Mar 16, 2008
    * 'master' of git://repo.or.cz/git-gui:
      git-gui: Improve directions regarding POT update in po/README
      git-gui: Update Japanese translation
      git-gui: Adjusted Japanese translation to updated POT
      git-gui: Update Japanese translation
      git-gui: Don't translate the special Apple menu
      git-gui: Updated Hungarian translation (e5fba18)
      git-gui: update russian translation
      git-gui: remove spurious "fuzzy" attributes in po/it.po
      git-gui: updated Swedish translation
      git-gui: Regenerated po template and merged translations with it
      Update Hungarian translation. 100% completed.
      git-gui: update Italian translation
  10. git-gui: Improve directions regarding POT update in po/README

    gitster authored and spearce committed Mar 15, 2008
    Keeping POT up to date relative to the software is absolutely
    necessary.  What is unwarranted is updating language files at
    the same time by running msgmerge without checking if there is
    any outstanding translation work first.  If we assume that the
    translators do not have access to msgmerge, that is a good service
    to them (the less they have to do, the better), but otherwise,
    it is better to be leave po/${language}.po files alone.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>