我一生中第一次尝试使用补丁程序(以恢复损坏的存储库)。因此,尽管我已经阅读了一些内容,但我对这个概念不是很熟悉。我正在使用TortoiseHg。我创建了一个补丁程序(作为文件),切换到另一个存储库,并尝试导入它。我已经要求THg将其导入到存储库(其他选项是Shelf和Working Directory)。当我单击“导入”时,THg说补丁已导入到工作目录中,并且控制台显示为:
%hg import --verbose-“ PATH \ 1059.patch”
正在应用PATH \ 1059.patch
应用于工作目录
[命令已于DATE成功完成]
,我在历史记录窗口中看不到任何更改(没有修订1059)。我想知道我现在应该做什么或做错了什么。
我在Windows 10上使用Mercurial 4.9的TortoiseHg 4.9。
答案 0 :(得分:0)
以任何方式在工作目录中对某些内容进行修改时,它不会自动影响存储库中的任何内容。您必须手动提交这样的更改。
对于命令行hg patch
,我认为默认设置是自动提交。 THG可能正在使用--no-commit
选项。您可以在THG输出/日志窗口中检查它。
对于命令行,帮助import
中也有此注释...
首先将更改应用于工作目录(除非--bypass为 指定),如果有重大更改,导入将中止。
“ THG导入”窗口如下所示:
根据the docs
您可以选择直接导入到存储库中, 工作文件夹,文件架文件或修补程序队列。
我认为,如果您检查“补丁将被导入到”下拉列表,则可能会将其设置为“工作目录”或类似名称。如果您将其更改为“存储库”,我认为它将为您提交。
答案 1 :(得分:0)
除非提供了更好的答案,否则我必须假定此行为是由于存储库损坏导致的:对未损坏的存储库进行完全相同的操作时不会观察到这种情况。