Comment 5 for bug 484706

Revision history for this message
Alexander Belchenko (bialix) wrote :

OK, I understand John's point: TREE_ROOT works as implict parent directory. I can get the same path conflict for renamed files:

C:\Temp\4>bzr init a
Created a standalone tree (format: pack-0.92)

C:\Temp\4\a>echo > foo

C:\Temp\4\a>bzr st
unknown:
   foo

C:\Temp\4\a>bzr add
adding foo

C:\Temp\4\a>bzr ci -m1
Committing to: C:/Temp/4/a/
added foo
Committed revision 1.

C:\Temp\4>bzr get a b
Branched 1 revision(s).

C:\Temp\4\a>bzr mkdir bar
added bar

C:\Temp\4\a>bzr mv foo bar
foo => bar/foo

C:\Temp\4\a>bzr ci -m2
Committing to: C:/Temp/4/a/
added bar
renamed foo => bar/foo
Committed revision 2.

C:\Temp\4\b>bzr mkdir baz
added baz

C:\Temp\4\b>bzr mv foo baz
foo => baz/foo

C:\Temp\4\b>bzr ci -m3
Committing to: C:/Temp/4/b/
added baz
renamed foo => baz/foo
Committed revision 2.

C:\Temp\4\b>bzr merge ../a
+N bar/
R baz/foo => bar/foo
Path conflict: baz/foo / bar/foo
1 conflicts encountered.

But there problem is obvious: baz/foo vs. bar/foo

In the case of different TREE_ROOT id the problem is *implicit* and this is really bad, because it's invisible to user and therefore it's hard to understand what's going on. IMO.