Permalink
Commits on Apr 2, 2008
  1. GIT 1.5.5-rc3

    gitster committed Apr 2, 2008
    The rate of fixes that trickle in has slowed and we are definitely
    getting there.  Hopefully one final round and we will have the final
    1.5.5 soon.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'js/filter-branch'

    gitster committed Apr 2, 2008
    * js/filter-branch:
      filter-branch: Fix renaming a directory in the tree-filter
      filter-branch: Test renaming directories in a tree-filter
  3. Describe the bug in handling filenames with funny characters in 'git …

    tlikonen committed with gitster Apr 2, 2008
    …add -i'
    
    The interactive mode does not work with files whose names contain
    characters that need C-quoting.  `core.quotepath` configuration can be
    used to work this limitation around to some degree, but backslash,
    double-quote and control characters will still have problems.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. Merge git://repo.or.cz/git-gui

    gitster committed Apr 2, 2008
    * git://repo.or.cz/git-gui:
      git-gui 0.10
      git-gui: Add shortcut keys for Show More/Less Context
  5. Merge branch 'bc/mktag'

    gitster committed Apr 2, 2008
    * bc/mktag:
      mktag.c: tweak validation of tagger field and adjust test script
      mktag.c: improve verification of tagger field and tests
  6. Merge branch 'pb/cvsserver'

    gitster committed Apr 2, 2008
    * pb/cvsserver:
      git-cvsserver: handle change type T
  7. Merge branch 'dd/cvsserver'

    gitster committed Apr 2, 2008
    * dd/cvsserver:
      cvsserver: Use the user part of the email in log and annotate results
      cvsserver: Add test for update -p
      cvsserver: Implement update -p (print to stdout)
      cvsserver: Add a few tests for 'status' command
      cvsserver: Do not include status output for subdirectories if -l is passed
      cvsserver: Only print the file part of the filename in status header
      cvsserver: Respond to the 'editors' and 'watchers' commands
  8. Merge branch 'je/cvsserver'

    gitster committed Apr 2, 2008
    * je/cvsserver:
      Allow git-cvsserver database table name prefix to be specified.
  9. t7004-tag: Skip more tests if gpg is not available.

    Johannes Sixt committed with gitster Apr 2, 2008
    This test was already careful enough to skip signed tag tests if gpg
    is not available, but it must also skip all verify tests, even those
    that are about non-signed tags, because they also invoke gpg.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  10. verify-tag: Clean up the temporary file if gpg cannot be started.

    Johannes Sixt committed with gitster Apr 2, 2008
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  11. help: Add a missing OPT_END().

    chriscool committed with gitster Apr 2, 2008
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  12. Accept git aliases outside a git repository

    gitster committed Apr 1, 2008
    af05d67 (Always set *nongit_ok in setup_git_directory_gently(),
    2008-03-25) had a change from the patch originally submitted that resulted
    in disabling aliases outside a git repository.
    
    It turns out that some people used "alias.fubar = diff --color-words" in
    $HOME/.gitconfig to use non-index diff (or any command that do not need
    git repository) outside git repositories, and this change broke them,
    so this resurrects the support for such usage.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  13. git-gui 0.10

    spearce committed Apr 2, 2008
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  14. git-gui: Add shortcut keys for Show More/Less Context

    Jonathan del Strother committed with spearce Apr 1, 2008
    Bound to Ctrl/Cmd + left & right square brackets, depending on
    your platform.
    
    [sp: Added missing binds for . to allow shortcuts to work when
         not focused in the commit message area.]
    
    Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Apr 1, 2008
  1. mktag.c: tweak validation of tagger field and adjust test script

    Brandon Casey committed with gitster Mar 31, 2008
    Update the verify_tag() function to remove an unnecessary test, and add
    additional check for angle brackets in the name and email field, and
    spaces in the email field. The timestamp and timezone sections are made
    more straight forward by using strspn().
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 31, 2008
  1. filter-branch: Fix renaming a directory in the tree-filter

    veillette@yahoo.ca committed with gitster Mar 31, 2008
    Commit d89c1df (filter-branch: don't use xargs -0, 2008-03-12) replaced a
    'ls-files | xargs rm' pipeline by 'git clean'. 'git clean' however does
    not recurse and remove directories by default.
    
    Now, consider a tree-filter that renames a directory.
    
      1. For the first commit everything works as expected
    
      2. Then filter-branch checks out the files for the next commit. This
         leaves the new directory behind because there is no real "branch
         switching" involved that would notice that the directory can be
         removed.
    
      3. Then filter-branch invokes 'git clean' to remove exactly those
         left-overs. But here it does not remove the directory.
    
      4. The next tree-filter does not work as expected because there already
         exists a directory with the new name.
    
    Just add -d to 'git clean', so that empty directories are removed.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. filter-branch: Test renaming directories in a tree-filter

    Johannes Sixt committed with gitster Mar 31, 2008
    This test currently fails.
    
    If b is a directory then 'mv a b' is not a plain "rename", but really a
    "move", so we must also test that the directory does not exist with the
    old name in the directory with the new name.
    
    There's also some cleanup in the corresponding "rename file" test to avoid
    spurious shell syntax errors and "ambigous ref" error from 'git show' (but
    these should show up only if the test would fail anyway). Plus we also
    test for the non-existence of the old file.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
  3. mktag.c: improve verification of tagger field and tests

    Brandon Casey committed with gitster Mar 27, 2008
    Since nearly its birth, git's tags have included a "tagger" field which
    describes the name of tagger, email of tagger, and date and time of tagging.
    But, this field was only loosely tested by git-mktag. Provide some thorough
    testing for this field and also ensure that the tag header is separated
    from the tag body by an empty line to reduce the convenience of creating
    a flawed tag.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. diff-files: careful when inspecting work tree items

    gitster committed Mar 31, 2008
    This fixes the same breakage in diff-files.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. diff-index: careful when inspecting work tree items

    gitster committed Mar 31, 2008
    Earlier, if you changed a staged path into a directory in the work tree,
    we happily ran lstat(2) on it and found that it exists, and declared that
    the user changed it to a gitlink.
    
    This is wrong for two reasons:
    
     (1) It may be a directory, but it may not be a submodule, and in the
         latter case, the change we need to report is "the blob at the path
         has disappeared".  We need to check with resolve_gitlink_ref() to be
         consistent with what "git add" and "git update-index --add" does.
    
     (2) lstat(2) may have succeeded only because a leading component of the
         path was turned into a symbolic link that points at something that
         exists in the work tree.  In such a case, the path itself does not
         exist anymore, as far as the index is concerned.
    
    This fixes these breakages in diff-index that the previous patch has
    exposed.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. Add corner case tests for diff-index and diff-files

    gitster committed Mar 31, 2008
    diff-index and diff-files can get confused in corner cases when an indexed
    blob turns into something else in the work tree.  This patch adds tests to
    expose such breakages.
    
    The test is classified under t2XXX series instead of t4XXX series, because
    the ultimate objective is to fix "add -u" (and "commit -a" that shares the
    same issue).
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. Allow git-cvsserver database table name prefix to be specified.

    jre committed with gitster Mar 27, 2008
    Adds a gitcvs.dbtablenameprefix config variable, the contents of which
    are prepended to any database tables names used by git-cvsserver. The
    same substutions as gitcvs.dbname and gitcvs.dbuser are supported, and
    any non-alphabetic characters are replaced with underscores.
    
    A typo found in contrib/completion/git-completion.bash is also fixed.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. Silence cpio's "N blocks" output when cloning locally

    Bryan Donlan committed with gitster Mar 28, 2008
    Pass --quiet to cpio in git-clone to hide the (confusing) "0 blocks" message.
    For compatibility with operating systems which might not support GNUisms,
    the presence of --quiet is probed for by grepping cpio's --help output.
    
    Signed-off-by: Bryan Donlan <bdonlan@fushizen.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  9. git-svn: remove redundant slashes from show-ignore

    Eric Wong committed with gitster Mar 29, 2008
    Jonathan Scott Duff wrote:
    
    > Recently I tried "git svn showignore" on my parrot repository and it
    > failed.  I tracked it down to the prop_walk() sub.  When it recurses,
    > $path has an extra / on the beginning (i.e., when it recurses, it
    > tries to get the props for "//apps" instead of "/apps").   I *think*
    > this is because $path is used in the recursive call rather than $p
    > (which seems to contain a properly transformed $path).  Anyway, I've
    > attached a patch that works for me and I think is generally the right
    > thing.
    
    Patch-submitted-by: Jonathan Scott Duff
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 28, 2008
  1. git-p4: Handle Windows EOLs properly after removal of p4 submit templ…

    Marius Storm-Olsen committed with tronical Mar 28, 2008
    …ate handling.
    
    git-p4s handling of Windows style EOL was broken after the removal
    of the p4 submit template handling in commit f2a6059. Fix that, and
    make getP4OpenedType() more robust.
    
    Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
    Signed-off-by: Simon Hausmann <simon@lst.de>
  2. git-cvsserver: handle change type T

    bonzini committed with gitster Mar 16, 2008
    git-cvsserver does not support changes of type T (file type change,
    e.g. symlink->real file).  This patch treats them the same as changes
    of type M.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. GIT 1.5.5-rc2

    gitster committed Mar 28, 2008
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. GIT 1.5.4.5

    gitster committed Mar 28, 2008
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 27, 2008
  1. cvsserver: Use the user part of the email in log and annotate results

    ztzg committed with gitster Mar 27, 2008
    Generate the CVS author names by taking the first eight characters of
    the user part of the email address.  The resulting names are more
    likely to make sense (or at least reduce ambiguities) in "corporate"
    environments.
    
    Signed-off-by: Damien Diederen <dash@foobox.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. cvsserver: Add test for update -p

    ztzg committed with gitster Mar 27, 2008
    Signed-off-by: Damien Diederen <dash@foobox.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. cvsserver: Implement update -p (print to stdout)

    ztzg committed with gitster Mar 27, 2008
    Cvs update -p -r <rev> <path> is the documented way to retrieve a
    specific revision of a file (similar to git show <rev>:<path>).
    Without this patch, the -p flag is ignored and status output is
    produced, causing clients to interpret it as the contents of the file.
    
    TkCVS uses update -p as a basis for implementing its various "View"
    and "Diff" commands.
    
    Signed-off-by: Damien Diederen <dash@foobox.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. cvsserver: Add a few tests for 'status' command

    ztzg committed with gitster Mar 27, 2008
    Signed-off-by: Damien Diederen <dash@foobox.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. cvsserver: Do not include status output for subdirectories if -l is p…

    ztzg committed with gitster Mar 27, 2008
    …assed
    
    This effectively implements the -l switch by pruning the entries whose
    filenames contain a path separator.  It was previously ignored.
    
    Without this, TkCVS includes strange "ghost" entries in its directory
    listings.
    
    Signed-off-by: Damien Diederen <dash@foobox.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. cvsserver: Only print the file part of the filename in status header

    ztzg committed with gitster Mar 27, 2008
    The "File:" header of CVS status output only includes the basename of
    the file, even when generating a recursive listing; do the same.
    
    Signed-off-by: Damien Diederen <dash@foobox.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. cvsserver: Respond to the 'editors' and 'watchers' commands

    ztzg committed with gitster Mar 27, 2008
    These commands list users editing and watching locked files.  This trivial
    implementation always returns an empty response, since git-cvsserver does not
    implement file locking.
    
    Without this, TkCVS hangs at startup, waiting forever for a response.
    
    Signed-off-by: Damien Diederen <dash@foobox.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>