mercurial - hg 将补丁应用于工作目录是什么意思?
问题描述
我有生以来第一次尝试使用补丁(恢复损坏的存储库)。所以我对这个概念不是很熟悉,虽然我读过一点。我正在使用 TortoiseHg。我创建了一个补丁(作为文件),切换到另一个存储库,并正在尝试导入它。我已经要求 THg 将其导入存储库(其他选项是货架和工作目录)。当我单击 Import 时,THg 说补丁已导入到工作目录,并且控制台显示:
% hg import --verbose --"PATH\1059.patch"
将 PATH\1059.patch
应用到工作目录
[命令成功完成日期]
而且我在历史记录窗口中看不到任何更改(没有修订版 1059)。我想知道我现在应该做什么或者我做错了什么。
我在 Windows 10、TortoiseHg 4.9 和 Mercurial 4.9 上。
解决方案
当以任何方式在您的工作目录中修改某些内容时,它不会自动影响存储库中的任何内容。您必须手动提交此类更改。
对于命令行hg patch
,我认为默认是自动提交。可能是 THG 正在使用该--no-commit
选项。您可以在 THG 输出/日志窗口中进行检查。
对于命令行,帮助中也有这个注释import
...
首先将更改应用到工作目录(除非指定 --bypass),如果有未完成的更改,导入将中止。
THG 导入窗口如下所示:
根据文档
您可以选择直接导入存储库、工作文件夹、架子文件或补丁队列。
我想如果你检查“补丁将被导入”下拉菜单,它可能被设置为“工作目录”或类似的。如果您将其更改为“存储库”,我认为它会为您提交。
推荐阅读
- angular - 同一页面上的多个 Ngx 传单地图:所有图块都显示在同一地图上
- python - matplotlib.pyplot.plot 多项式数据显示几条随机线而不是多项式线
- java - 如何打印用大括号分隔的数组列表逗号?
- python - 如何编辑我的规范化函数,以便它也删除标点符号和行尾字符
- masstransit - 在没有 RabbitMQ 的情况下使用 Kafka
- javascript - setFullYear 增加 1 小时 - 需要解释
- recursion - 球拍中的帕斯卡三角形
- django - 如何使用 serpy 包序列化 django 模型
- java - Android 对话框片段。从 FragmentManager 中删除和删除之间的区别
- python - 如何在两个字符之间使用 sed 或 grep 值pdf