问题标签 [hgsubversion]

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.

0 投票
1 回答
1521 浏览

mercurial - 使用新的默认分支名称将 svn 存储库拉/克隆到 hg 中?

我正在分叉一个项目的 SVN 存储库,需要集成到我的 Mercurial 存储库中。为了简单起见,我有一个本地 hgsubversion 存储库和一个本地 hg 存储库。然而,mercurial 和 hgsubversion 存储库都default用作它们的默认分支名称。我的目标是将原始代码和更新放在一个分支上,并将我的代码放在default分支上

但是我还没有能够做到这一点。

default毫不奇怪,当我在分支中真正需要它们时,hgsubversion 会将拉取的提交放入blizzard分支中。从文档中,无法重命名提交来自的分支。

令人沮丧的是,我什至无法想出一种方法来在仅从 hgsubversion 存储库中提取的存储库中执行此操作,仅此而已。无论如何,所有提交都与那个分支相关联。

关于如何从 SVN 存储库中提取更改并将分支重命名为其他名称,有什么建议吗?

0 投票
2 回答
721 浏览

mercurial - 使用 Mercurial,我如何将更改从默认更改到命名分支?

我有一个中央 Mercurial 存储库,其中包含使用 hgsubversion 从 SVN 存储库克隆的历史记录。自从原始 hg 存储库被克隆以来,我已经提取了对 SVN 存储库的额外提交;这些当前位于默认分支中。

我也有一个命名的分支。我已将此分支(使用hg clone -b mybranch)克隆到我的本地系统。现在我想获取仅在默认情况下存在的更改,并使它们在我的命名分支中可用。hg update mybranch我看到的明显方法是在 repo 上做一个,然后hg merge default提交。这似乎很危险——如果我在完成后忘记更新回默认值,那么来自 SVN 的所有未来拉动都会将更改拉入mybranch

我还考虑过,也许我在克隆 repo 时不应该指定mybranch,而是克隆了整个 repo 并在本地更新到mybranch。因此,我可以将默认更改拉到我的本地克隆并在那里进行合并。

这里的正确答案是什么?在共享仓库上做,小心点?克隆所有内容并在本地管理分支?还是我缺少更简单的解决方案?

0 投票
2 回答
2531 浏览

svn - 使用 HG Subversion 推送到 SVN 时的工作流程

这个问题与这个问题中提出的问题非常相似,但我在解决方法后遇到了一些问题。

问题:

基本上我有一个颠覆服务器和一个善变的本地客户端。扩展 hg-subversion 允许 mercurial 充当 subversion 客户端。这对我来说是理想的,因为我可以从我的 subversion 开发分支中创建无限的功能分支,并在我选择合适的时候合并它们。

由于 subversion 的限制,我无法将分支合并提交到 subversion 存储库。事实上,我不需要提交每个分支合并,我只希望将“默认”分支头提交给 SVN。

建议的解决方案:

用户 Harvey 推荐的解决方法是修改我的工作流程,以包含用于开发的 hgsubversion 克隆的仅 hg 克隆。

引用哈维的话:

诀窍是学习修改后的 hg<->hgsubversion<->svn 工作流程。一旦你“了解”了它的工作原理,你就不会有任何麻烦。您只需键入更多命令。我实际上已经开始编写脚本以使过程(这是重复的)更容易。典型流程: [in "hg" repo] 提交一堆更改;将它们推送到“hgsubversion”;[切换到“hgsubversion”] hg 更新(hgsubversion 需要这个);hg push 到“svn”(在本地推送和删除变更集后会自动重新拉取);[切换回“hg”] hg 从“hgsubversion”拉取;hg 剥离旧的重复 b/c “hg” 不是 hgsubversion 克隆,也不知道自动剥离旧的变更集。

我遇到的问题:

我被困在从 hgsubversion 运行 hg push 到 svn 存储库的地方。我仍然收到错误消息,“中止:抱歉,找不到合并修订的 svn 父级。”

诚然,我不是 100% 了解 hgsubversion 如何将修订推送到 svn。老实说,我希望看到我的本地副本处于推送到 svn 服务器的状态。

哈普?

0 投票
1 回答
203 浏览

