在Mercurial上创建的空补丁

时间:2013-09-20 07:45:47

标签: mercurial

我一直在阅读有关如何使用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!

它不会让我提交一个应用的补丁,但是当我尝试创建一个新的补丁时,它说'补丁已经被跟踪',尽管它已经从补丁文件夹和系列文件中删除了。这有什么办法吗?

1 个答案:

答案 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