我一直在阅读有关如何使用Mercurial的各种教程,并且一直在尝试使用hg qnew(例如hg qnew Enumpatch.patch)创建包含我的更改的补丁。然而,它只是不断提出一个空补丁。我已经尝试过阅读和谷歌搜索,并没有更明智。我认为这可能是非常明显的事情。任何人都可以帮助我吗?
当我做hg状态时,我得到:
$ hg status
M series
A Enum
因此无法看到我之前所做的更改。有没有办法纠正这个?
我在Mercurial上执行以下步骤:
$ echo >FormAssistPopup.java
$ hg add FormAssistPopup.java
FormAssistPopup.java already tracked!
$ hg commit -m "Enum patch."
abort: cannot commit over an applied mq patch
$ hg qnew Enum.patch
Enum.patch already tracked!
它不会让我提交一个应用的补丁,但是当我尝试创建一个新的补丁时,它说'补丁已经被跟踪',尽管它已经从补丁文件夹和系列文件中删除了。这有什么办法吗?
答案 0 :(得分:0)
没有足够的信息真正知道你做错了什么,但这是创建补丁的基本顺序。也许这会有所帮助:
建立一个存储库:
hg init example
cd example
向其提交文件:
echo >file1
hg add file1
hg commit -m "First file."
进行一些更改:
echo >>file1
echo >file2
hg add file2
创建补丁:
hg qnew mypatch
再做一次改变:
echo >>file2
更新当前补丁:
hg qrefresh
再做一次改变:
echo >>file1
echo >>file2
开始新的补丁:
hg qnew Patch2
删除最新补丁:
hg qpop