We're having a major problem with subversion, it seems that for some changesets svn merge will do a different change than svn diff would suggest.
Here's an example of that the problem looks like: svn diff -c 648291 svn+ssh://myserver/somepath/stepws.xsd Index: stepws.xsd =================================================================== --- stepws.xsd (revision 648290) +++ stepws.xsd (revision 648291) @@ -366,6 +366,37 @@ </complexType> <element name="getLOVValueIDsResponse" type="tns:getLOVValueIDsResponseType"/> + <!-- getAssetSystemValues --> + + <complexType name="getAssetSystemValuesRequestType"> + <sequence> + <element name="accessContext" type="types:accessContext"> + <annotation> + <documentation>username and password for the user to access STEP as, and the URLs of the context and + workspace to access data through. + </documentation> + </annotation> + </element> + <element name="nodeURL" type="string"> + <annotation> + <documentation>URL of the asset to obtain system values from</documentation> + </annotation> + </element> + </sequence> + </complexType> + <element name="getAssetSystemValuesRequest" type="tns:getAssetSystemValuesRequestType"/> + + <complexType name="getAssetSystemValuesResponseType"> + <sequence> + <element name="values" type="types:value" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>The attribute values</documentation> + </annotation> + </element> + </sequence> + </complexType> + <element name="getAssetSystemValuesResponse" type="tns:getAssetSystemValuesResponseType"/> + Now I tried to check out an older branch to backport that change: > svn co svn+ssh://myserver/someotherpath > cd someotherpath > svn merge -c 648291 svn+ssh://myserver/somepath/stepws.xsd stepws.xsd Conflict discovered in 'stepws.xsd'. Select: (p) postpone, (df) diff-full, (e) edit, (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p --- Merging r648291 into 'stepws.xsd': C stepws.xsd Summary of conflicts: Text conflicts: > svn diff Index: stepws.xsd =================================================================== --- stepws.xsd (revision 610503) +++ stepws.xsd (working copy) @@ -366,6 +366,76 @@ </complexType> <element name="getLOVValueIDsResponse" type="tns:getLOVValueIDsResponseType"/> +<<<<<<< .working +======= + <!-- getAssetSystemValues --> + + <complexType name="getAssetSystemValuesRequestType"> + <sequence> + <element name="accessContext" type="types:accessContext"> + <annotation> + <documentation>username and password for the user to access STEP as, and the URLs of the context and + workspace to access data through. + </documentation> + </annotation> + </element> + <element name="nodeURL" type="string"> + <annotation> + <documentation>URL of the asset to obtain system values from</documentation> + </annotation> + </element> + </sequence> + </complexType> + <element name="getAssetSystemValuesRequest" type="tns:getAssetSystemValuesRequestType"/> + + <complexType name="getAssetSystemValuesResponseType"> + <sequence> + <element name="values" type="types:value" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>The attribute values</documentation> + </annotation> + </element> + </sequence> + </complexType> + <element name="getAssetSystemValuesResponse" type="tns:getAssetSystemValuesResponseType"/> + + <!-- addLOVValueIDs --> + + <complexType name="addLOVValueIDsRequestType"> + <sequence> + <element name="accessContext" type="types:accessContext"> + <annotation> + <documentation>username and password for the user to access STEP as, and the URLs of the context and + workspace to access data through. + </documentation> + </annotation> + </element> + <element name="nodeURL" type="string"> + <annotation> + <documentation>URL of the LOV to obtain values from</documentation> + </annotation> + </element> + <element name="add" type="types:lovvalueid" minOccurs="1" maxOccurs="unbounded"> + <annotation> + <documentation>The list of LOV values to add</documentation> + </annotation> + </element> + </sequence> + </complexType> + <element name="addLOVValueIDsRequest" type="tns:addLOVValueIDsRequestType"/> + + <complexType name="addLOVValueIDsResponseType"> + <sequence> + <element name="values" type="types:lovvalueid" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>The new list of LOV values</documentation> + </annotation> + </element> + </sequence> + </complexType> + <element name="addLOVValueIDsResponse" type="tns:addLOVValueIDsResponseType"/> + +>>>>>>> .merge-right.r648291 <!-- getValuesByAttributeIds --> <complexType name="getValuesByAttributeIdsRequestType"> As you can see the resulting change to the checked out file after merge is different from the change reported by diff. I've found this problem on 1.6.12 and reproduced it with a home-compiled 1.7.1, the server runs ubuntu server 10.10. Clients are mostly linux with mostly 1.6.12, but there are windows machines and 1.7.1 clients as well. I did not find any --dont-merge-random-crap option, so I'm very confused. -- Flemming Frandsen - YAPH - http://osaa.dk - http://dren.dk/