"C. Michael Pilato" <cmpil...@collab.net> writes:

> But we obviously have precedent for supporting committed copies
> of deeply switched things, so perhaps this isn't the best use of our time
> right now.

"Support" is generous, we only really support copied switches with no
modifications:

svnadmin create repo
svn import -mm repo/format file://`pwd`/repo/A/B/f
svn import -mm repo/format file://`pwd`/repo/A/B/C/g
svn co file://`pwd`/repo wc
svn sw ^/A/B/C wc/A/B
svn cp wc/A wc/X

Using 1.6 the copy of the switch does not show up in status.  Using 1.6
the switch does not count as a local modification and gets ignored by
the the commit harvester.  After the commit 1.6 shows wc/X/B as
switched.

If I make a text modification within the switched subdir before commit:

echo xx >> wc/X/B/g

then the commit fails because it attempts to modify /X/B/g in the
repoository and that file does not exist.  The fact that 1.6 attempts to
commit modifications to the wrong file is a definite bug, if the path
existed and the checksums matched the commit would go through.

1.7 treats the copy of the switch as a local modification that gets
committed as a replace; after the commit there is no switch.  The test
is new in 1.7 and it's not clear to me that the new behaviour is
correct.

-- 
Philip

Reply via email to