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

Re: Recipe for non recursive commit bug

From: Jack Repenning <jrepenning_at_collab.net>
Date: 2003-08-26 04:14:41 CEST

At 9:43 PM -0400 8/25/03, Francois Beausoleil wrote:
>Hello everyone,
>
>Would someone try the following recipe and tell me if it works for them ?

I get the same results as you.

However, note this one change in your script and my results for it:

At 9:43 PM -0400 8/25/03, Francois Beausoleil wrote:
>Reproduction recipe
>-------------------
>svnadmin create repos
>svn co file:///repos wc
>cd wc
>mkdir dirA\dirB
>echo >dirA/dirB/fileA "fileA's content"
>svn add dirA
>svn commit -m "Adding files"
>echo >dirA/dirB/fileA "fileA's modified content"
>echo >dirA/fileB "fileB's content"
>svn add dirA/fileB
>svn st
>svn commit --non-recursive -m "Does not work" dirA

At this point, if I "svn commit --non-recursive -mwhatever
dirA/fileB", then I get the one commit we're expecting, and the
resulting state is what we want:

> > svn commit --non-recursive -m 'does not work' dirA/fileA
>Adding dirA/fileB
>Transmitting file data .
>Committed revision 2.
>
> > svn st
>M dirA/dirB/fileA

In other words, committing the added file works, but committing the
modified directory does not.

It seems to me that "svn add dirA/fileB" constitutes a change both to
dirA and to dirA/fileB. From what you say, I think you feel the
same. But in general the SVN UI seems to disagree with us, treating
the add solely as an operation on the added object. I don't know
whether this is an actual bug or simply an incomplete projection of
the actual model (just 'cause I don't like it doesn't mean it's
wrong. I guess. ;-) But now that you draw my attention to the
matter, I think SVN is thoroughly consistent about this, for whatever
that's worth. For example, if you add a file and then "svn status,"
you don't see a line of status for the directory, only the line for
the file itself.

In contrast, note this:

> > svn propset whatever 13 dirA
>property `whatever' set on 'dirA'
>
> > svn ci --non-recursive -mx dirA
>Sending dirA
>
>Committed revision 3.

That is, a propset on the directory is versioned as if it were the
directory itself that was changed, and this --non-recursive works
(still haven't committed my change to dirA/dirB/fileA).

-- 
-==-
Jack Repenning
CollabNet, Inc.
8000 Marina Boulevard, Suite 600
Brisbane, California 94005
o: 650.228.2562
c: 408.835-8090
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 26 04:15:37 2003

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.