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 trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
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 up和svn merge等命令出现在首位置的各字母含义如下:
“ ” 无修改
“A” 新增
“C” 冲突
“D” 删除
“G” 合并
“I” 忽略
“M” 改变
“R” 替换
“X” 未纳入版本控制,但被外部定义所用
“?” 未纳入版本控制
“!” 该项目已遗失 (被非 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 r791svn update -r10030
这样就可以checkout到指定的版本了。
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'