[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

                Patrick,

 

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
'R:\Svn-2010\tests\subversion\tests\cmdline\svn-test-work\working_copies\tre
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"

  sbox.build()

  wc_dir = sbox.wc_dir

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

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

  sbox.simple_add('A/B/new.txt')

  sbox.simple_commit()

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

  sbox.simple_commit()

  sbox.simple_rm('A/B')

  # 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
date",

                     '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
http://svn.apache.org/repos/asf/subversion/trunk/subversion/tests/cmdline/tr
ee_conflict_tests.py now)

 

                Bert

 

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
outcome:

 

Issue 3526:

1.) Add a file in a directory, commit

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

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
http://subversion.tigris.org/issues/show_bug.cgi?id=3526.

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

Patrick, if you have some time, maybe you can test this with one of the
pre-releases of 1.7? See
http://subversion.apache.org/packages.html#pre-release.

Cheers,

-- 
Johan
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).
 
Thanks
Patrick
 
 
 
Patrick Quirk
GEM Software Engineer
3511 University Drive
Durham NC 27707
919-354-4762
p.quirk_at_smt.com <mailto:p.quirk_at_sportsmedia.com> 
www.sportsmedia.com <http://www.sportsmedia.com/>  
 
-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
 

image001.gif
Received on 2011-06-23 16:32:21 CEST

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