1. 08 4月, 2008 1 次提交
  2. 07 4月, 2008 7 次提交
  3. 06 4月, 2008 4 次提交
  4. 05 4月, 2008 3 次提交
  5. 04 4月, 2008 1 次提交
  6. 03 4月, 2008 4 次提交
  7. 02 4月, 2008 10 次提交
  8. 01 4月, 2008 1 次提交
  9. 31 3月, 2008 9 次提交
    • V
      filter-branch: Fix renaming a directory in the tree-filter · 6a589fda
      veillette@yahoo.ca 提交于
      Commit d89c1dfa (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: NJohannes Sixt <johannes.sixt@telecom.at>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6a589fda
    • J
      filter-branch: Test renaming directories in a tree-filter · 90356287
      Johannes Sixt 提交于
      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: NJohannes Sixt <johannes.sixt@telecom.at>
      90356287
    • B
      mktag.c: improve verification of tagger field and tests · e0aaf781
      Brandon Casey 提交于
      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: NBrandon Casey <casey@nrlssc.navy.mil>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e0aaf781
    • J
      diff-files: careful when inspecting work tree items · f58dbf23
      Junio C Hamano 提交于
      This fixes the same breakage in diff-files.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      f58dbf23
    • J
      diff-index: careful when inspecting work tree items · 948dd346
      Junio C Hamano 提交于
      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: NJunio C Hamano <gitster@pobox.com>
      948dd346
    • J
      Add corner case tests for diff-index and diff-files · 6301f303
      Junio C Hamano 提交于
      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: NJunio C Hamano <gitster@pobox.com>
      6301f303
    • J
      Allow git-cvsserver database table name prefix to be specified. · 6aeeffd1
      Josh Elsasser 提交于
      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: NJunio C Hamano <gitster@pobox.com>
      6aeeffd1
    • B
      Silence cpio's "N blocks" output when cloning locally · c20711d2
      Bryan Donlan 提交于
      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: NBryan Donlan <bdonlan@fushizen.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c20711d2
    • E
      git-svn: remove redundant slashes from show-ignore · 67dac28b
      Eric Wong 提交于
      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: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      67dac28b