Mercurial 中的版本控制扩展配置

2024-01-09

通常,我会通过添加以下内容来启用扩展.hg/hgrc:

[extensions]
hgext.win32text=
[encode]
** = cleverencode:
[decode]
** = cleverdecode:

但是,我希望此配置进行版本控制,即存储库的一部分,以便其他任何人(同事、构建机器)克隆存储库时都可以使用它。请注意,任何克隆存储库的人都不需要这样做anything启用这些扩展。

看来不可能从文档 http://www.selenic.com/mercurial/wiki/UsingExtensions,但是有谁知道任何可以帮助我的巧妙技巧吗?


您希望 Mercurial 在克隆存储库时自动执行某些操作(更新挂钩或配置)。文档 http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html说这是不可能的,并给出了一些很好的理由:

Hooks do not propagate

In Mercurial, hooks are not revision controlled, and do not propagate when you clone,
or pull from, a repository. The reason for this is simple: a hook is a completely    
arbitrary piece of executable code. It runs under your user identity, with your 
privilege level, on your machine. No comments

It would be extremely reckless for any distributed revision control system to 
implement revision-controlled hooks, as this would offer an easily exploitable way to 
subvert the accounts of users of the revision control system. No comments

很明显,mercurial 本身并不能解决你的问题。您明确表示您只想用善变来解决您的问题,所以答案是:您所要求的是不可能的。

解决问题的唯一方法是,所有用户都必须至少运行/安装一次给定脚本来执行您想要的操作,例如安装正确的挂钩。

如果你想巧妙地解决这个问题:

  • 创建一个要运行的一次性脚本,该脚本将安装一个挂钩以将正确的配置复制到 .hg 或用户中
  • 确保挂钩安装后可以更新脚本以将配置更新分发给用户
  • 让钩子添加一些特殊标记来提交消息
  • 拒绝不携带特殊消息的中央存储库提交

