使用情况
当项目中的资源需要提交SVN时,非技术人员有时会疑惑究竟哪些文件是需要他们提交的。而就算是技术人员,有时也不确定需要提交什么,因为资源可能是通过一些程序自动生成时,这对于不熟悉这方面的人都会感到疑惑。
一种解决方法是写文档,说明执行什么操作后,需要提交什么资源。
而另一种更友好的方法是,通过svn命令行自动提交。例如,如果项目中有一个工具,它提供了一个界面编辑了[文件夹A]中的资源,那么可以在这个工具的界面内再加一个“提交”按钮,点击后自动将[文件夹A]中的资源提交SVN,这样便可以省去让使用者寻找[文件夹A]的位置,更好的是,若之后资源的存放逻辑发生了变化,则工具中只需要修改提交逻辑的代码就好了,省去了告知使用者的功夫。
准备
首先确保 svn 命令是可以使用的:
在cmd中敲击svn后,应该会提示让你输入help来查看如何使用:
我是之前安装VisualSVN时,环境变量中添加了C:\Program Files\VisualSVN Server\bin,而在这个路径中有 svn.exe。
而TortoiseSVN安装时也可以选择安装命令行工具:
试用
我找到了TortoiseSVN 官方给出的SVN命令行文档。另外我还发现这篇博客对SVN命令的讲解不错。
在之前的博客《尝试自己搭建一个SVN服务器》中,我搭建了一个测试用的SVN服务器。下面我将用它来做一些实验。
我尝试使用了部分命令:
check out
我SVN的url是:https://DESKTOP-O4QC2J1/svn/YakSueTestRepo/
而我想把它 check out到本地的路径是D:/Test/YakSueTestRepo/
用户名是yaksue
所以命令是:svn checkout https://DESKTOP-O4QC2J1/svn/YakSueTestRepo/ D:/Test/YakSueTestRepo/ --username yaksue
update
svn update D:/Test/YakSueTestRepo/
commit
我提交时的消息是testjojo
提交的文件是D:/Test/YakSueTestRepo/testfile.txt
所以命令是:svn commit -m "testjojo" D:/Test/YakSueTestRepo/testfile.txt
add
我添加的文件是D:/Test/YakSueTestRepo/test2.txt
因此命令是:svn add D:/Test/YakSueTestRepo/test2.txt
之后可以提交它。