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