您的位置:首页 > 其它

创建自己的svn,来管理自己的版本开发

2012-09-19 00:21 302 查看
最近因为移植uboot发现有时候只是修改了一点的内容,逻辑上没问题,但照样不能跑起来,所以不得不回退到历史代码,不断使用原始的保存文件的副本的方法很不方便,终于决定创建自己的svn服务器。

创建svn数据库

======svnadmin====================================================

svnadmin create /server/svn/svndata/repos_uboot_new --fs-type bdb --bdb-log-keep

创建 svn数据库repos_uboot_new ,类型为bdb,保留日志

svnadmin setlog

svnadmin recover

启动svn服务器

=======svnserver=====================================================

svnserver -d -r /opt/server/svn/svndata

svn服务器配置

==============================================================

/opt/server/svn/svndata/repos_uboot/conf/svnserver.conf

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

/opt/server/svn/svndata/repos_uboot/conf/authz

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

admin_group = king

trunk_group = trunk,king

tag_group = tag,king

dev_group = dev,king

[repos_uboot:/]

@admin_group = rw

[repos_uboot:/trunk]

* = r

@trunk_group = rw

[repos_uboot:/tags]

* = r

@tag_group = rw

[repos_uboot:/branches]

* = r

@dev_group = rw

/opt/server/svn/svndata/repos_uboot/conf/passwd

[users]

# harry = harryssecret

# sally = sallyssecret

king = king

trunk = trunk

tag = tag

dev = dev

导入/导出基础数据

======svn import&export============================================================

svn import /work/embed/u-boot-2010.12_orginal/ svn://127.0.0.1/repos_uboot --message "start uboot project, this is original uboot file"

把文件 夹u-boot-2010.12_orginal导入到repos_uboot的根目录下

svn export svn://127.0.0.1/repos_uboot dir

======svn checkout===============

svn checkout svn://localhost/repos_uboot dir

打标签/建分支

======tags & branches========================================================

tag_original tag_first_run dev can not be exist

svn copy svn://127.0.0.1/repos_uboot_new/trunk svn://127.0.0.1/repos_uboot_new/tags/tag_original -r 4

把trunk下的r4版本打 标签,并保存到tag_original(该名字不能已经存在)

svn copy svn://127.0.0.1/repos_uboot_new/trunk svn://127.0.0.1/repos_uboot_new/tags/tag_first_run

svn copy svn://127.0.0.1/repos_uboot_new/trunk svn://127.0.0.1/repos_uboot_new/branches/dev -r 4

======svn copy for WCPATH ========================================================

merger版本

======svn merge===============================================

merge dev2@7 to trunk@4 , save it to /uboot_new_linux_dir2/trunk

svn merge svn://192.168.239.128/repos_uboot_new/trunk@4 svn://192.168.239.128/repos_uboot_new/branches/dev2@7 /uboot_new_linux_dir2/trunk --ignore-ancestry --dry-run

svn commit -m "merge version"

merge分 2步走

merge dev2分支 下的r7版本到trunk,并保存 到/uboot_new_linux_dir2/trunk

然后commit就可以啦

比较不同

======svn diff=====================================================================================

svn diff svn://192.168.239.128/repos_uboot_new/branches/dev@9 svn://192.168.239.128/repos_uboot_new/trunk@4 --summarize

======svn list=====================================================

svn list svn://127.0.0.1/repos_uboot_new/branches

添加文件/目录

======svn add =============================

mkdir trunk

svn add trunk

svn commit -m "add trunk dir"

svn log很常用啦

======================


svn备份常用命令

======================================================================================


1、完全备份和增量备份svn。

svnadmin dump /svn/project/www > full.svn.bak #完全备份/svn/project/www这个版本库,并另存为full.svn.bak

svnadmin dump /svn/project/www -r 8 --incremental > svn.bak.1 #以增量把版本库8转存到svn.bak.1



参数介绍:

-r [--revision] :指定版本ARG(或X:Y范围)

--incremental :以增量方式进行转存

--deltas :在转存输出中使用差异

-q [--quiet] :在标准错误输出不显示进度(仅错误)



2、dump备份还原。

svnadmin create /svn/project/test #创建一个新的版本库

svnadmin load /svn/project/test < full.svn.bak #现还原完全备份

svnadmin load /svn/project/test < svn.bak.1 #再还原增量备份的内容



3、svnadmin hotcopy /svn/project/www /root/backup.svn.www/ #热拷贝www这个版本库,可以直接拿来用

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: