问题标签 [mercurial-commit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
version-control - 如何在 Mercurial 中编辑不正确的提交消息?
我目前正在使用 TortoiseHg (Mercurial) 并且不小心提交了不正确的提交消息。如何在存储库中编辑此提交消息?
configuration - TortoiseHg 无法提交--“系统找不到指定的文件”
我刚刚拿起 TortoiseHg 用于 Windows 上的分布式源代码控制,并将它安装在我的 C 盘上。然后我创建了一个存储库(位于 D:\projects 中)。
当我尝试提交更改时,它给了我错误
“中止:无:系统找不到指定的文件”
在一个名为“提交”的新窗口中。这会导致提交中止。它没有指定任何文件,当我运行 hg --traceback commit -m 'Message' 时,它会将其作为输出:
我不知道我还能提供什么作为调试信息,没有任何程序经验。
我已经为 TortoiseHg 配置了全局用户名和存储库用户名。此外,kdiff3 被指定为三向合并工具和可视差异工具。我没有故意更改任何其他设置。
感谢您的帮助,请询问更多信息,我只是不知道在这种情况下该提供什么。
mercurial - 如何将数字附加到 Mercurial 提交?
在进行 mercurial 提交时如何包含缺陷号?我目前这样做的方式是在提交消息之前加上缺陷号,以便 QA 可以找到与每个缺陷相关的提交。
是否有一个字段或标签可以让我在每个 mercurial 提交中添加一个数字?
如果没有,是否有更好的方法(比将数字放入提交消息中)将数字与提交相关联?
mercurial - Mercurial 仅提交提示
在我的设置中,我有一个中央 Hg 存储库,我正在向其推送本地更改。假设在我的本地克隆中,我有一系列本地提交,然后我想将更改推送到中央仓库。我怎样才能只推送最终状态而不包括我所做的所有“小”本地提交?
我想要这个,因为有时我不想用我所做的所有小的本地提交来污染中央回购的历史。
mercurial - Mercurial 撤消上次提交
如何撤消上次在 Mercurial 中意外提交(未推送)的更改?
如果可能,最好使用 TortoiseHg 的方法。
更新
在我的具体情况下,我提交了一个变更集(未推送)。然后我从服务器拉取并更新。有了这些新的更新,我决定,我的最后一次提交已经过时,我不想同步它。所以看起来,这hg rollback
不是我正在寻找的,因为它会回滚拉而不是我的提交。
mercurial - 如何删除 Mercurial 中的提交?
我想完全删除一个 Mercurial 提交,就好像它从未进入存储库一样,然后回到我之前的提交。
这可能吗?
mercurial - Mercurial:如何修改最后一次提交?
我正在寻找git commit --amend
Mercurial 的对应部分,即修改我的工作副本链接到的提交的方法。我只对最后一次提交感兴趣,而不是任意的早期提交。
此修订程序的要求是:
如果可能,它不应该需要任何扩展。它不能要求非默认扩展,即不附带官方 Mercurial 安装的扩展。
如果要修改的提交是我当前分支的一个负责人,则不应创建新负责人。如果提交不是 head,则可能会创建一个新的 head。
该过程应该是安全的,如果由于某种原因修改失败,我希望恢复与修改前相同的工作副本和存储库状态。换句话说,如果修改本身可能失败,则应该有一个故障安全程序来恢复工作副本和存储库状态。我指的是修正程序性质的“故障”(例如冲突),而不是与文件系统相关的问题(例如访问限制,无法锁定文件以进行写入,... )
更新(1):
- 该过程必须是可自动化的,因此它可以由 GUI 客户端执行,而无需任何用户交互。
更新(2):
- 不得触摸工作目录中的文件(某些修改的文件可能存在文件系统锁定)。这尤其意味着,一种可能的方法可能在任何时候都不需要干净的工作目录。
python - 带有 Python 主要功能的 Mercurial Commit Hook
我正在尝试在 python 中创建一个复杂的 mercurial 提交挂钩。我还希望被允许使用 OptionParser 传递参数。这是我到目前为止的要点:
.hg/hgrc 配置:
python文件.py:
当我运行时hg commit -m 'message'
出现错误:“用法:hg [选项] hg:错误:没有这样的选项:-m”。当我尝试时,hg commit --test-dir '/somedir'
我得到一个错误:“hg commit: option --test-dir notrecognized”。
最后,我尝试commit = python:/mydir/pythonFile.py:main --test-dir '/somedir'
在 hgrc 配置中指定,但出现此错误:“AttributeError: 'module' object has no attribute 'main --test-dir '/somedir''”
谢谢您的帮助。
mercurial - Mercurial 提交和合并
使用 Mercurial,我经常看到需要逐步提交推送的情况,但如果另一个人在此过程中提交,那么我就会遇到问题。
示例:假设 HG 存储库有四个文件 a.txt、b.txt、c.txt、d.txt,我们有两个用户 Mickey 和 Goofy:
Mickey 准备好提交和推送,但必须合并:Mickey 会:$ hg pull -u
现在 Mickey 有两个变化 - 在 b.txt 和 c.txt 中。让我们假设他在 c.txt 中的更改很复杂,现在不能发布。米奇如何在不提交 c.txt 的情况下提交并推送他在 a.txt 和 b.txt 中的更改?