有点复杂,但这是我能想象到的最接近您的要求的:

  • 用户运行一次脚本,然后他们就忘记了
  • 您可以确保如果没有运行它,他们就无法提交到您的中央存储库
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mercurial 中的版本控制扩展配置 的相关文章

  • 将远程存储库导入为具有完整历史记录的子目录

    我想将远程存储库作为具有完整历史记录的子目录进行合并和解耦 有多种方法和问题可以实现这一点 我的第一次尝试是使用subtree但它似乎没有重写文件的历史记录 所以我无法查看合并存储库的历史记录 接下来的尝试是手动合并它 就像 Seth Ro
  • 是什么让 DVCS 中的合并变得如此简单?

    我读于乔尔谈软件 http www joelonsoftware com items 2010 03 17 html 通过分布式版本控制 分布式部分实际上不是 最有趣的部分 有趣的是 这些 系统根据变化来思考 而不是 就版本而言 and a
  • 如果在不同的分支上,为什么我不能重新建立源变更集的祖先?

    我想知道为什么以下模式不可能 创建了一个本地功能分支 minor feature 不打算与世界共享 后 我想将其上的工作重新建立到一个众所周知的分支 稳定 的尖端 然而我发现 在稳定版自从分支以来没有取得任何进展的情况下 rebase 找不
  • 项目中包含 jar 的文件夹

    当我从事小型桌面项目时 我曾经创建过lib我的项目根目录中的文件夹保存了所有项目的 jar 依赖项 然后我用配置构建路径 gt 图书馆 gt 添加 JAR 手动将此文件夹中的所有 jar 添加到 buildpath classpath 并且
  • 使用 git 组织多个项目的最佳方式是什么

    我有 5 10 个独立项目 希望使用 Git 将其置于版本控制之下 组织项目 存储库的最佳方式是什么 每个项目使用一个存储库 对我的所有工作使用一个存储库 并为每个项目使用子目录 或者完全不同的东西 什么对你最有效 为什么 我肯定会说每个项
  • 我的程序的“服务”应该负责获取自己的配置吗?

    我的程序由几个 服务 组成 我不是在谈论SOA http en wikipedia org wiki Service oriented architecture 所以不要混淆 并且每个 服务 都使用一些配置 例如 目录路径 该配置应该从配置
  • 使用 asp.net 重写 URL。是否需要配置?

    我正在尝试在我的项目中启用重写的网址 这篇文章描述得很好 scottgu 的 url 重写 http weblogs asp net scottgu archive 2007 02 26 tip trick url rewriting wi
  • 如何在 PyCharm 社区版中运行 Django 项目的调试服务器?

    有人在 PyCharm 社区版中为 Django 项目设置调试配置时遇到问题吗 IDE 的社区版缺少项目设置中的项目类型选项 然后当我设置 调试 或 运行配置 时 它会要求我提供应该运行的脚本 Django 需要什么脚本 manage py
  • 如何在不访问 hg 的情况下提取 BitBucket 存储库

    我想知道是否可以在不访问 hg 的情况下将私人 Mercurial 存储库拉到服务器上 我有 SSH 访问权限 但无法安装 HG 我正在考虑某种使用 http 访问的 Python 脚本或其他东西 但我不确定 我还认为这可能只有通过公共回购
  • 如何在“mvn clean install”期间在 SpringBootTest 运行中禁用 ch.qos.logback 自己的 INFO 消息

    在与 RasmusFaber 获得最多支持的答案的作者 讨论后使用布局时如何防止 logback 在每个日志的开头输出自己的状态 https stackoverflow com q 3257154 2886891 我决定创建一个新问题 因为
  • 您对版本控制进行到什么程度了? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • 如何在 Struts 2 应用程序中读取文本文件 [重复]

    这个问题在这里已经有答案了 开发 Struts 2 应用程序时遇到以下问题 我需要读取使用我的应用程序部署在 Web 服务器中的文本文件 我怎样才能知道它的相对路径来访问它 换句话说 如果我知道部署目录内的相对路径 如何找到绝对路径 当我在
  • git checkout 到分支需要很长时间

    我使用的是 Ubuntu 17 10 并且使用 git 版本 2 14 1 每当我从 master 创建一个分支并尝试签出它 或从它签出到 master 时 都会花费大量时间 大约几分钟 有时接近 10 分钟 确实 我有几 GB 的数据 但
  • jqGrid - 使所有列不可排序?

    除了添加之外 有没有办法使网格上的所有列都不可排序sortable false到每一列 我知道您可以在网格级别设置全局选项 但不知道是否可以在 colModel 级别执行此操作 您可以使用 colmodel 模板来实现此目的 cmTempl
  • 是否可以从本地文件系统获取TFS更改集编号?

    我有一个解决方案的本地副本 与TFS绑定 是否可以在不调用服务器的情况下从本地文件系统获取当前更改集信息 如果您可以在 assembly AssemblyFileVersion 1 0 0 RevisionNumber 您可以在那里设置更改
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • Hadoop 减速器数量配置选项优先级

    以下3个设置reduce数量的选项的优先级是什么 换句话说 如果三者都设置了 会考虑哪一个呢 Option1 setNumReduceTasks 2 within the application code Option2 D mapredu
  • 图书馆神经实验室培训纽夫

    我对 python 和 Neurolab 的使用还很陌生 我在前馈神经网络的训练方面遇到了问题 我已经构建了如下网络 net nl net newff 1 1 64 60 1 net init testerr net train Input
  • 您如何管理项目生命周期? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您如何管理项目生命周期 例如 您从模板开始吗 您是否使用 SVN 等版本控制作为权威来源 您是否归档项目 如果归档 何时归档以及如何归档 当项目

