subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthews, David" <david.matth...@metoffice.gov.uk>
Subject svn info tree conflicts bug using svn 1.10.6?
Date Tue, 19 Jan 2021 17:44:56 GMT
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@1 $REPOS_URL/branch1
svn copy -q -m "" $REPOS_URL/trunk@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@1
  Source right: (file) ^/branch1/file@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

Mime
View raw message