[ 
https://issues.apache.org/jira/browse/SVN-4862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17162914#comment-17162914
 ] 

Julian Foad commented on SVN-4862:
----------------------------------

The culprit is {{process_children_with_new_mergeinfo()}}. It combines inherited 
mergeinfo with explicit mergeinfo, for paths that have been given explicit 
mergeinfo during the merge. It must iterate over the paths in a parent-to-child 
order so that inherited mergeinfo is propagated consistently from each parent 
path to its children.

> Merge: the resulting mergeinfo is non-deterministic
> ---------------------------------------------------
>
>                 Key: SVN-4862
>                 URL: https://issues.apache.org/jira/browse/SVN-4862
>             Project: Subversion
>          Issue Type: Bug
>    Affects Versions: 1.14.0
>            Reporter: Julian Foad
>            Priority: Major
>
> In a particular merge scenario (e.g. merge_tests.py 143, see SVN-4859), the 
> merge result is non-deterministic: it produces slightly different results on 
> different runs, at random.
> The variations in output are (in that test):
> {code:none}
> --- Recording mergeinfo for merge of r3 through r7 into '.../A':
>  U   .../A
> --- Recording mergeinfo for merge of r3 through r7 into '.../A/D/G':
>  G   .../A/D/G
> --- Recording mergeinfo for merge of r3 through r7 into '.../A/D/G2':
>  G   .../A/D/G2
>  G   .../A/D
> svn pg -R svn:mergeinfo A/
> A      - /branch_A:3-7
> A/D    - /branch_A/D:5-7     /branch_B/C:1*
> A/D/G  - /branch_A/D/G:5-7   /branch_B/C/G:1*
> A/D/G2 - /branch_A/D/G2:5-7  /branch_B/C/G2:1*
> {code}
> vs.
> {code:none}
> --- Recording mergeinfo for merge of r3 through r7 into '.../A':
>  U   .../A
> --- Recording mergeinfo for merge of r3 through r7 into '.../A/D/G':
>  U   .../A/D/G
> --- Recording mergeinfo for merge of r3 through r7 into '.../A/D/G2':
>  U   .../A/D/G2
>  G   .../A/D
> svn pg -R svn:mergeinfo A/
> A      - /branch_A:3-7
> A/D    - /branch_A/D:5-7     /branch_B/C:1*
> A/D/G  - /branch_A/D/G:5-7   /branch_B/C/G:1*
> A/D/G2 - /branch_A/D/G2:6-7  /branch_B/C/G2:1*
> or
> A      - /branch_A:3-7
> A/D    - /branch_A/D:5-7     /branch_B/C:1*
> A/D/G  - /branch_A/D/G:6-7   /branch_B/C/G:1*
> A/D/G2 - /branch_A/D/G2:6-7  /branch_B/C/G2:1*
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to