Re: Two bugs with renaming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, 19 Mar 2008, John Goerzen wrote:
>
> #######
> # Set up bug #2
> 
> jgoerzen@katherina:/tmp/testrepo$ echo foo > foo
> jgoerzen@katherina:/tmp/testrepo$ git add foo
> jgoerzen@katherina:/tmp/testrepo$ git commit -m 'Added foo'
> jgoerzen@katherina:/tmp/testrepo$ git checkout testbranch
> Switched to branch "testbranch"
> jgoerzen@katherina:/tmp/testrepo$ ls -l
> total 0
> lrwxrwxrwx 1 jgoerzen jgoerzen 16 Mar 19 18:14 files -> /tmp/nonexistant
> drwxr-xr-x 2 jgoerzen jgoerzen 22 Mar 19 18:14 files.upstream
> jgoerzen@katherina:/tmp/testrepo$ git merge master
> fatal: Entry 'files/delete.me' would be overwritten by merge. Cannot merge.
> Merge with strategy recursive failed.

Ok, so if I read this right, you have a D/F conflict, with the current 
branch having a file (or rather, a symlink) called "files", and the branch 
you are trying to merge has a *directory* called "files" in it, and the 
merge gets really unhappy about that conflict.

Now, arguably, it should just see them as two independent issues, and then 
the rename detection will notice that the "files/delete.me" file got 
renamed as "files.upstream/delete.me", so *after* rename detection there 
will be no D/F conflict in the end result, but we see the conflict before 
that all even happens.

Ho humm. 

With the new unpack-trees logic it's pretty easy to *not* unpack with DF 
conflicts (add a flag that tells us to use "base_name_compare()" instead 
of "df_name_compare()" in do_compare_entry()), and maybe we can then make 
builtin-merge-recursive.c set that flag. But then builtin-merge-recursive
would also have to understand about D/F conflicts itself (since now 
unpack_trees() wouldn't give them as conflicts any more).

			Linus
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux