问题
i am using cruise control to automate the svn commit process. but the execution of svn commit command restores the files which i deleted from my working copy.
the way i am doing is.
1. delete some files in my working copy.( no. of files in my WC is less than no. of files in repository)
2. execute svn command using cruise control.
<exec executable="svn.exe">
<buildArgs>ci -m "test msg" --no-auth-cache --non-interactive</buildArgs>
<buildTimeoutSeconds>1000</buildTimeoutSeconds>
</exec>
result: the deleted files are restored in my WC...
Can someone help me in figuring out where i have gone wrong... or if i have to do some changes / configurations...
thank u all.
regards. uday
回答1:
You need to tell SVN that these files should be deleted from the repository. SVN thinks that the files should still be there, so it is adding them back.
First delete:
svn delete myfile
When you call svn delete, this basically schedules the file (or directory) to be deleted. You still have to commit to svn for the changes to actually takeplace.
回答2:
As Kevin has indicated this is going to take a couple of steps and I'm assuming that you are looking for some information on how to craft your CCNet project file:
First delete the files using svn
<exec executable="svn.exe">
<buildArgs>delete 'filename'</buildArgs>
</exec>
[Not sure if you can pass a list of all the files to delete here or if you have to do them one at a time]
As Kevin has indicated this will only flag the file for deletion from the repository - but will not actually delete it.
Once all files have been flagged then perform a commit:
<exec executable="svn.exe">
<buildArgs>commit 'root project path'</buildArgs>
</exec>
[Add any message arguments etc you need]
That's basically it.
来源:https://stackoverflow.com/questions/2521553/svn-commit-using-cruise-control