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
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