From: Junio C Hamano Date: Wed, 26 Jul 2006 18:23:59 GMT Subject: Re: [PATCH 1/2] t7001: add test for git-mv dir1 dir2/ Message-ID: <7virlkrzr4.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <9e4733910607261050k5f8d8d5dke5ded3a806b46f21@mail.gmail.com> "Jon Smirl" writes: > An exact test case: > > git clone git foo > git clone git foo1 > cd foo > mkdir zzz > git mv gitweb zzz > cg diff >patch > cd ../foo1 > cg patch <../foo/patch > > This patch won't apply because zzz does not exist in foo1 A short and sweet reproduction recipe is essential for a problem report like this, and I appreciate it very much. "git mv" in "master" should do the right thing and I see Johannes fixing (or fixed) the problem of "git mv" failing in his version. We should correctly handle cases that fit your general description (the test t/t4112-apply-renames.sh has a file in "klibc/arch/x86_64" which is renamed and copied to two different locations under "include/arch"). The above does not reproduce for me if I used "git diff HEAD >patch" in place of "cg diff" (I cannot make cg behave on my machine). $ mkdir zzz $ ~/git-master/bin/git-mv gitweb zzz/ $ LANG=C LC_ALL=C find gitweb zzz -type f -print find: gitweb: No such file or directory zzz/gitweb/README zzz/gitweb/gitweb.cgi zzz/gitweb/gitweb.css zzz/gitweb/test/M??rchen zzz/gitweb/test/file with spaces zzz/gitweb/test/file+plus+sign $ git diff HEAD >patch $ git checkout -f HEAD $ LANG=C LC_ALL=C find gitweb zzz -type f -print gitweb/README gitweb/gitweb.cgi gitweb/gitweb.css gitweb/test/M??rchen gitweb/test/file with spaces gitweb/test/file+plus+sign find: zzz: No such file or directory $ git apply --index