global arguments
--username 用户名
--password 密码
--quiet(-q) 安静模式
e.g.
svn -q --username mjn --password mjn co http://192.168.1.2/svn/src/hello
checkout(co, 签出)
svn co http://192.168.1.2/svn/src/hello
将在当前目录新建文件夹hello, 并将服务器上hello下的所有文件保存在本地的hello目录下.
commit(ci, 提交)
svn ci main.c -m "I am comment."
--message(-m) 提交时的备注. 如果备注较多, 或者有多行, 可以将内容写在文件里面, 然后使用-F命令
--file(-F) 提交时的备注, 参数为文件名.
propset(文件属性设置)
svn:executable
增加文件的可执行权限(仅针对unix/linux). 一般用于shell脚本文件
svn propset svn:executable ON runMe.sh
svn commit runMe.sh -m "add svn:executable to runMe.sh"
以上命令, 对runMe.sh文件增加了可执行属性, 并提交到svn服务器端.
下次在unix/linux平台签代码后, runMe.sh文件将是可执行的. 如果是在签出代码后修改的文件属性, 需要把该文件删除, 再update, 才会把文件的属性应用到这个文件.
svn:eol-style
更改文件的换行. 共有三个值:
native: 签代码时, 把svn服务器上的文件换行转换成本地系统的换行. 如果svn客户端所在的系统是unix/linux, 则将转换为LF换行, 如果svn客户端所在的系统是windows, 则将转换为CRLF换行.
CRLF: 始终转换为CRLF换行.
LF: 始终转换为LF换行.
CR: 始终转换为CR换行. CR换行非常少见.
对于跨操作系统地编辑源代码, 一般选择native模式. 该功能非常实用.
svn propset svn:eol-style native runMe.sh
svn commit runMe.sh -m "add svn:eol-style native to runMe.sh"
以上命令, 对runMe.sh增加该属性. 对于一般会同时增加svn:executable和svn:eol-style属性
对于换行字符的解释, 请见Ref[2]中的Chapter 3. Advanced Topics - File Portability - End-of-Line Character Sequences
冲突解决
更新代码的时候,经常会遇到文件冲突:
/mjn/code>svn update
Updating '.':
Skipped 'subdir/test.h' -- Node remains in conflict
解决方法:
/mjn/code> svn resolve --accept=working subdir/test.h
回退修改
svn revert code/test.h
-R 表示遍历子目录:svn revert -R code/
Reference
[2] Version Control with Subversion For Subversion 1.7 (命令详细解释, 请见文档中的Chapter 9. Subversion Complete Reference)