Chinaunix首页 | 论坛 | 博客
  • 博客访问: 277399
  • 博文数量: 11
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-05 20:59
文章分类
文章存档

2010年(1)

2008年(10)

我的朋友

分类: 嵌入式

2010-07-13 11:24:56

Jacky Xu @ 2010.7.13
 
    刚开始在SVN上建立项目时,把工程代码导入到了版本库的根目录,没有放在trunk里,当时没有多想这个问题。现在项目分支越来越多了,发现没有tag或者branch,真是非常麻烦,所以得想办法把已经使用了近两个月的版本库移动到trunk里。
    首先尝试使用svn客户端的move或者copy命令,发现它不能完全把已有的log拷贝过来,并且增加了额外的版本记录,达不到一个正常使用的版本库的效果。然后,尝试在svn服务器,使用svnadmin的相关命令完成了整个版本库的移动,具体操作如下:
 
1.将需要移动的版本库完整地导出为一个单独文件
命令:svnadmin dump local_old_repositories_path > dumpfile_path
    导出来的文件是二进制格式,一般的非二进制处理方式的文档编辑器打开、保存后,会破坏格式,导致后续导入时某些提交校验出错。如果仅是完整移动版本库,则不需要编辑dump文件,直接在后面load导入即可。但是想修改其中的字段,建议使用WinHex以16进制方式编辑。根据我现在的需求,需要把dump文件里的路径信息都改成trunk/下,直接用替换的方式修改"Node-path: "部分。
 
2.重新创建一个新的版本库
命令:svnadmin create new_repositories_path
    创建时,如果dump文件里已经有创建branch、tag、trunk文件夹动作,那这次就不需要重复创建,否则导入时会冲突。
 
3.将之前的dump文件导入到新的版本库
命令:svnadmin load new_repositories_path < dumpfile_path
    如果dump文件没有问题,那导入会非常顺利。在我们之前的版本库中,有几次删除添加的提交动作,不是以相对路径提交的,load时报路径出错。再次修改dump文件,把涉及到绝对路径的地方,修改成trunk目录下,即可解决该错误。
 
4.其他操作
命令:svndumpfilter
    该命令用于过滤dump文件中的某些文件夹,以得到所需要的工程文件。在我们当前版本库中还不需要这个操作。
 
    经以上操作,已将旧版本库导入到trunk目录下。经对比验证,新库跟旧版本库工程内容完全一致,操作成功!
 
-----------------------------------
  Jacky_Xu @ 2010.7.13
  MSN: 

  E-mail: 
-----------------------------------
阅读(2263) | 评论(1) | 转发(1) |
0

上一篇:基于Linux 2.6.27.3内核创建YAFFS文件系统

下一篇:没有了

给主人留下些什么吧!~~

chinaunix网友2010-07-23 09:22:46

www.bjzhuanxian.cn 上海到北京货运 www.daoteng56.com 物流公司 www.an56.com 物流公司 www.mxzbz.com 上海包装 www.shanghaihuoyun.com 运输公司 www.an56.com 运输公司 www.mxzbz.com/zhen-kong-bao-zhuang/ 真空包装 www.021-62844414.com 物流公司 www.b2bgouwu.com.cn 上海货运公司 www.mxzbz.com 包装厂 www.dajianyunshugongsi.cn 大件运输 erp162z华宜物流公司