On Sun, Feb 11, 2007 at 04:15:36PM +0100, Guido Guenther wrote: > it seems there can be leftover (untracked) files after a rename that > happened during a recursive merge. Is this intentional? If so > git_load_dirs would have to call 'git-clean' explicitly after the merge > which looks strange (at least when merging to '.'). Example (based on > input provided by Arnaud Cornet) below: > > On Fri, Feb 09, 2007 at 11:13:45PM +0100, Arnaud Cornet wrote: > > Hi Guido, > > > > On ven, f?v 09, 2007 at 09:07:56 +0100, Guido Guenther wrote: > > > Could you send me the git repo and the tarball via private mail or an > > > URL to clone from to reproduce this? Removals do work fine here (tried > > > that with dozens of packages). > > > > Actually I was a bit wrong in my bug: in the git repo everything is ok. > > The problem is only in the workdir, in which a deleted file is still > > present after git-import-orig. > the problem seems to be in "git pull" itself. After merging the upstream > branch to master the file 'src/mpi.c' gets renamed to 'src/bignum.c' by > git as it should, but the old file (src/mpi.c) isn't being removed from > the checked out copy. This is the shortest way to reproduce this (I > commented all output and all comments with '#' so it can be used as a > script): > > # preparation: > apt-get source libxyssl-dev > wget http://xyssl.org/code/download/xyssl-0.4.tgz > > # create a new repo 'xyssl' with 'master' and 'upstream' branch: > git-import-dsc xyssl_0.3-1.dsc > # umpack the new upstream version to import: > tar zcf xyssl-0.4.tgz > > cd xyssl > git-checkout upstream > > # this imports the new xyssl onto the 'upstream' branch. The file > # 'src/mpi.c' is removed via 'git rm' and 'src/bignum.c' is added via > # 'git add' (as can be seen from git_load_dirs output): > git_load_dirs -v ../xyssl-0.4 > git-status > # nothing to commit > ls src/bignum.c src/mpi.c > #ls: src/mpi.c: No such file or directory > #src/bignum.c > # ...so mpi.c is gone on 'upstream' as it should be > > git checkout master > ls src/bignum.c src/mpi.c > #ls: src/bignum.c: No such file or directory > #src/mpi.c > # ...mpi.c still exists on 'master' > > git pull . upstream > # rename src/{mpi.c => bignum.c} (67%) > # ...so the recursive merge detects the rename, but: > # Untracked files: > # (use "git add" to add to commit) > # > # src/mpi.c > > So shouldn't 'git-pull' remove src/mpi.c after it detects the rename?
Hi Guido, this sound much like #403104, so, yes, src/mpi.c should have been removed. This has been fixed upstream already, but the fix won't be in etch unfortunately, see http://thread.gmane.org/gmane.comp.version-control.git/38617 Regards, Gerrit. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]