问题标签 [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.
svn - 使用 hgsubversion 时重新定义分支、标签和主干的位置
我正在尝试使用 hgsubversion 将一个相当大的 Subversion 存储库转换为 Mercurial。我几乎让它工作了,只是没有捕获分支和标签,最终的 Mercurial 存储库如下所示:
我正在运行的命令是:
我的 Subversion 存储库实际上是文件系统上的一个镜像和更新的本地镜像。这样做是因为直接访问 URL 时运行 hgsubversion 或 convert 速度非常慢。存储库的结构是这样的(注意大写的第一个字母)。
关于我可能做错了什么的任何想法?大写名称是否会导致自动分支检测失败?我可以覆盖 hgsubversion 查找主干、标签和分支的位置吗?
mercurial - 没有使用 HgSubversion 将本地 Mercurial 提交推送到 SVN?
我在 HgSVN 中进行了 4 次本地提交,然后我将本地代码更新为较早的版本,添加了更改,进行了本地提交,与服务器代码合并,当尝试推送时,由于 4 本地提交未合并。
- 如何从 HgSVN 历史记录中删除/删除这 4 个本地提交并推送代码?
在这种情况下应该怎么做?
- 使用 HgCommit 将代码保存到本地机器和
- HgWorkbench 用于将本地更改推送到服务器
svn - 如何使用 hgsvn 从本地(file:///)SVN 存储库克隆?
目前我正在尝试运行一个远程颠覆存储库的克隆。远程存储库只能通过一个非常慢的链接获得,所以我svnsync
创建了一个本地 subversion 存储库。将近 30 小时后,我现在拥有了 subversion 存储库的本地副本。
我现在如何将其克隆到新的 mercurial 存储库?问题是以下两种使用形式file:///
似乎都不起作用:
相反svn info file:///home/user/repo
,确实给了我信息并证明那个地方有一个适当的颠覆存储库。svn://
显然没有意义,因为我没有在本地运行服务器。
我也试过:
但hgpullsvn
前半打修订唯一成功,然后出错:
(显然,这CVSROOT
源于之前从 CVS 转换为Subversion。这是在我之前。)
即使我尝试强制使用它也不理解协议说明hgsvn
符?file:///
svn+file:///
注意:我曾尝试通过hg
和hgsvn
之前进行克隆,但hgsvn
一段时间后通过同步时出现错误。由于克隆整个历史需要很长时间,所以我使用了本地颠覆存储库副本,我打算从中克隆,hgsvn
就像我过去所做的那样。
hgsubversion - 带有 hgsubversion 的 TortioisHg 不同步处理默认远程存储库
我正在使用 TortoiseHg 2.7.2 和最新版本的 hgsubversion。
除了与“同步”对话框相关的一个问题外,一切正常。
远程存储库(我最初从中克隆本地 hg 存储库)的 URL 如下所示:
“svn+ https://svn.newco.local:8443/svn/NEWCO ”
但是,当我打开同步对话框时,本地 hgrc 文件更喜欢 /svn/NEWCO 作为远程存储库,它是远程 svn 存储库中的 svn 文件夹。
我已在同步对话框中将所需的 URL 保存为“默认”,但它从未被对话框自动拾取(它始终默认为 /svn/NEWCO)。
显然 svn+https 似乎让 TortoiseHg 窒息。有什么方法可以让同步对话框正确填充远程存储库文本框?
mercurial - 无法将更改推送到 webDAV 上的存储库
今天,我尝试将更改推送到我们托管在运行 webdav(通过 HTTPS)的 apache(2.2.x)上的共享存储库中。dav 目录中的存储库是我的工作目录的克隆。选项 NoUpdate 已启用。两个存储库都已启动。
为了继续,我将 dav-directory/repositoy 映射为网络驱动器,并将存储库设置为推送到“y:/”当我尝试从 Workbench 推送时,抛出异常“aborted, ret 255”。
从命令行推送抛出:
我试图更改目录的路径,因为侧面交换的分隔线对我来说看起来很奇怪。但它没有成功。
更多信息:我没有使用 hgweb 或任何基于 cgi 脚本的版本。
编辑有关该问题的多个 google 条目让我想到,将更改推送到 webDAV 提供的存储库是不可能的。此外,我必须使用 hgWeb 来解决这个问题。
但为什么我必须这样做?我的想法是 webDAV 能够写作。由于我将目录映射为网络驱动器 - mercurial 应该能够将更改推送到网络服务器,就像它推送到本地目录一样。
有人可以证实这一点吗?
svn - TortoiseHG 和 hgsubversion (Windows):“没有名为 hgsubversion 的模块”
我已经从https://tortoisehg.bitbucket.io/download/index.html (2.8.1)安装了最新版本的 TortoiseHG for Windows
我做了
并在 mercurial.ini 中设置正确的路径:
如果我做:
我可以看到 hgsubversion 似乎安装正确:
但是当我想克隆一个 SVN 存储库(来自网络的任何示例)时,它会说:
这里有什么问题?
svn - 如何在镜像颠覆回购中“取消外部化”文件?
我正在使用 hgsubversion 扩展将基于颠覆的项目转换为 mercurial。subversion repo 有一个目录,其中包含一个 svn:externals 属性,它引用了另一个项目中的两个文件。Hgsubversion 可以将目录外部转换为子存储库,但显然不能将文件引用外部。无论如何,我想远离外部/子存储库,所以我认为我可以将它们作为 svnsync 的一部分展平。
由于这将是一次性转换并且我不介意调整颠覆历史,我想我可以“取消引用”或取消外部化文件作为同步过程的一部分。我需要生成的镜像包含外部文件,而在包含文件的目录中没有属性“svn:external”。
我认为这可以作为提交挂钩来完成。但我不知道如何更改正在进行的提交,只是如何中止它。这个问题:SVN post-commit hook to modify externals有点到了,但答案主要是建议远离外部(我已经确信)。
当然,如果我对从 svn 迁移到 hg 的最佳方式做了太多假设,请随时提出替代建议。
jenkins - Jenkins 部署更新文件的工作
我的后备箱里有一个开发、舞台和生产分支。我的 Stage 服务器无权访问我的 Subversion 文件。任何时候将代码合并到我的 Stage 分支中,我都希望该代码自动部署到我的 Stage 服务器。jenkins 是否可以轮询获取刚刚更新和添加的文件的列表,然后让它运行批处理文件以复制到新服务器。我是詹金斯的新手,所以任何有关正确执行此操作的方法以及编写脚本的资源都会非常有帮助。
hgsubversion - 如何在这种非标准布局中使用 hgsubversionbranch?
我有一个非常非标准的 SVN 回购布局:
我并不十分担心标签,因为它们并没有真正使用那么多。但我正试图让分支正常工作。
目前我有一个.hgrc
包含以下内容:
我运行以下命令:
(使用,--startrev
因为我有很多不相关的修订)但是当它“完成”克隆时,它说它找不到任何东西。
这是一个相当新的变化,有效地从这里开始,所以除了文档之外我找不到太多信息,这似乎并没有解决我的特殊情况。
我究竟做错了什么?还是有更好的方法来做到这一点?
svn - hgsubversion 在 Windows 上报告旧的 subversion 版本
我正在尝试在 Windows 7 上使用 hgsubversion 将 Subversion 存储库转换为 Mercurial 存储库。在我解决了许多其他错误之后,我现在被使用的似乎是不正确的 Subversion 版本卡住了。
当我尝试时,hg clone file:///C:/source/
我收到以下错误:
这似乎表明 Subversion 存储库是 1.8+ 版本(确实如此),但我的本地 subversion 工具是旧版本。
事实上,hg version --svn
显示:
然而svn --version
显示:
为什么 hgsubversion 报告正在使用旧版本的 Subversion?据我所知,我只安装了 Subversion 1.8.4。
或者这是因为 TortoiseHg 附带的捆绑 SWIG 绑定?我应该尝试其他一些绑定吗?
到目前为止,试图让它发挥作用一直是一种非常令人沮丧的经历。