You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Sachin Deshpande <sv...@4js.com> on 2011/11/24 08:47:32 UTC

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

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.

 


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

Posted by Sachin Deshpande <sv...@4js.com>.
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@mediatelgroup.co.uk] 
Sent: Thursday, November 24, 2011 2:38 PM
To: Sachin Deshpande
Cc: users@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


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

Posted by Giulio Troccoli <gi...@mediatelgroup.co.uk>.
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

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

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Nov 24, 2011, at 01:47, Sachin Deshpande wrote:

>                 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 ).

Save the modifications for File1 in a diff, or save a copy of File1
Revert the changes to File1
Commit Folder1 and Folder2
Apply the diff you saved to File1 (or restore the modified File1 from the copy you made)

Another possibility might be to use svnmucc to to the property change and the directory deletion.