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

RE: Can not do autoimic commit for deleted forlder and modification in some other folders/ files.

From: Sachin Deshpande <svd_at_4js.com>
Date: Thu, 24 Nov 2011 14:50:12 +0530

Hello Giulio,

 

                Thank you very much for your prompt reply.

 

                I have found a document on net that says changelists work
with files and not with Folders.

 

                Also tested it, svn cl skips folders. The output message is
Skipped 'foldername'

 

Thanks and regards,

Sachin.

 

From: Giulio Troccoli [mailto:giulio.troccoli_at_mediatelgroup.co.uk]
Sent: Thursday, November 24, 2011 2:38 PM
To: Sachin Deshpande
Cc: users_at_subversion.apache.org; 'Christophe Meyer'; 'Sandeep Gupta';
'Hans'; 'Thierry Vouriot'
Subject: Re: Can not do autoimic commit for deleted forlder and modification
in some other folders/ files.

 

On 24/11/11 07:47, Sachin Deshpande wrote:

Hello,

 

                I am using SVN command line client 1.6.2 on windows.

                I have following folder structure

 

                Trunk

                                Folder1

                                                File1

                                                File2

                                Folder2

                                                File3

                                                File4

                                Folder3

                                                File5

                                                File6

 

                I have perform following local operations

                

changed Folder1's property.

Modified File1

Deleted Folder2

 

I would like to do the commit of following

Property change in Folder1

Deleted Folder2

 

But don't want to commit the changes done in File1.

 

How can I do it with one svn commit command ( atomic commit ).

 

If we use

 

Svn commit --m "msg" "Trunk\Folder1" "Trunk\Folder2"

 

It will work properly but will also commit the changes in
"Trunk\Folder1\File1"

 

To avoid it if we use

 

Svn commit --m "msg" --depth=empty "Trunk\Folder1" "Trunk\Folder2\File3"
"Trunk\Folder2\File4" "Trunk\Folder2"

 

Commit fails as it does not get the File3, file4 on disk.

 

Svn commit --m "msg" --depth=empty "Trunk\Folder1" "Trunk\Folder2"

 

Commit fails as with error.

svn: Cannot non-recursively commit a directory deletion of a directory with
child nodes

 

Is this a bug or is there any way to perform atomic commit in the scenario
explained.

 

Thanks and regards,

Sachin.

 

I haven't tested this but my first idea would be to use changelists.

Add Folder1 and Folder2 to a changelist

svn cl test Trunk\Folder1
svn cl test Trunk\Folder2

and then remove File1 from it

svn cl test --remove Trunk\Folder1\File1

Check that the changelist contains exactly what you want

svn st

Finally, commit using the changelist

svn ci --changelist test -m "msg"

As I said, I haven't tested this. Good luck

Giulio
Received on 2011-11-24 10:21:03 CET

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