随机推荐

  • macOS Sierra Spotlight 扩展

    不幸的是 我无法在网上找到有关此主题的任何最新信息 类似于这里提出的问题 OS X Yosemite Spotlight 扩展 https stackoverflow com q 25130549 4295410 是否可以by now to
  • 在 CSS 标签后使用 HTML 来实现悬停状态

    我目前正在尝试将一些 html 传递到 css 中的 after 伪类中 以在链接悬停后添加一个箭头 我很久以前就在默认安装的 WordPress 主题中看到过这种做法 我觉得我必须错过一些简单的东西 a hover after conte
  • jQuery - 检测“x”分钟内没有任何操作并针对该事件运行函数(X 分钟内没有事件)

    如何检测用户在 X 分钟内没有执行任何操作并在此事件上运行函数 E G if no action from user for X minutes do stuff 任何建议都非常感激 现场演示 http jsfiddle net lokta
  • H2 数据库中的当前时刻

    如何获取H2数据库中实际的当前时钟时间 当前时刻 The CURRENT TIMESTAMP http h2database com html functions html current timestamp函数给出当前数据库事务开始的时刻
  • 在 odoo 8 服务器“--auto-reload”工作时

    实际上是在启动odoo 8服务器的命令中 它将提供 auto reload 选项 但实际上我不知道它是如何工作的以及何时工作 请给我一些指导 通常 如果更改 python 代码 则需要重新启动服务器才能应用新的更改 auto reload
  • 在wpf数据网格中调整列大小

    我目前正在开发一个WPF软件 我正在使用 WPF 并尝试允许列自动调整大小以适应数据网格 我使用了columnwidth 只要窗口未包含在滚动视图中 它就可以正常工作 如果它处于滚动视图中 则列的大小调整得非常大 这会导致数据网格的大小调整
  • OpenMP 中归约运算的执行顺序

    有没有办法知道 OpenMP 中归约运算符的执行顺序 换句话说 我想知道线程如何执行归约操作 是从左到右吗 当存在不是 2 的幂的数字时会发生什么 我想你会发现 OpenMP 只会减少关联操作 例如 and 如果您愿意 也可以是加法和乘法
  • 执行“pip install pycrypto”后,如何解决“没有名为‘Crypto’的模块”错误?

    基本上 我想带来Chemobot https chemistry stackexchange com users 28223 chemobot进入我自己的聊天室之一 它的创建者建议我应该运行 py我自己的机器上的脚本 我刚刚开始用 pyth
  • 我如何告诉 UserManager.FindByIdAsync(userid);包括关系?

    我使用 ASP NET Identity 和 Code First 向数据库添加了一个新属性及其相应的表 如下所示 public class ApplicationUser IdentityUser public virtual IColl
  • Java客户端-服务器:实时流式传输音频文件

    我正在制作一个基于客户端 服务器的音乐应用程序 例如spotify 以下是发送一个mp3 audio file给我的客户 我想要的是向我的客户端实时播放这个 mp3 音频文件为了实现这个目标需要改变什么 编辑 我在 stackoverflo
  • 如何为apache和django设置mod_wsgi?

    我知道关于这个主题的信息已经很多了 但是它们都相当笨拙 不是那么简单和富有表现力 谁能解释一下如何使用django与mod wsgi and apache mod wsgi 并不是特别适合运行 Python WSGI 应用程序 或者 如果您
  • 为什么 jquery 事件委托不起作用?

    我有以下 html ul li class active one li li class two li ul 以及以下 jquery contain contain going to use a lot contain on click l
  • 如何在 R 中的图表上构建趋势线

    我到处都检查过 人们引用了我无法理解的例子 是的 我有点慢 谁能解释一下如何在 R 中构建对数趋势线 这是工作示例 myds lt c 23 0415 13 1965 10 4110 12 2560 9 5910 10 7160 9 966
  • 在裸存储库上执行 git 命令

    在我的服务器上 我托管了一些我正在处理的裸 git 存储库 我想在我的网站上显示有关每个存储库的一些基本统计信息 现在 假设我想做一些简单的事情 例如列出存储库中的所有文件 在非裸 git 存储库上 这可以通过以下方式完成 git ls f
  • Trace Bug 仅在 CI 中偶尔发生

    我在 python 代码中有一个奇怪的错误 这种错误只在 CI 中有时发生 我们无法重现它 测试代码在哪里 response self admin client post url post self assertEqual 200 resp
  • Django Rest Framework 中的 to_representation() 可以访问普通字段

    有关使用的文档to representation有点短 该方法用于Django Rest Framework 3 0 更改数据在 API 中的表示形式 这是文档链接 http www django rest framework org ap
  • 通过 AIDL 从远程服务到应用程序的复杂类型

    理想情况下 我想发送一个类型的对象 ArrayList
  • 我想要使​​用 spring 数据从 mongodb 获得一个字段具有不同值的结果

    我想要使 用 spring 数据从 mongodb 获得一个字段具有不同值的结果 我的代码是 Query query new Query query addCriteria Criteria where to toId in toIdLis
  • 统计Sql服务器中的事件?

    我有一张桌子包含购买时间信息 用户购买一些东西 我需要创建一个时间间隔为 5 分钟的时间线 并且我需要在这 5 分钟的窗口中进行计数 进行了多少次购买 计数 不需要按用户分组 起点 startCheckingTime其值为 08 00 00
  • Mercurial 中的版本控制扩展配置

    通常 我会通过添加以下内容来启用扩展 hg hgrc extensions hgext win32text encode cleverencode decode cleverdecode 但是 我希望此配置进行版本控制 即存储库的一部分 以