我最近一直在与hg / mercurial合作,即与Fogcreek's Kiln合作,我正在试图找出必须延伸的东西。它通过扩展列表进行了一些小巧的筛选,因为我对测试任何错误或不切实际的扩展都不感兴趣,即使它们的描述听起来很棒。
那么,你使用哪些hg扩展?
答案 0 :(得分:98)
我自己的点击列表:
你必须拥有的简单:
color
:对来自diff
和status
等命令的输出进行着色,这样可以更轻松地进行评估。pager
:一次浏览长输出页面。fetch
:从一个步骤拉取,更新和合并。graphlog
:在您的shell中显示修订图,对于查看日志历史记录中的分支非常有用。hgk
:使用图形界面浏览存储库(另请参阅TortoiseHg和Murky)如果启用pager
,则应将其配置为不干扰某些命令:
[pager]
pager = LESS='FSRX' less
ignore = version, help, update, serve, record
我强烈建议(并经常使用)中间扩展:
record
:让您以交互方式选择要提交的文件数量 - 当您处于一组更改的中间时最适合,并最终修复应该有自己提交的内容。extdiff
:配置外部差异工具(例如meld)share
:让多个克隆使用相同的回购历史记录高级扩展我不会没有:
mq
:管理一堆补丁。非常强大,允许在树顶部分层补丁。notify
:在更改回购时发送电子邮件通知。rebase
:在新的父版本之上重新应用本地更改。largefiles
:使用hg商店外的大型二进制文件以上所有内容都与Mercurial捆绑在一起,并且稳定且经过充分测试。我强烈推荐所有这些。
值得调查的非核心扩展:
shelve
:有选择地放置更改(以帅哥的粒度)并恢复它们。acl
:有选择地允许访问存储库树的不同部分取代扩展并迁移到核心(来自@ durin42的信息):
forest
已被v1.3 subrepo
支持所取代
bookmarks
位于核心并始终启用transplant
被graft
取代,这是一个核心命令histedit
在v2.3中处于核心状态,但默认情况下已禁用inotify
,因为竞争状况显然存在错误答案 1 :(得分:9)
graphlog
和mq
特别好吃。
hg rebase
可能会有一些重叠。git
用户喜欢变基。对于许多用例,可以替换mq
。git
分支类似。答案 2 :(得分:9)
尚未提及:mercurial_keyring
https://www.mercurial-scm.org/wiki/KeyringExtension
“密钥环扩展使用密钥环库的服务,使用系统特定的密码数据库(Gnome Keyring,KDE KWallet,OSXKeyChain,Win32和命令行的专用解决方案)安全地保存身份验证密码(HTTP / HTTPS和SMTP)。”
我使用ssh访问GitHub和Bitbucket上的repos,我的密钥短语保存在keychain中。此扩展允许Mercurial在需要时获取它。
我也需要:hg-git
Mercurial插件让你使用hg作为客户端拉动并推送git repos。一直使用它。
答案 3 :(得分:7)
如果您正在使用像Bitbucket这样缓慢的主机,progress是必不可少的。否则hg push
看起来像挂起了:\
答案 4 :(得分:1)
我的清单:
graphlog。我使用它远远超过hg log。 (希望它可以限制为分支机构)
净化。删除不在Mercurial中的所有文件。我使用它代替make或作为make clean的更干净版本。
少用,但很好:
我一直在尝试使用历史编辑工具,但仍然遇到限制。我希望让他们工作。
顺便提一下,请注意:hgk和fetch是“不受欢迎的”:https://www.mercurial-scm.org/wiki/UnlovedFeatures。但是,SubRepos不是不受欢迎的,而是最后的功能,我使用subrepos。