svn 的使用

linux下SVN中改变执行权限

http://www.111cn.net/sys/linux/47964.htm

本地文件在commit到仓库之前若没有chmod +x 权限的话,那在svn仓库里的文件将会保持当前无可执行属性状态。

即使在本地chmod +x filename 之后,再提交到仓库也是没有用的。check out到其他目录的时候,文件仍然没有可执行权限。

需要使用svn 设置文件属性,如下

svn propset svn:executable on *

然后 svn commit

svn官方中文使用指南

 SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

SVN merge的主干,分支的相互合并操作

SVN合并(merge)的使用

svn之svn:ignore命令行设置

忽略某个文件夹:

  svn propset svn:ignore on doc

  svn propset -R svn:ignore on doc

svn propdel -R svn:ignore  docs/

注意:通过这种方式对于单个文件设置的时候总是不成功,不知道为什么? 对于文件夹设置也不成功,按照下面的网址中的做法也未成功:

 

SVN设置忽略文件列表

 svn 常用命令及使用方法

 SVN的Status字段含义小记 .

执行SVN up和svn merge等命令出现在首位置的各字母含义如下:

 

“ ” 无修改
“A” 新增
“C” 冲突
“D” 删除
“G” 合并
“I” 忽略
“M” 改变
“R” 替换
“X” 未纳入版本控制,但被外部定义所用
“?” 未纳入版本控制
“!” 该项目已遗失 (被非 svn 命令所删除) 或是不完整
“~” 版本控制下的项目与其它类型的项目重名

 版本控制系统SVN的分支开发

 

 SVN代码回滚命令 即取消对代码的修改

 SVN - 主干/分支

 

从 分支 ( /calc/branches/my-calc-branch ) 合并回 主干 ( /calc/trunk ) 通常选第 2 个,而特别选择 [Reintegrate a branch] 这个选项是很重要的,因为这有以下好处:

1.让 Subversion 能知道 主干 ( /calc/trunk ) 是从哪个分支、哪些版本合并进来的
2.有效节省 Subversion Repository (SVN储存库) 的空间,因为不用重复储存分支的所有变更信息
3.可以产生 Revision graph 得知项目开发的分支状况

 

svn属性操作命令:

1. 查看属性列表
svn pl PATH
e.g.  
svn proplist file-name                           #列出文件中的所有属性
svn pl .                                               #列出当前目录下的所有属性
2. 获取某属性的值
svn pg PropertyName PATH
e.g.
svn pg svn:externals externals/               #获取目录externals的属性svn:externals的值
3. 删除属性
svn pd PropertyName PATH 
e.g.
svn pd  PropertyName file-name            #删除文件中的属性
4. 修改属性的值
svn pe PropertyName PATH
e.g.
svn pe svn:externals externals/               #修改目录externals的属性svn:externals的值
5. 设置属性
svn ps PropertyName  PropertyValue  PATH
svn ps -R svn:ignore PropertyValue  PATH #递归设置PATH的svn:ignore属性
svn ps svn:externals PropertyValue  PATH  #设置PATH的 svn:externals属性 value里可以通过-F引入文件
e.g.
svn ps svn:externals value .                   #在当前目录下添加svn:externals属性
svn propget svn:ignore PATH > tempfile 或者 svn propset -R svn:ignore -F tempfile PATH
-R代表递归作用
tempfile里可以指定需要忽略管理的文件规则如:.project .classpath target classes test-output tmp temp *.log
svn ps svn:externals -F dep.externals externals/(在目录externals下设置svn:externals属性,并用文件dep.externals作为属性的值)

Tips: 在设置属性前最好,export EDITOR=vi这样就可以直接编辑属性值了
转:http://blog.chinaunix.net/uid-26371116-id-3161843.html

 

 

 

SVN被锁定的几种解决方法

 

svn log -r 8 -v #显示版本8的详细修改日志,包括修改的所有文件列表信息。

svn diff -c 6 test.c    #比较版本5和版本6之间的text.c文件的变化。

svn checkout 到制定版本的命令

一直想check到指定的版本,没有尝试过相关的命令,做了尝试

svn checkout http://siphon.googlecode.com/svn/trunk/ siphon -r r791

这样就可以checkout到指定的版本了。
svn update -r10030
 
 

svn常用命令

 

 

SVN:修改已提交日志信息


yinguicai@Cpl-IBP-Product:~/data/work/svn/villa30/APPS$ svn propset svn:log "[CHG]修改代码,生成4CIF 30fps的验证版本" -r25813 https://192.0.0.183/IBP/VIS/branches/Develop/villa4CIF30fps --revprop
svn: E175002: DAV 请求失败;可能是版本库的 pre-revprop-change 钩子执行失败或者不存在
svn: E175008: 至少有一个属性变更失败;版本库未改变
svn: E175002:
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
svn: E175002: PROPPATCH of '/IBP/!svn/rev/25813': 207 Multi-Status

 

 svn merge的使用:

'-c M' is equivalent to '-r <M-1>:M'

 

posted @ 2013-09-22 10:39  静之深  阅读(624)  评论(0编辑  收藏  举报