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
parent
45d2b286ac
commit
0870321548
|
@ -580,13 +580,12 @@ sub svn_info {
|
||||||
sub sys { system(@_) == 0 or croak $? }
|
sub sys { system(@_) == 0 or croak $? }
|
||||||
|
|
||||||
sub git_addremove {
|
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'".
|
"'--exclude-from=$GIT_DIR/$GIT_SVN/info/exclude'".
|
||||||
"| git-update-index --add -z --stdin; ".
|
" | git-update-index --add -z --stdin; "
|
||||||
"git-ls-files -z --deleted ".
|
) == 0 or croak $?
|
||||||
"| git-update-index --remove -z --stdin; ".
|
|
||||||
"git-ls-files -z --modified".
|
|
||||||
"| git-update-index -z --stdin") == 0 or croak $?
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub s_to_file {
|
sub s_to_file {
|
||||||
|
|
Loading…
Reference in New Issue