[PATCH] git-svn: remove files from the index before adding/updating
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Feb 18, 2006, 05:04 UTC
- Message-ID
- <11402390872301-git-send-email-normalperson@yhbt.net>
This fixes a bug when importing where a directory gets removed/renamed but is immediately replaced by a file of the same name in the same revision.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
contrib/git-svn/git-svn | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-)
c142c70866ab8ce1765e4b88506aa79b5c5c1427
diff --git a/contrib/git-svn/git-svn b/contrib/git-svn/git-svn index 2caf057..71a8b3b 100755 --- a/contrib/git-svn/git-svn +++ b/contrib/git-svn/git-svn @@ -580,13 +580,12 @@ sub svn_info { sub sys { system(@_) == 0 or croak $? } sub git_addremove { - system( "git-ls-files -z --others ". + system( "git-diff-files --name-only -z ". + " | git-update-index --remove -z --stdin; ". + "git-ls-files -z --others ". "'--exclude-from=$GIT_DIR/$GIT_SVN/info/exclude'". - "| git-update-index --add -z --stdin; ". - "git-ls-files -z --deleted ". - "| git-update-index --remove -z --stdin; ". - "git-ls-files -z --modified". - "| git-update-index -z --stdin") == 0 or croak $? + " | git-update-index --add -z --stdin; " + ) == 0 or croak $? } sub s_to_file {
-- 1.2.0.g4d1a-dirty