将目录附加到 SVN 中的忽略列表

2024-03-18

我有一个包含许多子目录的大目录树。在许多目录中我使用了svn propedit svn:ignore .,并忽略给定目录中的文件和/或目录。现在,我想忽略,在all子目录称为目录foo. In 这个答案 https://stackoverflow.com/a/9211176/671013,建议调用:

svn propset --recursive svn:ignore foo .

从树的根部开始。问题是,一旦调用它,它就会覆盖各个子目录中所有预定义的忽略 - 这是不希望的。本质上我想附加到树中每个目录的忽略列表中,一行包含条目foo in it. SVN支持这种行为吗?如果没有,那么我正在考虑编写此任务的脚本,然后添加到文件中dir-prop-base(似乎包含忽略列表)在每个./sub/directory/.svn (where .是树的根)所需的线。这样做安全吗?,即手动弄乱.svn内容?


我建议使用 bash 脚本来完成此任务。但不要直接操作文件,而是继续使用svn命令工具。该解决方案简单且安全。如果执行以下脚本,则可以完成这项工作find -type d ! -path "*/.svn*" -exec /tmp/add_svn_ignore.sh {} +从工作目录:

#! /bin/bash
ignore="foo"
for pathname in "$@"; do
    lines="$( svn propget svn:ignore "$pathname" )"
    grep -F -x -q "$ignore" - <<< "$lines" ||
    svn propset svn:ignore "$lines"$'\n'"$ignore" "$pathname"
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将目录附加到 SVN 中的忽略列表 的相关文章

  • 为什么我不能在 cygwin 中使用 $SVN_EDITOR 环境变量?

    我一定是错过了一些愚蠢的事情 当我使用 m 选项时它工作正常 echo SVN EDITOR emacs svn commit test py svn Commit failed details to follow svn Could no
  • 通过 SVN 从 Jenkins 更新工作区时出现间歇性“SVNException:svn:E175002:连接重置”

    我有 Jenkins 2 138 3 在虚拟机上运行 在同一网络上的另一台 PC 上 我有一个 Visual SVN 服务器 3 9 2 结帐间歇性地 可能是 25 的时间 失败 并出现以下错误 ERROR Failed to check
  • IntelliJ Subversion 需要身份验证对话框

    我正在尝试从颠覆存储库中签出一个项目 我已输入我的信息 例如网址 用户名和密码 我可以看到我的存储库中的文件夹列表 我选择我的项目并选择要签出到的目录 一切似乎都很顺利 我在 结帐选项 中单击 确定 进行结帐 选择 1 7 格式 这就是我正
  • SVN + 项目管理 + WIKI + 待办事项列表 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 假设我在 Linux 上有一个网络托管帐户 我希望在该帐户上托管一个带有 wiki 项目管理待办事项列
  • 使用 git-svn (或类似的)*只是*来帮助进行 svn 合并?

    我的项目中出现了一些复杂的颠覆合并 已经分开很长时间的大分支 Svn 给出了太多的冲突 其中一些看起来是虚假的 鉴于git因卓越的合并体验而受到称赞 用起来有什么好处吗git svn just for使合并更易于管理有何好处 你能推荐其他选
  • 检查没有 .svn 文件的 svn 存储库

    我的专用服务器 Centos 5 5 上有一个 svn 存储库 位于 var svn myRepository 我只想将这些文件复制到我的生产文件夹 var www myWebapp 中 据我了解 SVN 我只能在本地项目文件夹上使用 sv
  • 是什么让 DVCS 中的合并变得如此简单?

    我读于乔尔谈软件 http www joelonsoftware com items 2010 03 17 html 通过分布式版本控制 分布式部分实际上不是 最有趣的部分 有趣的是 这些 系统根据变化来思考 而不是 就版本而言 and a
  • Nexus 和 SVN 有什么区别?

    SVN 和 Nexus 都广泛用作开发和集成过程中的源代码存储库 也就是说 当我们可以通过 SVN 设置存储库时 为什么我们真的需要使用 Nexus 甚至 SVN 也有适当的版本控制架构并广受好评 通过谷歌浏览 但似乎没有什么提供明显的区别
  • svn 提交失败:找不到文件:事务 »52-1r«

    最小可重现故障如下 gt mkdir test cd test gt svn co https svn server com repo gt vim php main php gt svn commit Sending php main p
  • 在 Windows 上使用的 Subversion Server

    哪种 Subversion SVN Server 会建议新手开始使用 Windows Server 操作系统 我想我将在客户端上使用 TortoiseSVN 并且主要进行 NET 开发 UPDATE 很好的建议 我根据投票选择我的答案 我会
  • 使用 svn_access_file 中的 LDAP 组设置 Subversion 存储库

    如果我从头开始这样做 我会创建这两个单独的存储库 不幸的是 我不得不凑合着用现有的东西 我们的存储库如下所示 trunk tags branches secret trunk secret tags secret branches 我的 S
  • 使用 Subversion,如何从一个文件剪切并粘贴到另一个保留历史记录的文件

    情况是我花了一些时间搞乱一些实验代码 我现在想将该代码的一部分 大约 500 行 移动到另一个文件中 但我不想丢失历史记录 就像我进行简单的文本编辑器剪切和粘贴一样 据我所知 最接近的方法是将代码从原始文件中分离出来 svn 副本 然后从两
  • 提取TortoiseSVN保存的密码

    有什么方法可以提取 TortoiseSVN 保存的凭据吗 简短回答 您可以使用TortoiseSVN密码解密器 http www leapbeyond com ric TSvnPD 轻松显示您缓存的凭据 包括密码 长答案 该工具的工作原理如
  • Xuggler 存储库链接已损坏

    在我的 JAVA 应用程序中 我使用 Xuggler 来实现 ScreenCapture 和其他功能 现在它是一个 Maven 项目 所以我将 Xuggler 作为 Pom xml 中的依赖项 如此处所示Link http www xugg
  • 制作 svn 存储库的独立副本

    我正在尝试克隆存储库 但它应该是彼此独立的副本 这背后有什么魔力吗 或者只是使用 svn 客户端并克隆它 Thanks Try svnadmin hotcopy http svnbook red bean com en 1 8 svn re
  • 使用 Subversion 进行部分提交

    鉴于我做的案例两个独立的变化 in one文件 例如 添加了一个新方法并更改了另一个方法 我经常不想提交这两项更改 因为one提交 但作为two独立承诺 在 git 存储库上我会使用互动模式 of git 添加 1 http linux d
  • 持续集成颠覆

    抱歉 如果这个问题的答案已经存在 我还没有找到 我是网络开发团队的成员 我们维护一个网络门户 发布管理与 Subversion 配合使用 这就是我向门户添加新功能时的工作方式 通过复制 Trunk 创建新的 Branch 在那个分支发展 定
  • SVN 存储库大小莫名其妙地从小差异增加到大文件

    我不明白为什么大文件的微小差异会导致我的颠覆存储库增长如此之多 我有一些测试使用的数据库内容的 zip 文件 我想将每个新版本的测试数据存储在我们的 Subversion 存储库中 我做了一些实验 检查了 data zip 的最后几个版本
  • 如何最好地处理不应该提交的 SVN 和本地更改?

    我已经从 SVN 存储库中查看了一些项目 为了构建这些项目 我必须调整一些配置 例如类路径和属性文件 以适应本地环境 现在我不想将这些更改提交到存储库 因此设置 svn ignore 可能会有所帮助 但是 如果我想从存储库获取更新而不提交这
  • 为什么 git-svn 应该积极搜索旧历史?

    当我运行 git svn clone s 时发生了一些奇怪的事情 尽管以下信息告诉我们不要惊慌 但我想知道为什么会出现这种 svn 错误 为什么这个路径不存在 是被别人删除了吗 如果是 为什么 git svn 应该积极搜索旧历史记录 Ini

随机推荐