我可以忽略svn checkout上的文件夹吗? 我需要在我的构建服务器上的结帐时忽略DOCs文件夹。

编辑:忽略外部不是一个选项。 我有一些我需要的外部因素。

看看这个:stackoverflow.com/questions/116074/

您不能直接忽略结账时的文件夹,但您可以在svn 1.5中使用稀疏结账。例如:

$ svn co http://subversion/project/trunk my_checkout --depth immediates

这会将项目主干中的文件和目录检查到"my_checkout",但不会递归到这些目录中。例如:

$ cd my_checkout && ls

bar/ baz foo xyzzy/

然后得到'bar'的内容:

$ cd bar && svn update --set-depth infinity

注意:某些1.5版本中存在一个错误,使用svn: Shallowing of working copy depths is not yet supported阻止了此错误

注意:现在可以忽略v1.6中的文件夹,请参阅@tommy_turrell的回答......

是的,您可以使用SVN 1.6。您需要先进行结帐,然后标记要排除的文件夹,然后删除不需要的文件夹。

svn checkout http://www.example.com/project

cd project

svn update --set-depth=exclude docs

rm -fr docs

从现在开始,对工作副本的任何更新都不会重新填充docs文件夹。

请参阅http://blogs.collab.net/subversion/2009/03/sparse-directories-now-with-exclusion/和http://subversion.apache.org/docs/release-notes/1.6.html#sparse-目录排除更多详细信息。

汤姆

Upvoted,因为它使我免于检查与我的工作无关的巨大文件夹。

这很棒,与svn清理一起,这让我节省了12 GiB。

这还不是最初检查一切吗?

对于1.5之前的版本,我发现如果您只签出最顶层的文件夹然后有选择地更新,那么从那时开始更新只会影响你签出的内容。 IE浏览器。

svn co -N foo

cd foo

svn up -N bar

svn up

-N标志使操作不是递归的。以上内容不会检查foo级别的任何其他内容,例如。说有一个文件夹lala,最后的svn up不会检出该文件夹,但会更新bar。

但是稍后您可以svn up lala,因此,将其添加到结帐。

据推测,这也适用于1.5。

这是在TortoiseSVN客户端1.7.1(也可能在某些旧版本中可用):

SVN签出 - >选择存储库的URL

单击"结帐项目"(在结帐深度下)并仅选择

需要文件夹!

您可以将docs文件夹放在外部存储库中,然后使用svn checkout --ignore-externals。

这就是我们最后在上一个作业中跳过一些预先构建的组件。

我不明白external repository的意思。你能解释一下吗?

是的,Subversion 1.5有一个名为Sparse checkouts的功能,它可以做到这一点。

从阅读中看,稀疏检查看起来只限制结账的深度。他们不能忽略一个特定的文件夹。

当然,您可能需要做一些额外的工作,例如使用--depth immediates限制父文件夹的深度,然后检查除您想要忽略的文件夹之外的所有其他文件夹。关键是,如果您需要使用它们,工具就在那里。

我很欣赏提到SparseCheckouts,这很有意思,但是这个回答没有解决原始问题。当然,我可以一次检出一个文件,这将导致我想要的特定文件的本地副本,但是每个人需要单独完成这些文件是多么痛苦。我相信这个问题的作者要求忽略一个特定的文件夹,而不是x文件夹的深度,并允许计算机完成工作 - 你推荐的同样的工作可以手动完成。

1.6+版本提供了忽略文件夹的附加功能,以及对工作副本中包含/排除内容的更多控制(其中v1.5在此非常有限)svnbook.red-bean.com/en/1.7/svn。 advanced.sparsedirs.html

我发现这个问题正在寻找一种方法来检查WebKit源,同时排除回归测试。我最终得到了以下内容:

svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit \

--depth immediates

cd WebKit

find . \

-maxdepth 1 -type d \

-not -name '.*' \

-not -name '*Tests' \

-not -name 'Examples' \

-not -name 'Websites' \

| (while read SUBDIR; do svn update --set-depth infinity"$SUBDIR"; done)

请注意,您可以根据需要更改排除项,但。*建议跳过工作目录(已经是最新的)和所有.svn目录。

这是什么语言?

这些是unix shell命令(它们也可以保存并作为脚本文件执行)

我最近解决了同样的任务。

想法是获取存储库下的文件夹/文件的直接列表,排除您需要的条目,然后检查剩余的文件夹并更新即时文件(如果有的话)。

这是解决方案:

# Path to the svn repository to be checked out

rpath=https://svn-repo.company.com/sw/trunk/ && \

# This files are to be excluded (folders are ending with '/')

# this is a regex pattern with OR ('|') between enties to be excluded

excludep='docs_folder/tests_folder/|huge_folder/|file1|file2' && \

# Get list of the files/folders right under the repository path

filtered=`svn ls $rpath | egrep -v $excludep` && \

# Get list of files out of filtered - they need to be 'uped'

files=`echo $filtered | sed 's| |

|g' | egrep '^.*[^/]$'` && \

# Get list of folders out of filtered - they need to be 'coed'

folders=`echo $filtered | sed 's| |

|g' | egrep '^.*[/]$'` && \

# Initial nonrecursive checkout of repository - just empty

# to the current (./) working directory

svn co $rpath ./ --depth empty && \

# Update the files

svn up $files &&\

# Check out the all other folders finally.

