http://subversion.tigris.org/issues/show_bug.cgi?id=2781
Issue #|2781
Summary|Prop add to child of merge target
corrupts WC
Component|subversion
Version|trunk
Platform|All
URL|
OS/Version|All
Status|NEW
Status whiteboard|
Keywords|
Resolution|
Issue type|DEFECT
Priority|P3
Subcomponent|unknown
Assigned to|pburba
Reported by|pburba
------- Additional comments from pburba tigris.org Thu May 17 09:31:24 -0700 2007 -------
svn merge URL PATH -cX corrupts the entries file for a CHILD
of PATH when:
A) CHILD has existing svn:mergeinfo
B) X is a property add on CHILD
REPRODUCTION:
# Starting with the standard greek test tree,
# make a branch:
>svn info merge_tests-1
Path: merge_tests-1
URL:
file:///C:/SVN/src-trunk/Release/subversion/tests/cmdline/sv
n-test-work/repositories/merge_tests-1
Repository Root:
file:///C:/SVN/src-trunk/Release/subversion/tests/cmdline/sv
n-test-work/repositories/merge_tests-1
Repository UUID: 15ff2824-18d5-0d4a-b828-d70f0670877d
Revision: 1
Node Kind: directory
Schedule: normal
Last Changed Author: jrandom
Last Changed Rev: 1
Last Changed Date: 2007-05-17 11:46:31 -0400 (Thu, 17 May
2007)
>set
URL=file:///C:/SVN/src-trunk/Release/subversion/tests/cmdlin
e/svn-test-w
ork/repositories/merge_tests-1
>svn copy %URL%/A merge_tests-1A_COPY
A merge_tests-1A_COPYB
A merge_tests-1A_COPYBlambda
A merge_tests-1A_COPYBE
A merge_tests-1A_COPYBEalpha
A merge_tests-1A_COPYBEbeta
A merge_tests-1A_COPYBF
A merge_tests-1A_COPYmu
A merge_tests-1A_COPYC
A merge_tests-1A_COPYD
A merge_tests-1A_COPYDgamma
A merge_tests-1A_COPYDG
A merge_tests-1A_COPYDGpi
A merge_tests-1A_COPYDGrho
A merge_tests-1A_COPYDGtau
A merge_tests-1A_COPYDH
A merge_tests-1A_COPYDHchi
A merge_tests-1A_COPYDHomega
A merge_tests-1A_COPYDHpsi
Checked out revision 1.
A merge_tests-1A_COPY
>svn ci -m "" merge_tests-1
Adding merge_tests-1A_COPY
Committed revision 2.
# Make a simple file mod to 'beta' in the
# branch source and commit it as r3:
>echo new content >> merge_tests-1ABEbeta
>svn ci -m "" merge_tests-1
Sending merge_tests-1ABEbeta
Transmitting file data .
Committed revision 3.
# Add a (non svn:mergeinfo) prop to 'beta' in
# the branch source and commit it as r4:
>svn ps prop:name propval merge_tests-1ABEbeta
property 'prop:name' set on 'merge_tests-1ABEbeta'
>svn ci -m "" merge_tests-1
Sending merge_tests-1ABEbeta
Committed revision 4.
# Merge r3 into the branch directly to 'beta' and
# commit as r5.
>svn merge %URL%/A/B/E/beta merge_tests-1A_COPYBEbeta
-c3
U merge_tests-1A_COPYBEbeta
>svn ci -m "" merge_tests-1
Sending merge_tests-1A_COPYBEbeta
Transmitting file data .
Committed revision 5.
# 'beta' in branch now has svn:mergeinfo.
>svn pl -vR merge_tests-1
Properties on 'merge_tests-1ABEbeta':
prop:name : propval
Properties on 'merge_tests-1A_COPY':
svn:mergeinfo : /A:1
Properties on 'merge_tests-1A_COPYBEbeta':
svn:mergeinfo : /A/B/E/beta:1,3
# Merge r2:4 onto a 'beta' parent 'B':
>svn merge %URL%/A/B merge_tests-1A_COPYB -r2:4
U merge_tests-1A_COPYBEbeta
# Branch 'beta' gets prop from r4, and existing mergeinfo
# elides up to 'B'...
>svn pl -vR merge_tests-1
Properties on 'merge_tests-1ABEbeta':
prop:name : propval
Properties on 'merge_tests-1A_COPY':
svn:mergeinfo : /A:1
Properties on 'merge_tests-1A_COPYB':
svn:mergeinfo : /A/B:1,3-4
Properties on 'merge_tests-1A_COPYBbeta':
prop:name : propval
# ... *BUT* 'beta' is now incomplete!
>svn st merge_tests-1
M merge_tests-1A_COPYB
M merge_tests-1A_COPYBEbeta
!M merge_tests-1A_COPYBbeta
Note: This does not occur if we merge -r2:4 directly to
beta, only if the merge
is to one of it's parents (including those with existing
mergeinfo like 'A_COPY').
------------------------------------------------------------
---------
To unsubscribe, e-mail: issues-unsubscribe subversion.tigris.org
For additional commands, e-mail: issues-help subversion.tigris.org
|