bug
This commit is contained in:
parent
45daa931ed
commit
842afa71ab
1 changed files with 31 additions and 0 deletions
|
@ -0,0 +1,31 @@
|
|||
git has a new feature:
|
||||
|
||||
CONFLICT (file location): x/foo/bar.ext added in refs/remotes/whatever/master inside a directory that was renamed in HEAD, suggesting it should perhaps be moved to y/bar.ext.
|
||||
|
||||
When this happens during a git-annex sync, the result is:
|
||||
|
||||
y/bar.variant-nnnn.ext
|
||||
y/bar.ext
|
||||
|
||||
With the .variant file checked in, but the other one not checked in.
|
||||
|
||||
Which is problimatic both because the file does not get checked in, and because
|
||||
if this is a merge conflict at all (I disagree with git that it should be,
|
||||
didn't used to be), it's a conflict between x/foo/bar.ext and y/bar.ext and so
|
||||
git-annex sync should presumably make those two into .variant files, not 2
|
||||
files in the same directory.
|
||||
|
||||
Although, it might be better for git-annex not to make variant files at all in
|
||||
this situation, since both files have the same content.
|
||||
|
||||
This new git feature does have a config (after not for a while),
|
||||
set merge.directoryRenames=false to disable it. One option would be for sync to
|
||||
just set that. But if the user has enabled that option, sync should probably
|
||||
deal with the consequences, if at all possible.
|
||||
|
||||
Based on git commit 8c8e5bd6eb331d055aa7fa6345f6dcdadd658979,
|
||||
it uses a higher than usual stage level in the index in this case,
|
||||
so it might be possible for git-annex to use that to detect it and handle it
|
||||
specially.
|
||||
|
||||
--[[Joey]]
|
Loading…
Reference in a new issue