现在的位置: 首页 > 综合 > 正文

svn

2013年08月04日 ⁄ 综合 ⁄ 共 2272字 ⁄ 字号 评论关闭

1. 安装subversion
apt-get install subversion
建立subversion的根目录
mkdir /wolf/svn
cd /wolf/svn
2 建立代码仓库
svnadmin create linux_2.6.35_project
对仓库目录设置访问权限
cd linux2.6.35_project/conf
vi svnserve.conf  使用passwd来管理db文件

password-db = passwd

vi passwd
添加用户名和密码
wolf = 123456

3. 启动svn服务
# svnserver -d -T -r /wolf/svn
-d表示以守护进程的方式运行
-T使用线程代替进程
-r 设置svn的根目录
把启动服务的命令添加到系统启动文件中,开机自动启动
vi /etc/rc.local 

4.向svn导入代码
 cd linux-2.6.35/
 svn import ./ svn://localhost/linux_2.6.35_project
 localhost是本地IP
 将当前目录下的文件导入到svn仓库中
 添加log信息
 输入刚才添加的用户名和密码
 开始导入代码
 
 5. 导出一个干净的目录树
 创建一个目录linux-2.6.35以得到它的版本
 # svn checkout svn://localhost/linux_2.6.35_project
 简写为svn co
 svn可以有多种不同方式访问的URL形式:
file:///                     用来访问本地的

http://                     用来访问SVN的Apache的WebDAV协议

https://                   同上,不过用ssl加密

svn://                     用来访问SVN自定义的协议的的

svn+ssh://              同上,不过用ssh封装
 6 向svn添加文件
 # echo "test svn" > test.txt
 # svn add test.txt 
 A         test.txt
 
7 将改动的文件提交到版本库
 vim README
 add some words
 # svn commit -m "change by shui READEME" README 
Sending        README
Transmitting file data .
Committed revision 2.
------------------------------------------
# svn ci -m "change by shui" test.txt 
Adding         test.txt
Transmitting file data .
Committed revision 3.
简写为svn ci

8 查看文件或者目录状态
# svn status
A       test.txt

9 svn 得到当个文件
# rm -rf test.txt
# svn export svn://localhost/linux_2.6.35_project/test.txt
A    test.txt
Export complete.

10 更新到指定的版本
# svn update -r 3 test.txt 
U    test.txt
-r 指定版本号和文件

 11 删除文件
 # svn delete svn://localhost/linux_2.6.35_project/test.txt -m "delete by shui"
 也可以先
 svn delete svn://localhost/linux_2.6.35_project/test.txt
 再
 svn ci -m "delete by shui"
 
 12 查看日志
 svn log README
 # svn log README
------------------------------------------------------------------------
r7 | wolf | 2012-03-17 16:54:44 +0800 (Sat, 17 Mar 2012) | 1 line

2
------------------------------------------------------------------------
r5 | wolf | 2012-03-17 16:31:52 +0800 (Sat, 17 Mar 2012) | 1 line

change by shui
------------------------------------------------------------------------
r2 | wolf | 2012-03-17 16:05:37 +0800 (Sat, 17 Mar 2012) | 1 line

change by shui READEME
------------------------------------------------------------------------
r1 | wolf | 2012-03-17 14:16:17 +0800 (Sat, 17 Mar 2012) | 2 lines

this is linux 2.6.35 source code
13 比较差异形成patch
 svn diff README 
Index: README
===================================================================
--- README      (revision 8)
+++ README      (working copy)
@@ -1 +1 @@
-a
+dd
 
svn diff README > README.patch
  
14 恢复本地修改
恢复原始未改变的工人副本文件
# svn revert README
 

抱歉!评论已关闭.