mercurial - 将 mercurial 变更集移植到 hgsubversion 转换的存储库中

我一直在从颠覆迁移到反复无常的零碎,这造成了一些混乱。我有一个旧的 SVN 服务器(1.4 之前),所以这就是发生的事情。

  1. HgSubversion 不想从主干中提取完整的历史记录,所以我做了一个浅转换。
  2. 我的同事对 SVN 做了最后一次提交,我把它们拉进了 Hg。
  3. 我们搬到了 Hg 并开始向它推进
  4. 为了安全起见,我的一位同事对 SVN 做了更多的承诺。
  5. 我管理升级了 SVN 服务器并获得了新 SVN 的完整存储库。
  6. HgSubversion 成功提取了完整的历史记录——包括一些额外/重复的提交。

现在我想将浅 mercurial 存储库中的提交“移植”到完整的历史记录中,存储库在内容上是相关的,但在 mercurial 哈希中不相关。除了复制粘贴内容之外,迁移更改的最佳方法是什么?最终每个人都应该能够:

  1. 切换具有完整历史记录的 Hg 存储库并继续工作
  2. 作为服务用户,从 Hg 存储库中自动推送合适的压缩/重新设置变更集到 SVN。

我想要一个具有以下场景的具体示例。

  • 步骤 2 中的最后一个 mercurial 哈希 - A
  • 推动步骤 3 - B 后的当前 mercurial 哈希
  • 从升级的 SVN 拉出后最后一次提交的哈希 - C
  • 完整 SVN 历史拉取后第 2 步提交的哈希 - D

我不是很擅长 ASCII 艺术,随意加一个加分。

0 投票
2 回答
344 浏览

svn - 如何使用 hgsvn pull 跳过颠覆修订?

我正在尝试使用 Mercurial 作为 Subversion 的前端,并且对保持所有分支等完好无损非常感兴趣,这样我就可以看到常见的变化等。

然而,我所有的颠覆存储库都为 mercurial 创造了相当大的问题(不幸的是,1.8 和 TortoiseHg 2.0,ppa 似乎已经删除了旧版本......)。这些问题五花八门,令人烦恼太多,无法列出(或弄清楚)。

如何跳过hg clonehg pull抱怨的 svn 修订?还是我只需要递归地获得越来越少的修订,直到我获得成功的克隆?

另外,我尝试通过从 svn 导出补丁并将其应用到我的工作目录来解决此问题;发生完全相同的问题(但至少现在我有一些东西要看......)

我遇到的问题(但不是专门针对问题的主题......)

现有文件覆盖尝试:

实现hg init,设置 svn url 和hg pull

一般Hunk问题:

达到hg clone

常见错误文本:

我在 ubuntu 上,真的很想有一个 ppa 来为我管理它,并且对这种互操作性感到沮丧。我在想我可能得试试 hg+git+svn 双桥之类的

0 投票
1 回答
986 浏览

svn - 允许 hgsubversion SVN 克隆退回所需的步骤

我正在一个主要使用 SVN 的团队工作,而我更喜欢尽可能使用 Mercurial。我使用 hgsubversion 设置了 SVN 存储库的 hg 克隆,并且几个基本的 pull/commits/push 似乎运行良好。

现在经过 2 周的本地开发(在此期间我已合并来自外部 hg 存储库的更改,并多次合并来自 SVN 存储库的更改),我尝试推送到 SVN 存储库,但失败了信息:

中止:抱歉,找不到合并修订的 svn 父级。

我发现其他用户遇到了同样的问题,以及如何避免这个问题的方法,但我还没有遇到任何似乎可以解决压缩多个并行提交以清理现有 hgsubversion 存储库的问题。

我可以在不丢失自己的提交的情况下纠正问题的最佳方法是什么?(有分步说明?)

0 投票
2 回答
1119 浏览

svn - 当其他团队成员刚刚在 SVN 上工作时,在本地使用 Hg 并推送到 SVN 存储库——这可能吗?

我在 SO 上发现了一些看起来非常相似的问题,而且答案似乎很好;但由于某种原因,我似乎仍然无法弄清楚如何让它发挥作用。我担心的是,这可能根本不可能。

