[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

svn info tree conflicts bug using svn 1.10.6?

From: Matthews, David <david.matthews_at_metoffice.gov.uk>
Date: Tue, 19 Jan 2021 17:44:56 +0000

I appear to be getting incorrect results reported by "svn info --xml" for a file which has tree conflicts.
I'm testing with svn 1.10.6 (and 1.9.12 which doesn't have this problem).
The results from "svn info" for the conflicted file appear correct.
However, "svn info --xml" reports the wrong information for "source-right"
(it appears to repeat the information given for "source-left"?).
Further details are given below.
Is this a known issue?
Is it fixed in the latest release?

This is the script I've used to reproduce the problem:

#!/bin/bash
set -eu
svn --version | head -1
TEST_DIR=$(mktemp -d)
svnadmin create $TEST_DIR/test-repos
REPOS_URL="file://$TEST_DIR/test-repos"
svn mkdir -q -m "" $REPOS_URL/trunk
svn copy -q -m "" $REPOS_URL/trunk_at_1 $REPOS_URL/branch1
svn copy -q -m "" $REPOS_URL/trunk_at_1 $REPOS_URL/branch2
svn checkout -q $REPOS_URL/branch1 $TEST_DIR/wc
cd $TEST_DIR/wc
echo "Test 1" > file
svn add -q file
svn commit -q -m ""
svn switch -q $REPOS_URL/branch2
echo "Test 2" > file
svn add -q file
svn commit -q -m ""
svn update -q
svn merge --non-interactive $REPOS_URL/branch1
echo === svn info file
svn info file
echo === svn info --xml file
svn info --xml file
cd $OLDPWD
rm -rf $TEST_DIR

"svn info file" reports the following:

<snip>...</snip>
Tree conflict: local file obstruction, incoming file add upon merge
  Source left: (none) ^/trunk/file_at_1
  Source right: (file) ^/branch1/file_at_5

Using svn 1.10.6, "svn info --xml file" reports the following:

<snip>...</snip>
<tree-conflict
   kind="file"
  reason="obstruction"
   victim="file"
   action="add"
   operation="merge">
<version
   kind="none"
   path-in-repos="trunk/file"
   repos-url="file:///var/tmp/tmp.WtRD9QhuuQ/test-repos"
   revision="1"
   side="source-left"/>
<version
   side="source-right"
   kind="none"
   path-in-repos="trunk/file"
   repos-url="file:///var/tmp/tmp.WtRD9QhuuQ/test-repos"
   revision="1"/>
</tree-conflict>
</entry>
</info>

You can see the information for "source-right" is not correct.
It works fine with svn 1.9.12:

<version
   side="source-right"
   kind="file"
   path-in-repos="branch1/file"
   repos-url="file:///var/tmp/tmp.0EYqbyreRp/test-repos"
   revision="5"/>

I've tested with other sorts of tree conflict - they all show the same problem.

Thanks,
David
Received on 2021-01-19 18:45:22 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.