首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > CVS SVN >

svn下令使用

2013-08-04 
svn命令使用详见附件?创建版本库,以及将一个工程加到版本库中:#0. 创建版本库$ svnadmin create sam_repo#

svn命令使用

详见附件

?

创建版本库,以及将一个工程加到版本库中:

#0. 创建版本库$ svnadmin create sam_repo#1. 创建工程的最初版本$ pwd/home/work/user/sam/tmp/svn$ ls proj_ori/   #trunk:存放项目主线;branches存放源码分支;tags存放开发过程中做的标签branches  tags  trunk$ cat proj_ori/trunk/file.txt #在proj_or/trunk中放置源码hehe???

?

命令详细批注:

?

svn diff -r m:n filename?? 注意有顺序的

#从版本35284 --> 版本35285 新增了一行“#多次请求”$ svn diff -r 35284:35285 core/case/crsas/rs_agent/random_rank_for_multstat.pyIndex: core/case/crsas/rs_agent/random_rank_for_multstat.py===================================================================--- core/case/crsas/rs_agent/random_rank_for_multstat.py        (revision 35284)+++ core/case/crsas/rs_agent/random_rank_for_multstat.py        (revision 35285)@@ -55,6 +55,7 @@         st.res['body'] = req      def test(self):+        #多次请求         #第1次请求,mult_stat算法的推荐商品被随机化         super(RsRandomRank,self).test()         assert_equal(5,len(self.ui_driver.res['body']['goods']['goods_list']))

?

svn log filename

$ svn log core/case/crsas/rs_agent/random_rank_for_multstat.py              ------------------------------------r35285 | hushiling01 | 2013-07-24 18:36:07 +0800 (Wed, 24 Jul 2013) | 1 linenothing more------------------------------------r35284 | hushiling01 | 2013-07-24 18:24:10 +0800 (Wed, 24 Jul 2013) | 1 linenothing------------------------------------

?

svn info filename

$ svn info core/case/crsas/rs_agent/random_rank_for_multstat.py   Path: core/case/crsas/rs_agent/random_rank_for_multstat.pyName: random_rank_for_multstat.pyURL: https://svn.baidu.com/general-test/trunk/xts/ers/core/case/crsas/rs_agent/random_rank_for_multstat.pyRepository Root: https://svn.baidu.com/general-testRepository UUID: b7cb459d-d3b9-4023-81ee-4f1888bb36e7Revision: 35285  #这里是整个repository的版本号Node Kind: fileSchedule: normalLast Changed Author: hushiling01Last Changed Rev: 35285  #这里是本文件的版本号Last Changed Date: 2013-07-24 18:36:07 +0800 (Wed, 24 Jul 2013)Text Last Updated: 2013-07-24 18:35:48 +0800 (Wed, 24 Jul 2013)Checksum: 11a2aef58679fa094e9decf41aa2c4d6

?

svn resolved filename见另一篇独立博客[转载]

Linux上重现冲突场景:

---->---->---->---->time---->---->---->

用户A: co [r35285] -> 修改 -> ci [r35288]成功

用户B: co [r35285] ->修改 ----------------------> ci 失败(冲突信息如下)

?

B用户ci时的冲突信息:

$ svn ci -m 'nothing2' core/case/crsas/rs_agent/random_rank_for_multstat.pySending        core/case/crsas/rs_agent/random_rank_for_multstat.pysvn: Commit failed (details follow):svn: File or directory 'random_rank_for_multstat.py' is out of date; try updatingsvn: resource out of date; try updating

?

此时B用户可以这样解决冲突:

1.放弃重来

(1)? rm -r filename

(2)? svn up filename

(3)? 重新修改

(4)? svn ci -m 'resolved' filename

?

2.diff重来

(1)? svn up filename?? #这一步不要忘了

(2)? svn diff filename:比较B修改后的版本和版本库上的最新版本,重新修改,svn resolved filename

#比较自己的版本和当前用户A提交后的版本svn diff core/case/crsas/rs_agent/random_rank_for_multstat.pyIndex: core/case/crsas/rs_agent/random_rank_for_multstat.py===================================================================--- core/case/crsas/rs_agent/random_rank_for_multstat.py        (revision 35287)+++ core/case/crsas/rs_agent/random_rank_for_multstat.py        (working copy)@@ -1,6 +1,6 @@ # -*- coding: GB18030 -*- from ers.core.control.plugin.crsas_caseimport import *-+#by sam class RsRandomRank(CrsasCase):     def setup_env(self):         env.crsas.set_param_0(max_num_to_ui=20,max_num_from_rs=2

?从上面可以发现,B修改后的版本 只是比当前版本库中的最新版本(A修改后的版本)新增了一行“#by sam”

? 重新修改

(3)? svn resolved filename

(4)? svn ci -m 'resolved' filename

?
svn lock filename
???? 简单的说,如果压根没有锁lock,那么每个人都拥有一个本地copy,每个人都能自由地对本地copy编辑edit并提交commit,这样可能会导致冲突conflict,最后不得不合并Merge。这就是传统的 “拷贝-修改-合并”模型。
???? 如果使用锁,每个用户编辑前先get-lock, 然后编辑,提交。这个过程中,其他人打开的时候开到的是read-only的文件,无法保持,这样就保证了单一性。这就是“锁定-编辑-解锁”模型,对不容易合并的非二进制文件很有好处。

?

svn list dir:会列出某个目录下svn管理的文件(如果是非svn的文件则不显示)

[work@cq01-testing-sdcads-vir43.vm.baidu.com ers]$ lltotal 24drwxrwxr-x   6 work work 4096 Jul 22 08:35 coredrwxrwxr-x  18 work work 4096 Jul 22 08:35 deploydrwxrwxr-x   3 work work 4096 Jul 22 08:10 hudsonbuild-rw-rw-r--   1 work work    0 Jul 22 08:10 __init__.py-rw-rw-r--   1 work work  133 Jul 22 08:35 __init__.pycdrwxrwxr-x   2 work work 4096 Jul 22 08:35 logdrwxrwxr-x  12 work work 4096 Jul 22 08:35 tools[work@cq01-testing-sdcads-vir43.vm.baidu.com ers]$ svn list__init__.pycore/deploy/hudsonbuild/tools/

?

?svn revert filename:如果我修改一个文件,最后发现不该修改,于是用这个命令回滚到当前svn的最新版本

?

?

热点排行