SVN 预提交挂钩,用于避免更改标签子目录

2024-05-05

有没有人对如何添加避免更改标签子目录的预提交挂钩有明确的说明?

我已经在互联网上搜索了很多。我找到了这个链接:SVN::Hooks::拒绝更改 https://metacpan.org/pod/SVN::Hooks::DenyChanges,但我似乎无法编译东西。


我没有足够的声誉来“评论”上面 Raim 的答案,但他的效果很好,除了一个例外,他的 grep 模式是错误的。

我只是使用以下内容作为我的预提交挂钩(我没有现有的挂钩,在这种情况下您需要合并):

#!/bin/sh

REPOS="$1"
TXN="$2"

SVNLOOK=/opt/local/bin/svnlook

# Committing to tags is not allowed
$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^U\W.*\/tags\/" && /bin/echo "Cannot commit to tags!" 1>&2 && exit 1

# All checks passed, so allow the commit.
exit 0

Raim 的 grep 模式的唯一问题是,它仅匹配位于存储库“根”位置的“标签”。由于我的存储库中有几个项目,因此他编写的脚本允许在标签分支上提交。

另外,请务必按照指示 chmod +x ,否则您会认为它工作是因为提交失败了,但它失败了因为它无法执行预提交挂钩,而不是因为挂钩工作了。

这真的很棒,谢谢雷姆。比所有其他建议更好、更轻,因为它没有依赖性!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SVN 预提交挂钩,用于避免更改标签子目录 的相关文章

  • 取消选择所有复选框后,客户端过滤器显示所有项目

    加载时 复选框将取消选中 并显示所有列表项 当选中过滤器时 将显示相关的列表项 我遇到的问题是 当您再次取消选中所有复选框时 我需要显示所有项目而不是隐藏 这是我的小提琴 http jsfiddle net amesy B9Hnu 124
  • IntelliJ Subversion 需要身份验证对话框

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

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 对于独立开发人员来说,通过 file:// 访问 Subversion 存储库有什么缺点吗?

    如果您的开发计算机上安装了 Subversion 并且您不在团队中工作 那么您是否有任何理由应该使用 Subversionsvn协议而不是file 如果您自己在一台机器上工作 那么根据我的经验 使用 file 协议效果很好 即使我的团队在远
  • 使用 jQuery 创建新元素的正确或更好的方法是什么?

    与答案相关https stackoverflow com a 10619477 1076753 https stackoverflow com a 10619477 1076753创建一个元素更好用 div id foo class a o
  • SVN 中的单用户结账

    我想做以下事情 当一个用户正在编辑文件时 SVN 其他用户无法编辑此文件 直到第一个用户提交他的 变化 那就是会有一些 svn 中文件的一种写锁 这在SVN中可能吗 怎么做 是否可以为单个文件或目录 而不是整个存储库 设置此设置 为什么这会
  • SVN + 项目管理 + WIKI + 待办事项列表 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 假设我在 Linux 上有一个网络托管帐户 我希望在该帐户上托管一个带有 wiki 项目管理待办事项列
  • Visual Studio Code 删除标签突出显示

    我想当光标位于标签上时删除标签的突出显示 例如 Visual Studio Code 显示这样的段落标签 lt p gt 我希望它像这样显示 p 请参阅图片示例 示例图像 https i stack imgur com jnU8e png
  • 使用 git-svn (或类似的)*只是*来帮助进行 svn 合并?

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

    我有一本剧本 其中包含并标记了各种角色 name base hosts host default localhost roles role apt tags base apt ubuntu role homebrew tags base h
  • TortoiseSVN svnadmin

    目前我正在设置 TortoiseSVN 并阅读文档等 手册中经常提到svnadmin 我发现我必须下载它分别地 http groups google com group tortoisesvn browse thread thread e2
  • 如何在Windows控制台中递归使用“svn add”?

    当我跑步时 svn st 在我的工作副本上我得到一些 位于工作副本根目录的子目录中的条目 我想将它们全部添加到存储库中 我尝试 svn add force and svn add force 但它不起作用 工作方案 svn add dept
  • intellij idea 和 eclipse 可以一起使用吗

    对于某些人来说 这可能看起来有点奇怪 但我仍然想知道这是否可能 到目前为止 我们有很多项目是在 eclipse 上编写的 我们中的一些人想进入 intellij idea 的世界 我们可以同时通过 eclipse 和 intellij 一起
  • 将Redmine问题与SVN修订版联系起来的最佳方法

    我们使用 Redmine 进行问题和错误跟踪 我们添加了 SVN 集成 但通过这样做 它仅显示活动中的 SVN 修订 如果能看到由错误或问题引起的所有 SVN 更改 那就太好了 但这似乎不可能 有没有办法做到这一点 如果不是Redmine
  • 在 git 中标记多个分支?

    我有一个有两个分支的 git 存储库 一个用于制造 测试的代码 另一个是实际的生产固件 它们几乎相同 现在是时候剪切一个版本并发送给制造商了 所以我自然想在两个分支上放置一些适当的标签 但是 似乎 git 不允许我在两个分支上放置相同的标签
  • 将 svn 存储库添加到现有的 git 存储库中?

    我知道你可以使用 git svn init 来跟踪 svn 存储库 但这是为了你想创建一个全新的存储库 我的情况是 我目前已经有一个现有的 git 存储库 并且希望通过将 svn 存储库设为我当前 git 存储库中的远程分支来跟踪 svn
  • 使用 Subversion 进行部分提交

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

    抱歉 如果这个问题的答案已经存在 我还没有找到 我是网络开发团队的成员 我们维护一个网络门户 发布管理与 Subversion 配合使用 这就是我向门户添加新功能时的工作方式 通过复制 Trunk 创建新的 Branch 在那个分支发展 定
  • 使用php表单更改href链接

    我正在制作一个带有搜索栏的网站 我想让搜索栏在 搜索 并显示结果后具有交互性 所以我希望 href 根据正在使用的 Id 进行更改 例如 有人搜索 Pinecones 如果它在数据库中 它将有一个 ID 在本例中是 4 一旦他们搜索它 它就
  • 递归删除属性

    Tortoise SVN 可以选择递归地将属性应用于所有子文件夹 子文件 现在我需要删除这个属性 我怎样才能递归地做到这一点 我没有找到如何使用 GUI 递归删除属性 但您可以使用 svn 命令行工具删除属性 svn propdel PRO

随机推荐