You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Fitzpatrick, Ben" <be...@metoffice.gov.uk> on 2013/08/29 16:00:55 UTC

Tree conflict breaks svn info on root of working copy

Hi everyone,

Using Subversion 1.8.1 on Linux (RHEL6), a merge that creates a "local file obstruction, incoming file add upon merge" file tree conflict will break svn info on the root of the working copy. That tree conflict can be caused by adding a file with a particular name on one branch, committing, then independently adding a file with an identical name on another branch, committing, and then merging one branch into another.

Following the merge, if the working copy is at "/home/foo/working_copy", the error message will be:

foo@machine$ svn info /home/foo/working_copy/

...

svn: E155007: '/home/foo' is not a working copy


This exits with a return code of 1.

The error message refers to the parent directory above the root of the working copy. The working copy appears superficially fine, and "svn status" and even svn info on specific files and subdirectories works OK.

svn resolve --accept working on the tree conflict file makes the error go away.

This script reproduces the error for me:

#!/bin/bash
set -eu
TEST_DIR=$(mktemp -d)
mkdir $TEST_DIR/repo_files
svnadmin create $TEST_DIR/test_repos
TEST_REPOS_URL="file://$TEST_DIR/test_repos"
svn import -q $TEST_DIR/repo_files \
    $TEST_REPOS_URL/trunk -m " "
svn mkdir -q $TEST_REPOS_URL/branches -m " "
svn copy -q -r1 $TEST_REPOS_URL/trunk \
                $TEST_REPOS_URL/branches/foo -m " "
svn copy -q -r1 $TEST_REPOS_URL/trunk \
                $TEST_REPOS_URL/branches/bar -m " "
mkdir $TEST_DIR/wc_parent
svn checkout -q $TEST_REPOS_URL/branches/foo $TEST_DIR/wc_parent/working_copy
cd $TEST_DIR/wc_parent/working_copy
touch new_file
svn add -q new_file
svn commit -q -m " "
svn switch -q $TEST_REPOS_URL/branches/bar
touch new_file
svn add -q new_file
svn commit -q -m " "
svn update -q
svn merge -q --non-interactive $TEST_REPOS_URL/branches/foo
svn info

It should print the normal svn info output, then exit with an error like:

svn: E155007: '/var/tmp/tmp.wl6qMmFQMw/wc_parent' is not a working copy

Cheers,

Ben

RE: Tree conflict breaks svn info on root of working copy

Posted by "Fitzpatrick, Ben" <be...@metoffice.gov.uk>.
 
Thanks Philip - I've checked and I think that was it. I've re-run it with the recent head of the trunk and it's now fine.

Ben

Re: Tree conflict breaks svn info on root of working copy

Posted by Philip Martin <ph...@wandisco.com>.
"Fitzpatrick, Ben" <be...@metoffice.gov.uk> writes:

> Using Subversion 1.8.1 on Linux (RHEL6), a merge that creates a "local
> file obstruction, incoming file add upon merge" file tree conflict
> will break svn info on the root of the working copy.

I believe this will be fixed by 1.8.3, from CHANGES:

    * info: fix spurious error on wc root with child in conflict (r1515366)

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*