我们有一个位于单独服务器上的主存储库。我最初克隆了默认分支并在本地进行了更改。我已经在本地提交了这些更改。但是,在主存储库上创建了一个分支,我想将更改推送到。以下是我尝试完成此任务的描述。
我已经克隆了分支。我正在尝试从本地默认值导出我的更改,如下所示:
C:\hg\default>hg export -g -o mypatch -r tip
当尝试将它们导入新分支的克隆时,我得到以下信息:
C:\hg\newBranch>hg import C:\hg\default\mypatch
applying C:\hg\Fill1\mypatch
patching file .hgignore
Hunk #1 FAILED at 11
1 out of 1 hunks FAILED -- saving rejects to file .hgignore.rej
abort: patch failed to apply
我可以手动修复 .hgingore.rej 文件就好了。问题是补丁还包含被移动的文件。运行时我得到以下内容,而不是显示为已移动的文件hg status
:
C:\hg\newBranch>hg status -C
M someOtherFilesThatLookAsExpected.txt
! originalLocaion\fileA.txt
? newLocation\fileA.txt
此缺失和新状态适用于在包含应用补丁的提交中移动的所有文件。难道我做错了什么?应用补丁时是否总是需要手动移动文件?有没有更简单的方法来完成这个分支转移?