我已经一起使用 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 <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
唉,我仍然难以完善这一点......任何见解都值得赞赏。