Browse Source

git-svn: remove files from the index before adding/updating

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>
maint
Eric Wong 19 years ago committed by Junio C Hamano
parent
commit
0870321548
  1. 11
      contrib/git-svn/git-svn

11
contrib/git-svn/git-svn

@ -580,13 +580,12 @@ sub svn_info { @@ -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 {

Loading…
Cancel
Save