X-Git-Url: https://git.octo.it/?p=git.git;a=blobdiff_plain;f=git-mv.perl;h=75aa8feeb6201c54e55bfaca0cc178c53891e776;hp=fe9c40e1b9ed81f0494bf2c20239c6a5d5b76d30;hb=HEAD;hpb=2486927d2ec9cc05ed7589540d103382d3751c10 diff --git a/git-mv.perl b/git-mv.perl index fe9c40e1..75aa8fee 100755 --- a/git-mv.perl +++ b/git-mv.perl @@ -62,9 +62,17 @@ else { $dstDir = ""; } +my $subdir_prefix = `git rev-parse --show-prefix`; +chomp($subdir_prefix); + +# run in git base directory, so that git-ls-files lists all revisioned files +chdir "$GIT_DIR/.."; + # normalize paths, needed to compare against versioned files and update-index # also, this is nicer to end-users by doing ".//a/./b/.//./c" ==> "a/b/c" for (@srcArgs, @dstArgs) { + # prepend git prefix as we run from base directory + $_ = $subdir_prefix.$_; s|^\./||; s|/\./|/| while (m|/\./|); s|//+|/|g;