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

svn 命令行技能

2012-12-26 
svn 命令行技巧subversion/svn的设计还是非常棒的!子命令清晰明了,外围工具或plugin有时不能work,还必须用

svn 命令行技巧

subversion/svn的设计还是非常棒的!子命令清晰明了,外围工具或plugin有时不能work,还必须用命令行(根本入手)。

当时对scalability需求不强,所以没有像git, mercurail一样设计分布式。所以,这几年用svn少了一些。但对小项目足够了。

?

1.?外部editor

?

很多命令可能用外部editor,有时不用还搞不定(如下面的设置ignore list)。

?

* 可以在.profile里 export SVN_EDITOR=vim (or mate)

?

*?其实一般用editor来写一些命令参数args,如? svn pe svn:ignore .????这样打开一个svn*.tmp的文件,保存即可

?

*?使用时指定tmp文件, svn ps svn:ignore --file svn-prop.tmp .

?

2. ignore文件和目录

?

$ svn export spool spool-tmp
$ svn rm spool
$ svn ci -m 'Removing inadvertently added directory "spool".'
$ mv spool-tmp spool
$ svn propset svn:ignore 'spool' .
$ svn ci -m 'Ignoring a directory called "spool".'

?

3. ignore多个文件和目录

?

上面的方法只能是对一个目录和文件有效

?

多个的话,后面的文件会覆盖前面文件,可以用svn pg svn:ignore来查(反馈是多少重要)

?

此时可用 svn ps svn:ignore --file svn-prop.tmp .?把ignore list写在.tmp文件里

?

svn-prop.tmp:

dir1

dir2

dir3

?

4.?暴力解决问题

?

有时svn死活管不好,往往出现在目录移动上。这时就把目录下.svn目录删掉。

?

update?肯定会冲突,不怕。用svn resolve --acept working ,?然后再把需要svn add回去,再svn ci

?

5.?多用缩写

?

svn st?比svn status好打多了

?

6.?批量操作

?

?

?? svn delete $(svn status | sed -e '/^!/!d' -e 's/^!//')

?

?? svn add $(svn status | sed -e '/^?/!d' -e 's/^?//')

?

7.?切换库

?

svn switch --relocate svn://58.61.1.1/genius/master svn://192.168.1.1/genius/master

?

8.?外部引用

?

svn ps svn:externals --file external.txt .

external.txt

lib/zlib? svn://192.158.1.100/a/b/lib/zlib

?

这样就可以多个项目引用基础库了!

?

?

?

热点排行