如何使用Beyond Compare 4和hg区分传入的变更集?

时间:2015-01-19 17:28:31

标签: mercurial beyondcompare4

我一直在使用mercurial和Beyond Compare 4工具大约两周,对我的使用感到相当自信,但是在将传入的变更集与我当前的本地代码库进行比较时,我似乎仍然遇到问题。当我尝试复杂的合并时,会强调这个问题。

  

为了澄清,我避免使用TortoiseHg等工具,   虽然我确实安装了它。我只通过cmd线路操作搜索反馈。

我当前模板化的方法通过以下方式下拉传入的变更集(作为[别名])

hg in --verbose -T "\nchangeset: \t{rev}\nbranch: \t{branch}\nuser: \t\t{author}\ndate: \t\t{date(date,'%m-%d-%Y %I:%M%p')}\ndescription: \n\t{desc|fill76|tabindent}\n\n{files % ' \t{file}\n'}\n----------\n"

作为一个例子,这是一个简单的(并且巧妙地抽象化)块返回::

changeset:      4685
branch:         Feature-WI209825
user:           Jack Handy <jhandy@anon.com>
date:           01-19-2015 10:19AM
description:
        Display monkey swinging from vines while whistling dixie

        Zoo/MonkeyCage/Resources/Localization.Designer.cs
        Zoo/MonkeyCage/Resources/Localization.resx
        Zoo/MonkeyCage/Utility/Extensions.cs

如果我要在本地比较更改,我只需使用以下命令::

hg bcomp -r 4685 -r default <optional file name>

然后我会得到一个带有文件夹结构和文件的Beyond Compare实例,我可以相应地导航以查看更改...但是,当我尝试使用尚未被拉入的变更集时我的本地存储库,我不能。

如何使用本地存储库区分传入的变更集?

----更新--------------------------------

我追求捆绑传入更改的想法,然后尝试使用BC4将捆绑包扩展到我本地仓库中的任何给定分支/修订。

hg in --bundle "C:\Sandboxes\Temp\temp.hg"

这将创建一个包含所有新更改的压缩文件存档。

现在我只需要与我的本地区分这个包,但是我很难优化它。目前,我正在使用以下命令的变体:

hg -R "C:\Sandboxes\Temp\temp.hg" bcomp -r default

唉,我仍然难以完善这个......任何见解都值得赞赏。

2 个答案:

答案 0 :(得分:0)

我看不出你怎么做,因为你的本地存储库还没有那个变更集,所以mercurial不能创建修订版的本地副本,因为它没有实际看到变化的可见性

-p的{​​{1}}标记会显示每个版本的补丁,但这不是您想要的。

为什么不只是hg incoming远程更改?除非你真的pull,否则它不会受到伤害。然后你可以按照正常的方式做你的差异。

答案 1 :(得分:-1)

hg diff是本地操作。 但是你可以简单地调用hg incoming -p来获得你将要拉的内容的差异视图。有关更多选项和改进,请参阅hg help incoming(例如,如果您需要针对特定​​转速进行区分等)