diff --git a/git-mv.perl b/git-mv.perl
index 83dc7e45cf205c7575512182bf29516914773209..2ea852c9185743d5b84523698cbffaaffb238543 100755 (executable)
--- a/git-mv.perl
+++ b/git-mv.perl
$dst = shift @dstArgs;
$bad = "";
+ for ($src, $dst) {
+ # Be nicer to end-users by doing ".//a/./b/.//./c" ==> "a/b/c"
+ s|^\./||;
+ s|/\./|/| while (m|/\./|);
+ s|//+|/|g;
+ # Also "a/b/../c" ==> "a/c"
+ 1 while (s,(^|/)[^/]+/\.\./,$1,);
+ }
+
if ($opt_v) {
print "Checking rename of '$src' to '$dst'\n";
}