1、查看svn最新版本
svnlook youngest /path/to/svn/repo
2、查看svn库中文件
svn ls svn://IP/reponame/
svn list http://svn.test.com/svn #查看目录中的文件。
svn list -v http://svn.test.com/svn #查看详细的目录的信息(修订人,版本号,文件大小等)
3、提交版本
svn ci URL
4、check版本
svn co URL
5、svn全量备份
#!/bin/bash
time=`date +%Y%m%d%H%M`
file="Control_${time}.svn.bak"
svnadmin dump /var/svn/Control > /home/backup/svn_bak/$file
rsync -avzP /home/backup/svn_bak/$file root@191.168.0.1:/home/data/svn/Control_backup/
5、svn备份与恢复
svndump
(1)、全量备份一个仓库:
#svnadmin dump /svn/svn/APP > /svn/svndump/APP_dump160802
在另一台机器上配置同样的SVN服务器导入dump出来的备份文件
#svnadmin load /svn/svn/APP < APP_dump160802
将原先服务器的配置文件备份后复制到新服务器中 authz、passwd、svnserver.conf
(2)、增量备份
#svnadmin dump /svn/svn/APP -r 5200:5600 --incremental > /svn/svndump/APP_5600
5200是上次全量备份时的最新版本,5600是当前最新版本。
导入:svnadmin load /svn/svn/APP < APP_5600
svnadmin hotcopy方法:
(1)备份
svnadmin hotcopy /svn/svn/APP/ /data/svn.`date +%F:%T`.bak –clean-logs
如果传递–clean-logs选项,svnadmin会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。
你可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其它进程是否使用这个版本库。
(2)还原
svnadmin hotcopy /home/svn.`date +%F:%T`.bak /home/svn.`date +%F:%T`.bak
svn部分提交命令: changelist(也可以简写为cl).
好处:
1. 方便对改动代码的管理
2. 方便代码提交,不是一个文件一个文件而是按分组来提交代码
3. 可以很好的和ReviewBoard结合起来进行代码评审
eg.
User.java Login.java 两个文件是和login相关的代码,就可以用changelist来进行分组,将这两个文件加到logincode这个组
svn cl logincode User.java Login.java
创建一个changelist"logincode"之后,我们就可以针对这个changelist而不是单个文件进行操作了,
(1)查看代码改动
svn di --cl logincode
(2)进行代码提交
svn ci -m "Fix user login issue" --cl logincode