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

Problem with reverting

From: Markus Schaber <m.schaber_at_3s-software.com>
Date: Wed, 1 Feb 2012 15:27:13 +0000

Hi,

I have a directory foo with tree conflict: local add of foo and a file foo/bar, and then an update trying to add the same foo and foo/bar. Now, I try to revert using SharpSVN, which internally calls svn_client_revert_2(). I give the path of the directory and the file, and a depth of "files". Then I get the Exception Can't revert 'C:\Users\{...}\foo' without reverting children", SVN_ERR_WC_INVALID_OPERATION_DEPTH.

I can reproduce that on the command line, getting the additional hint that I should use --depth="infinity" instead. That seems to indicate that reverts of added directories always need --depth="infinity", despite the fact that all existing children are also mentioned in the argument list.

C:\{...}\svnwc>svn status
R C Device\Plc Logic\Application\Library Manager
> local add, incoming add upon update
A Device\Plc Logic\Application\Library Manager\svnobj
Summary of conflicts:
  Tree conflicts: 1

C:\{...}\svnwc>svn revert --depth=files "Device\Plc Logic\Application\Library Manager" "Device\Plc Logic\Application\Library Manager\svnobj"
svn: E155038: Try 'svn revert --depth infinity' instead?
svn: E155038: Can't revert 'C:\{...}\svnwc\Device\Plc Logic\Application\Library Manager' without r everting children

The strange thing is that if I change the order of arguments, it works without errors, but misses to restore the "svnobj" file from the repository, marking it as "deleted" - despite the fact that both --depth=files and the file's path are given on the command line.

C:\{...}\svnwc>svn revert --depth=files "Device\Plc Logic\Application\Library Manager\svnobj" "Dev ice\Plc Logic\Application\Library Manager"
Reverted 'Device\Plc Logic\Application\Library Manager\svnobj'
Reverted 'Device\Plc Logic\Application\Library Manager'I'm using the latest SharpSVN build 1.7002.2011, and command line 1.7.2 (r1207936)

C:\{...}\svnwc>svn status
D Device\Plc Logic\Application\Library Manager\svnobj

I guess that this was the reason why I initially sorted the arguments to revert by "parents first"...

I always thought of operations like "revert" or "commit" to work on a set of input files, where the order of arguments is not important, but this seems to be wrong :-(

Best regards

Markus Schaber

-- 
___________________________
We software Automation.
3S-Smart Software Solutions GmbH
Markus Schaber | Developer
Memminger Str. 151 | 87439 Kempten | Germany | Tel. +49-831-54031-0 | Fax +49-831-54031-50
Email: m.schaber@3s-software.com | Web: http://www.3s-software.com 
CoDeSys internet forum: http://forum.3s-software.com
Download CoDeSys sample projects: http://www.3s-software.com/index.shtml?sample_projects
Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915 
Received on 2012-02-01 16:27:49 CET

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