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

最近因为移植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这个版本库,可以直接拿来用





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值