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

Re: svn ci drops files

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-10-31 14:31:53 CET

Vladimir Prus <ghost@cs.msu.su> writes:

> svnadmin create svn
> svn co file://localhost/tmp/svn wc
> cd wc
> touch 1
> svn add 1
> svn ci -m ""
>
>
> mkdir libs
> cd libs
> svn co file://localhost/tmp/svn wc

You have checked out the same repository URL into two different
working copies.

> cd wc
> touch 2
> svn add 2
> cd ..
> cd ..
> echo "foo" > 1
> svn st . libs/wc

You have effectively run two separate status commands on the two
separate working copies.

>
> # Output is:
> #M 1
> #? libs
> #A libs/wc/2
>
> svn ci . libs/wc -m ""

Here you are running a single commit with paths from different working
copies. That's not supported, it may never be supported. What do you
expect to happen?

The hard part is that unlike 'svn status', which simply iterates over
its targets, the commit command combines it's targets and then runs a
single operation on the result. So at present the commit targets must
come from the same working copy. Attempting to combine the changes
from multiple working copies into a single commit is unlikely to work,
the working copies may be at different revisions, they may have
different URLs, or they may have conflicting local modifications.

The best I think you can expect is for there to be two separate
commits, one for each working copy, but that would require code to
identify to which working copy each target belongs.

> # Output is:
> #Sending 1
> #Transmitting file data .
> #Committed revision 2
>
> The problem is that I run "svn st" and "svn ci" with the same
> set of arguments, but the second case drops "libs/wc" completely,
> and does not commits "libs/wc/2".
>
> This is surely bug. I belive it's caused by call to
> svn_path_condense_targets in libsvn_client/commit.c:727, however, I don't
> know what is the right solution. Any hints?

I'm not sure exactly sure of the svn_path_condense_targets details,
but if it can identify to which working copy each target belongs, then
it could generate an error if the user attempts to commit from
multiple working copies.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Oct 31 14:32:41 2002

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.