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