问题标签 [mercurial-queue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mercurial - Mercurial Queue 特定命令是否等同于带有 --mq 参数的 Mercurial 命令?
我正在尝试学习 Mercurial 队列,但我对既有一堆“hg q*”命令以及许多带有“--mq”参数的普通 hg 命令感到困惑。我认为 --mq 参数是为了替换一些 q* 命令,但我不确定。似乎没有关于(新的?)首选方法的教程或文档。
git - 发布补丁队列的 Git 方法是什么?
我习惯于 Mercurialmq
扩展以在上游维护一组自定义补丁。除了上游之外,它们可以作为单独的存储库发布。现在在 git 中,我使用私有分支和rebase
,它运行良好,直到我想与其他人共享我的补丁。
在 Mercurial 中,补丁队列是一个独立的存储库,可以像往常一样发布。Bitbucket 甚至提供了一个补丁队列功能将其链接到父存储库。在 Git 中,如果我用我的补丁发布了一个私有分支,我将无法再对它们进行变基(除非我中断合并),但补丁需要不时更新。
从我发现的另一个 SO 问题中,在 Git 世界中,StGit 被提议作为mq
. 它的使用类似于mq
,但是如何使用 StGit 发布补丁队列?
(stg publish
似乎旨在创建一个新的“合并友好”分支,而不是发布补丁本身)
在 Git 中发布补丁队列的其他方法是什么?
mercurial - 在 Mercurial 中,应用 mq 补丁时拉取是否“安全”?
Go 编程语言有一个关于使用 mq 进行代码审查的页面,它指出:“由于在应用 mq 补丁时拉取、推送、更新和提交可能会损坏您的存储库”。
我明白为什么推送或更新可能是一个问题,但拉一个问题?
如果您应用了 mq 补丁并且您拉动了您的存储库会被损坏吗?
version-control - Mercurial:qrefresh 编辑几个提交消息?
我遇到了这些问题:Incorrect Commit Message In Mercurial and Is qrefresh有害。但是,我仍然对我的具体问题感到困惑。
我克隆了一个存储库,并且已经提交了大约 10 次。在推送之前,我意识到我应该在我所做的每个提交中包含一个特定的短语。所以基本上我需要编辑我最近 10 次提交的提交消息来解决这个问题。已经提到了 qrefresh,但是以一种令人困惑的方式让我担心丢失数据。我仍然是一个非常基本的 Mercurial 用户,所以如果有人可以帮助我提供详细说明,那将很有帮助,这样我就不会丢失任何东西。
此外,我使用的服务器正在运行 Mercurial 1.0.1(我知道它很旧!)
编辑:
我在另一个问题中遇到了我需要的答案作为其答案之一。它奏效了,但我也认为有必要阅读 MQ 以真正了解正在发生的事情。
mercurial - 当您在 hg mq 补丁队列中的单个补丁中有太多更改时该怎么办?
hg mq 插件的目的是能够完美地提交到您的存储库,而不是混淆您在心不在焉的 ADHD 中所做的更改,从而导致在您的代码中漫不经心;
例如....
当我注意到错误 y 并开始处理它时,我正在处理错误 x。此时,您应该在补丁队列中创建一个新补丁,以免在将更改hg qfinish
提交到您的存储库时混淆更改。
现在假设您忘记了制作新补丁并在此过程中hg qrefresh
。然后后来意识到你的错误,你希望将一个补丁的更改分成两个补丁。
我意识到这与编辑队列中的补丁文件(和新的补丁文件)有关,以将更改分成单独的补丁并稍后提交。但是,我还不擅长编辑差异补丁文件。
我在哪里可以了解这一点?怎么可能呢?
mercurial - 如何使用 MQ 在 Mercurial 中检索意外删除的补丁
我有两个系列补丁,没有一个应用,我不小心在错误的一个上调用了 qdelete。有什么办法可以扭转这个操作并让我的补丁回来吗?我在这方面做了很多工作!!!
mercurial - Mercurial 补丁队列崩溃
我正在使用补丁队列来实现这个人在这里问的东西:
但是,我想做的是,当我在队列中拥有所有补丁时,而不是一个一个地应用它们,我想将它们折叠成一个变更集。这可能是通过我没有找到的开关,还是在从队列中推送补丁时,而不是提交,只是进行本地更改。
谢谢
mercurial - 当我剥离一个 mercurial 存储库版本并尝试与另一个版本同步时会发生什么?
我知道当我这样做时发生了什么事。同步显然是成功的,因为没有生成警告,但是当我克隆远程存储库时,我发现同步根本没有发生。我使用 bitbucket 作为远程存储库。
但我不认为这是应该发生的事情。那是什么?
mercurial - How-to 多个 hg mq 补丁队列(在一个存储库与多个子存储库中)
我正在尝试按照MqTutorial和HGbook 第 13 章中的描述使用 MQ 设置我的工作流。我挣扎的部分是如何在版本下拥有多个补丁队列。
备择方案:
I. 为每个队列创建一个单独的存储库。为了便于管理,将 repos 标记为 .hgsub 文件中的 subrepos
问题:以下导致错误:路径包含非法组件
二、HGbook 第 13 章描述了您可以在子目录中添加补丁,例如
问题:所有补丁仍在同一个队列中,必须按顺序应用
有没有另一种方法可以让我的所有补丁队列受到版本控制并推送?一个存储库中有多个 HG MQ 补丁队列?
mercurial - Mercurial + MQ EOL 行为
我正在使用 mercurial+mq,在 Win+OSX 上,EOL 问题正在杀死我。我已经激活了 EOL 扩展,添加了 .hgeol,如下所示:
一切似乎都运行良好.. 在 Windows 上(好吧,我有一些文件有行尾问题,我在第一个补丁中修复了它们,那个补丁也包含 .hgeol)。
然后我搬到Mac,假设它也可以在那里工作,对吧?嗯,错了。当我 qpush 第一个补丁(带有“.hgeol”文件+行尾更改的那个)时,它可以工作,但我看到一组“修改”文件(它与我在 Windows 上“修复”的文件完全相同,这样它们就不再显示为已修改!)。无论如何,我尝试“hg qrefresh”以更改线路(我想我稍后会弄明白)......但没有运气:如果我继续 qpush 我的其他补丁,我开始收到拒绝:(
知道如何解决这个问题/是什么原因造成的吗?这让我疯狂....