情况如下:我在一个使用中央 SVN 存储库作为我们的版本控制系统的小团队中工作。我的结对程序员和我对没有本地提交选项感到沮丧(并且不想经历使用 SVN 分支的麻烦),所以我们研究了使用 Git 或 Mercurial 作为 SVN 客户端并发现 hgsubversion似乎有能力做我们想做的事:在 Hg 存储库上本地工作,在本地提交,并且只有在我们准备好时才推送到 SVN。

到了 push 的时候,我们收到了 Hg 的这个错误信息:

我想知道问题是否在于我们必须从 SVN 中提取更改以获取队友的更新,然后与我们的本地更改合并,现在 Hg 无法弄清楚如何让 SVN 满意?这似乎是我从我看过的其他 SO 问题和答案中得到的信息;但是,在这些情况下(做hg rebase --svn)给出的建议似乎对我们也不起作用;给出了相同的“找不到 svn 父级”消息。

这甚至可能吗?或者当团队中的其他开发人员直接对 SVN 进行更改时,是否比它的价值更麻烦?

0 投票
1 回答
428 浏览

svn - 一种将 SVN 增量到具有部分历史记录的 Mercurial 工作流的方法

我们在 SVN 存储库中维护更大的代码库。对于发布,我们只想将发布标签/分支推送到 Mercurial 存储库中,不包括主干中的历史记录。

我对 DVCS 的经验很少,所以我尝试的方法可能是错误的。如果您能指出缺陷或指出替代方案,我将非常高兴。

这是我到目前为止所尝试的:

  • hg convert extension:转换了完整的存储库,使用hg convert <base project URL w/o "trunk">它应该根据转换扩展文档提取完整的历史记录,包括分支和标签。但hg tags只返回tipdefaulthg branches只返回default。此外,它很慢(是的,我读到过svnsync)并且它包含完整的历史记录。我读到它可以用来逐步拉动,但我认为这对我不起作用。

  • hg convert extension:转换标签并从另一个标签中提取可以工作,-f但我并不真正相信它。它是否正确处理删除?

  • hgsubversionhg clone完整存储库的不包括标签和分支

  • hgsubversionhg clone在一个标签上工作,但是从另一个标签中提取是不可能的(中止:无法在存储库中的不同路径上工作

提前感谢您的指点。“Noob,先去读这个,然后再回来”也很受欢迎。

0 投票
1 回答
325 浏览

apache-flex - ActionScript 3.0 版本控制库?

是否有任何 Action Script 3 库允许我的 AIR 应用程序像版本控制(svn 或 cvs 或类似的东西)客户端一样运行?

我只想使用下载功能。我的应用程序依赖于一些文件夹和文件结构,这些文件夹和文件结构可能会通过更新而改变,如果我可以简单地在线管理一个 subversion 存储库并且应用程序会自动将其文件结构同步到这个存储库,那就太好了。

0 投票
2 回答
154 浏览

svn - 如何使用 hgsubversion 仅将我的第一个 X 本地提交推送到 SVN?

我目前在一个项目上使用 hgsubversion 来享受本地提交的好处,而该项目的官方 SCM 是 Subversion。为了将本地提交推送到 SVN 存储库,到目前为止,我一直在使用hg rebase --svn后跟一个简单的成功结果。hg push

我遇到的一个小问题是,如果我对想要推动的东西有某种修复,而不推动其他一切,我认为我可以提交该修复然后推动它。但这给了我以下信息:

abort:未提交的未提交更改

好的。所以我搁置了我未提交的更改。但由于某种原因,我无法搁置一项特定更改(添加了一个新文件)。我想,到底是什么,我可以这样做,因为它不会真正造成任何伤害。

所以这就是我所做的。但是后来我看到hg push可以使用一个-r标志,根据帮助文档,它具有以下效果:

如果使用 -r/--rev,则指定的修订及其所有祖先将被推送到远程存储库。

伟大的!所以这听起来正是我想要的。现在说我最近的两个本地提交的修订号为 94 和 95。我想我可以做到hg push -r 94 ,并且只将第一个提交推送到 SVN,而第二个仍然是纯本地提交。但由于某种原因,这推动了 94 和 95。

我做错了什么?