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

RE: Possible bug moving file and then deleting directory

From: Bert Huijben <bert_at_qqmail.nl>
Date: Thu, 23 Jun 2011 16:31:48 +0200



I can't reproduce the tree conflict in either of those cases using the
combination of a trunk client and repository. (I can reproduce it with 1.6)

Can you please verify if you really used the right binaries for your test?


I can reproduce it up to the out of date error:

svn.exe ci -m "" svn-test-work\working_copies\tree_conflict_tests-24

Deleting svn-test-work\working_copies\tree_conflict_tests-24\A\B

svn: E155011: Commit failed (details follow):

svn: E155011: Directory
e_conflict_tests-24\A\B' is out of date

svn: E160028: Directory '/A/B' is out of date


But an update after that doesn't raise a tree conflict for me.


The test script I wrote is:

def update_dir_with_not_present(sbox):

  "lock status update shouldn't flag tree conflict"


  wc_dir = sbox.wc_dir

  newtxt = sbox.ospath('A/B/new.txt')

  main.file_write(newtxt, 'new.txt')



  sbox.simple_move('A/B/new.txt', 'A/C/newer.txt')



  # We can't commit this without updating (ra_svn produces its own error)

  run_and_verify_svn(None, None, "svn: E(155011|160028): Dir.*B.*out of

                     'ci', '-m', '', wc_dir)

  # So we run update

  run_and_verify_svn(None, None, [],

                     'up', wc_dir)

  # And now we can commit

  run_and_verify_svn(None, None, [],

                     'ci', '-m', '', wc_dir)

(It is actually part of
ee_conflict_tests.py now)




From: Patrick Quirk [mailto:P.Quirk_at_smt.com]
Sent: donderdag 23 juni 2011 15:08
To: Johan Corveleyn; Mark Phippard
Cc: users_at_subversion.apache.org
Subject: RE: Possible bug moving file and then deleting directory


Using the Collabnet binaries rolled from r1136035 I see the same behavior
using the script from my original email.


It does sound pretty similar to 3526, though my repro script is a bit
different. However I created a script to reproduce issue 3526 and that also
fails for me. To summarize, both of these sets of steps have the same


Issue 3526:

1.) Add a file in a directory, commit

2.) Delete that directory, commit fails saying the directory is not up to

3.) Update -> tree conflict


My initial email:

1.) Add a file in a directory, commit

2.) Move that file to another directory, commit

3.) Delete the first directory, commit fails saying the directory is not up
to date

4.) Update -> tree conflict


Regarding Mark's pointer to the FAQ, I realize the tree conflicts are
expected behavior in a sense, but I feel like the steps before that should
work regardless. Especially since I'm committing at a level above the
directory in question that does have operations done on it to advance the
current revision number. I doubt anyone would know that an update is
required in the middle of these steps.


I've attached the script I used to reproduce 3526, maybe someone could
review it and make sure I'm matching what the issue is describing, and
confirm that it does/doesn't work for them either? It's a windows batch
file (zipped and renamed).



From: Johan Corveleyn [mailto:jcorvel_at_gmail.com]
Sent: Wednesday, June 22, 2011 7:03 PM
To: Mark Phippard
Cc: Patrick Quirk; users_at_subversion.apache.org
Subject: Re: Possible bug moving file and then deleting directory


It seems this behavior has changed in 1.7 (to be released soon). It will no
longer flag this as a tree conflict. See

AFAICS, the case described here is similar to the one described in issue

Patrick, if you have some time, maybe you can test this with one of the
pre-releases of 1.7? See


On Wed, Jun 22, 2011 at 10:44 PM, Mark Phippard <markphip_at_gmail.com> wrote:
See http://subversion.apache.org/faq.html#self-tree-conflict
On Wed, Jun 22, 2011 at 4:04 PM, Patrick Quirk <P.Quirk_at_smt.com> wrote:
I've run into this issue the past few days and I don't feel like this is
expected behavior.  I'm using client version 1.6.17 (Collabnet binaries).
Simply put, I move a single file, commit that, then try to delete the
directory the file was in (it's empty now) and commit that.  This fails,
saying the directory I'm attempting to commit/delete is out of date.  If I
update it, I get a tree conflict.  
Am I wrong in expecting this to work without an update in the middle?  I've
provided a batch file to reproduce the behavior on a Windows machine (unzip
and then change the file's extension to .bat).
Patrick Quirk
GEM Software Engineer
3511 University Drive
Durham NC 27707
p.quirk_at_smt.com <mailto:p.quirk_at_sportsmedia.com> 
www.sportsmedia.com <http://www.sportsmedia.com/>  
Mark Phippard

Received on 2011-06-23 16:32:21 CEST

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.