修补Mercurial上的图像移动

时间:2014-07-24 12:50:49

标签: mercurial

在我的项目中,我有一个PNG文件,我想把它移到另一个目录上。 我做完了

mv f.png foo/f.png
hg addremove
hg diff > patch.diff

但是我在补丁中得到了这个:

diff -r f0a573ab03b1 Bundles/rc/f.png
Binary file Bundles/rc/f.png has changed
diff -r f0a573ab03b1 Bundles/media/rc/f.png
Binary file Bundles/media/rc/f.png has changed

因此,当我申请时,它不起作用......有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

首先,您应该使用hg mv而不是mv。这样,Mercurial就知道你重命名了这个文件。当您使用addremove时,您会通过删除文件然后添加文件来污染您的历史记录。

下一个问题是补丁。补丁格式不支持二进制文件。无法为图像创建补丁。

尝试使用hg export --git代替hg diff。请参阅此问题:Why are my dlls not included in my exported patches?

hg exporthg import知道如何处理各种极端情况(例如保留提交消息)。