我正在寻找一个DVCS,它将允许我使用类似于“命名提交”之类的东西--类似于补丁队列实现的功能,但并不完全.(我将只与mq和stg进行比较,因为我不知道其他类似的)
补丁队列是关闭的,但是我想要这些特性:
q使用全局修补程序队列,git在分支时丢失stg信息,而使用当前的修补程序的分支则会列出“命名提交”,弹出并像补丁一样推送它们。(两者都这样做)mq又是全局的,当我回到旧的mq时,stg就会失败-如果我检查它,就可以得到当时的“命名提交”)。外面有类似的东西吗?有些DVCS有什么扩展吗?或者,也许有一种方法可以让mq或stg按照我的意愿行事?有什么建议吗?
似乎保存其信息的mq与其他文件处于同一回购程序中,它将接近我所需的内容,但这是否可能呢?
我只是想快速解释一下这个目的:我想让补丁一直被应用,但它们不是“开发的一部分”。我只想要几个具体的功能分别保存在我自己的叉子的主要回购。
发布于 2010-07-23 18:38:01
您可以通过使用mq在它自己的回购中使用Mercurial来实现这一点。大多数命令都有将在修补程序队列上操作的--mq标志。首先,使用hg init --mq (hg qinit也能工作,但这种模式更有限,特别是因为qpush会被重载)。这将在.hg/patches内部创建一个回购,它独立于主回购。然后,像往常一样使用mq。当您想提交修补程序队列时,请使用hg commit --mq。
您还可以使用--mq标志标记和分支,以跟踪不同的头部。不幸的是,Bookmark扩展看起来还不支持mq,这会很好,因为您可能需要轻量级标签。但是,如果需要,您可以为qbookmark设置一个别名,它只是添加了-R .hg/patches,这样它就可以在修补程序队列回购中运行。
我本人还没有广泛地使用过这一点,但是看起来支持--mq的本地Mercurial命令已经足够了,这使它成为您可能的解决方案。
https://stackoverflow.com/questions/3320758
复制相似问题