install msvn 跳过_SVN实现在更新本地版本库时忽略指定目录

project/

|-- branches

| |-- branch1

| |-- branch2

| `-- branch3

|-- install

|-- tags

| |-- tag1

| |-- tag2

| |-- tag3

| |-- tag4

| `-- tag5

`-- trunk

`-- src

tags目录虽然是一个标签副本,但在checkout的过程中,是会针对一份完整代码的,因此很多人都不希望在本地的working copy中保留这个tags目录。遗憾的是,svn co命令并没有这样一个选项去忽略这个目录。

事实上,我也遇到了这个问题,在我看了很多help之后,终于找到了办法。具体如下(分两种情况讨论):

I. 本地保存有完整的Working Copy情况:

换句话说就是,你已经将svn中完整的repos/directories checkout到本地了(本地已经有一份你在服务器端的完整Copy了)。这时,你只需要运行以下命令将tags以及branches目录排除在svn up列表:

# svn update --set-depth=exclude tags branches

D tags

D branches

选项后面可以跟多个目录,这样,就在你当前的working copy中成功的将tags和branches目录排除掉了,在你下一次的update中,就不会去理会这两个目录了,但同时有保证了你的project是在version control下的,因此不需要每次都逐个进入目录进行svn up了。

II. 进行一次全新的忽略目录Checkout操作:

这种情况如果是在windows下,就显得非常简单,你只需要使用乌龟客户端的“Choose Item”按钮。

但是如果是在命令行的情况下,那就要稍微复杂一点了,请按照如下操作:

1. 首先将目录树checkout到本地:

[root]@[Fck_with_U]:[~/temp]->>svn co http://svn_test_url.com/test_dir my_checkout --depth immediates

A my_checkout/backup

A my_checkout/doc

A my_checkout/scripts

A my_checkout/src

A my_checkout/data

A my_checkout/tool

Checked out revision 736189

2. 将你不想co的目录排除在外(比如这里我想排除backup, data, doc, src, tool这五个目录,只想checkout scripts目录):

[root]@[Fck_with_U]:[~/temp]->>cd my_checkout/

[root]@[Fck_with_U]:[~/temp/my_checkout]->>ls

backup data doc scripts src tool

[root]@[Fck_with_U]:[~/temp/my_checkout]->>svn up --set-depth=exclude backup data doc src tool

D backup

D data

D doc

D src

D tool

3. 更新你想要的scripts目录:

[root]@[Fck_with_U]:[~/temp/my_checkout]->>svn update --set-depth infinity scripts/

A    scripts/trunk

A    scripts/trunk/test

...........

【转载地址】http://scmbob.org/exclude-dirs-when-svn-up.html

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2013-12-11 14:36

浏览 742

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值