我一直在使用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
唉,我仍然难以完善这个......任何见解都值得赞赏。
答案 0 :(得分:0)
我看不出你怎么做,因为你的本地存储库还没有那个变更集,所以mercurial不能创建修订版的本地副本,因为它没有实际看到变化的可见性
-p
的{{1}}标记会显示每个版本的补丁,但这不是您想要的。
为什么不只是hg incoming
远程更改?除非你真的pull
,否则它不会受到伤害。然后你可以按照正常的方式做你的差异。
答案 1 :(得分:-1)
hg diff
是本地操作。
但是你可以简单地调用hg incoming -p
来获得你将要拉的内容的差异视图。有关更多选项和改进,请参阅hg help incoming
(例如,如果您需要针对特定转速进行区分等)