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:[email protected]]
Sent: donderdag 23 juni 2011 15:08
To: Johan Corveleyn; Mark Phippard
Cc: [email protected]
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:[email protected]]
Sent: Wednesday, June 22, 2011 7:03 PM
To: Mark Phippard
Cc: Patrick Quirk; [email protected]
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 <[email protected]> wrote:
See http://subversion.apache.org/faq.html#self-tree-conflict
On Wed, Jun 22, 2011 at 4:04 PM, Patrick Quirk <[email protected]> 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
[email protected] <mailto:[email protected]>
www.sportsmedia.com <http://www.sportsmedia.com/>
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
<<image001.gif>>