svn co `echo $folders | sed"s|\

切换到源工作目录。复制命令。糊。更改相应的URL并排除模式。运行命令。

谢谢,

嘿开发人员有6年了?在你的最后一行你有$ ubrpath。那套在哪里?

@ D-Klotz,谢谢,这应该是$ rpath,而后者又设置为存储库路径。对不起,迟到了一年

正如其他一些人所提到的,您可以在结账时使用svn:externals属性,然后使用--ignore-externals选项。但有一点需要注意的是,svn:externals不一定需要引用另一个存储库。它可以是同一个仓库中某些其他文件夹的引用。

不,忽略仅用于添加文件。

您可以使用稀疏检出(如果使用svn 1.5)

svn 服务器忽略文件夹,关于构建自动化:SVN checkout忽略文件夹相关推荐

  1. svn 服务器用户权限设置,mac下配置svn服务器详解及用户的权限管理

    首先,感谢jsntghf和星辰的天空的好文分享,不是他们的文章,我估计须要花费更多的精力和时间.在这里我只是对他们文章的润色和本身测试遇到问题的标注.html Mac自带了svn服务器和客户端,因此只 ...

  2. svn服务器如何查询文档,windows 查看svn服务器

    windows 查看svn服务器 内容精选 换一换 保证源端与目的端网络连通,以及华为云上目的端服务器的安全组规则允许Iperf测试端口开放.配置安全组规则的具体方法请参见如何配置目的端服务器安全组规 ...

  3. 转:Windows下WSH/JS实现SVN服务器钩子脚本阻止提交空日志信息和垃圾文件

    http://blog.csdn.net/caikanxp/article/details/8279921 如何强制用户在提交SVN时填写日志信息? 如果用户使用的都是TortoiseSVN客户端,可 ...

  4. SVN服务器IP地址更改后,eclipse SVN客户端重新定位

    打开eclipse依次点击Windows -- show View -- Other... 输入SVN,选择SVN资源库 右键SVN路径,选择重新定位,后续根据提示进行操作更改即可.

  5. svn删除服务器文件怎么恢复,SVN 服务器恢复

    1.20200621,360扫描清理文件后,导致SVN服务器不能使用,如下图箭头标注的两个相关服务,显示"读取描述失败,错误代码2" 的相关错误信息,打开Visual Svn se ...

  6. SVN使用:从SVN服务器(linux)彻底删除文件,扩大空间

    由于电脑空间小,想在服务器上删除提交的版本(可以是多个版本),具体操作如下: 1.首先找到提交后生成的版本号,如8015: 2.登录到svn服务器上,进入到项目的svn目录:或者找到本地的svn的配置 ...

  7. 怎么查看svn服务器上的文件,如何查看svn端口号

    欢迎来到阿八个人博客网站.本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯. 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke ...

  8. SVN服务器和客户端的配置

    一.SVN服务器的配置 1.分别安装TortoiseSVN,VisualSVN-Server,安装步骤省略. 2.打开VisualSVN-Server快捷键(没有快捷键的从我的电脑所有程序中打开) 3 ...

  9. SVN 服务器和客服端搭建

    SVN 服务器和客服端搭建 一.SVN 服务器和客服端搭建 二.SVN服务端的安装步骤 三.SVN客户端的安装 四.使用SVN上传以及共享工程文件等 资料来源 来源CSDN博主「liuxiaofan_ ...

最新文章

  1. Golang websocket
  2. bde oracle 商友的流程_bde oracle 商友的流程_BDE动态连接Oracle数据库
  3. G6 图可视化引擎——入门教程——使用图布局 Layout
  4. Mysql多表查询笔记
  5. WordPress 自定义插件初始化及卸载
  6. 毕业设计word 表格标题 图表标题
  7. ImageView缩放选项
  8. Linux系统可卸载内核模块完全指南(上)
  9. 更改日期为英文_修改3000个日期格式,不用熬夜到天亮,3秒就完事儿
  10. 终于回应!GitHub 承认解雇犹太员工的错误并道歉,HR 负责人辞职
  11. Apache2 httpd.conf中文版
  12. java 内部类_Java内部类总结有哪些 没有基础该怎么学Java?
  13. OFFICE技术讲座:段落五种对齐方式的说明
  14. 面试官:你背了几道面试题就敢说熟悉Java源码?对不起,我们不招连源码都不会看的人
  15. 如何根据vin码查询_VIN车辆识别代码查询
  16. IDEA 社区版下载与安装
  17. android 工程模式设置中文翻译,MTK工程模式(中文对照版本)与测试模式指令.doc
  18. 海康USB摄像头----MV-CAO13-21UM工业摄像头的调用---python实现
  19. 画皮用计算机怎么弹山妖,山妖(翻自 小星星Aurora)歌词
  20. php eos,EOS区块链PHP开发包

热门文章

  1. 连接上CMCC但打不开网页||连接上路由打不开网页||IE左下角显示[正在连接站点127.0.0.0]的解决方法
  2. linux hub 移动硬盘,使用USB Hub可能会损坏你的移动硬盘!
  3. 【03月15日】农牧渔产品行业的估值高度排名
  4. nginx 301和302的区别与设置
  5. 苹果6s上市时间_苹果给6s出“福利”,网友:同期的安卓手机都馋哭了
  6. CCPC 2018 吉林 H LOVERS (线段树)
  7. 机器时代的中国字幕(Automata.2014.720p.WEB-DL.DD5.1.H264-RARBG.srt)
  8. 笔记本支架有必要考虑购买吗
  9. ARM 之二 Keil 项目/生成的各种文件类型(.AXF、.D、.crf、.exf)说明
  10. python生成业务报表实例