我已经同时使用 mercurial 和 Beyond Compare 4 工具大约 2 周了,对自己的使用相当有信心,但是在将传入的变更集与我当前的本地代码库进行比较时,我似乎仍然有问题。当我尝试进行复杂的合并时,这个问题更加突出。
只是为了澄清,我避免使用 TortoiseHg 之类的工具,尽管我确实安装了它。我仅通过命令行操作来搜索反馈。
我当前的模板方法通过以下方式拉下传入的变更集(作为 [别名] )
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 <[email protected]>
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
唉,我仍然很难完善这一点……任何见解都值得赞赏。