问题标签 [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 - 在中断提交后修复存储库 Mercurial + hgsubversion
我正在使用 hgsubversion 扩展将 TortoisHg 的 3 个变更集推送到 SVN 存储库。由于网络中断,进程挂了很长时间,我关闭了 TortoiseHg(它要求中断操作,我说是)。
现在存储库似乎以某种方式被破坏了。这三个变更集似乎没有被推送(阶段=草稿,“转换自”列中没有修订号),但我无法推送它们。它说类似“父 SVN 修订版不是头部修订版”。我尝试了各种变基,并将更改导出到补丁并返回,但它没有帮助。
然后我发现,如果我查看 SVN 存储库,其中 2 个变更集实际上就在那里。只是我的善变回购没有意识到这一点。拉没用。所以我对所有三个都使用了 MQ->Strip 命令来删除它们,然后我尝试从 SVN 中提取它们。但是 mercurial 没有拉任何东西,它说没有检测到任何变化。所以我的 SVN 存储库还有两个变更集,然后是 mercurial 存储库。
如何修复存储库,使其再次工作?
如果有帮助,我在制作“剥离”之前拥有整个内容的副本,以及导出到 *.patch 文件的所有三个变更集。
显然,我不想从头开始从 SVN 获取所有内容,因为这些是数千个修订版,并且有一些我需要但从未使用 SVN 的分支。
version-control - 在不从远程存储库中删除的情况下取消跟踪文件
在我们公司,我们刚开始使用 Mercurial,我们面临以下问题:
我们在远程存储库中有一些文件由每个开发人员更改以添加一些本地配置,但这些文件绝不能在远程存储库中更改。
有没有办法告诉 Mercurial 停止在本地跟踪这些文件而不对远程存储库上的文件进行任何更改?
我们尝试过,hg forget <file>
但据我了解,这将从远程存储库中删除文件。
我们还尝试将这些文件添加到.hgignore
文件中,但不知何故这些文件并没有真正被忽略,我猜 Mercurial 这样做是因为文件已经被跟踪。
到目前为止,我们只是在执行提交时忽略文件,shelve
并在更新后用于维护和恢复本地更改,但这开始成为一项非常乏味的任务。
提前感谢您的帮助。
编辑:虽然它没有完全解决我们想要的问题,但接受的答案是最好的方法。我们的问题可能是由于设计不当造成的。
svn - 复制并减小 SVn 存储库的大小
我有一个巨大的 SVN 存储库,大小约为 1TB。我有以下两个要求,我想知道要遵循的最佳方法以节省时间和精力。
- 在更短的时间内复制 1TB 的整个存储库并创建另一个 SVN 存储库。
- 如何在不影响文件完整性和版本的情况下大幅减少 Repos 大小?在这里,我的存储库大小为 1TB,我想在不删除任何文件的情况下使其更小?这样做的方法是什么.....?
linux - 如何为现有的 SVN-subversion 服务器添加新用户帐户?
我有一个现有的 SVN 服务器,我需要添加更多用户以使用 subversion 客户端进行连接以进行结帐、更新和提交。我阅读了有关如何将新用户添加到 svn 服务器的文档(http://svnbook.red-bean.com/en/1.7/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.auth.users ),但我想不出一个好主意。请有人帮我找出添加新用户和授予权限的正确方法。
我的问题是我有一个具有管理权限的用户“aaa”的 SVN 服务器。我需要添加另一个具有相同权限的用户调用“bbb”。
- 设置 SVN 服务器后可以使用 svn 命令创建新的用户帐户吗?
- 还是我需要手动编辑现有的 .conf 文件来为 SVN 服务器添加新用户?
服务器操作系统为 CentOS 6.3
svn - 如何将一系列修订从 svn 推送到 hg
我正在尝试从 Subversion 迁移到 Mercurail (Hg)。对于那个过程,我使用hg convert
命令。我只希望将一年前的最新版本迁移到 Mercurial。我尝试使用以下命令
但是上面的命令只迁移早于 4234 的版本(4233, 4232,..... ,1 ,0)
如何从HEAD
指定版本迁移到 mercurial。
mercurial - 使用 hgsubversion 推拉,无需手动搁置步骤
我将 TortoiseHg 与使用 hgsubversion 扩展的 SVN 存储库一起使用。
我喜欢hg pull --rebase
在拉动时使用,以反映 SVN 在svn update
. 因为我使用的是 hgsubversion,所以无论如何我都需要在推送之前进行 rebase,所以我不妨一步完成。
此外,hg push
将自动在内部进行变基,这是没有办法的。
我的困难是,hg rebase
如果我有任何未提交的更改,它将拒绝工作。因此,要从 SVN 推送或拉取,我总是需要hg shelve
先做,然后再记得做hg unshelve
。这真的很烦人,我总是忘记。
理想情况下,我想告诉 TortoiseHg 自动为我执行此操作,但我会接受命令行别名。我尝试按照此处的建议svnpull = !hg shelve && hg pull --rebase && hg unshelve
在我的配置中放置一个别名,但我得到一个错误“用户:中止:预期响应”,而不是被要求输入我的密码。每次与中央存储库交互时,我可以做些什么来避免手动搁置/取消搁置步骤?
我实际上不能在本地提交我的更改而只是避免推送本地更改,因为hgsubversion 不尊重秘密阶段并且hgsubversion 不支持指定要推送的修订。所以不幸的是,这个类似问题的答案都不适合我。无论如何,我需要手动步骤来安排我的“仅限本地”变更集始终处于提示状态。
svn - 子存储库或 guestrepo 中的 Mercurial 部分克隆
是否可以将 mercurial 存储库的部分克隆作为子存储库或 guestrepo?
描述:
给定一个https://blah/hg/foo/
名为的仓库foo
和另一个名为cat
的仓库,我想cat
从某个目录下创建一个 guestrepo foo
,例如。从中。c
_foo:/a/b/c/
据我所知c
,它不能作为独立的存储库使用。foo
假定只读访问。
我的意图是让cat:/d/e/c/
客人位置,如果foo:/a/b/c/
发生变化,则更新。这被认为是与svn:externals
in类似的行为svn
。
Guestrepo扩展:
我开始尝试GuestrepoExtension:
.hggrmapping
:
.hgguestrepo
:
问题是我不知道如何引用子目录,因为我不需要整个foo
存储库,只需要这个目录及其内容。
根据https://www.mercurial-scm.org/wiki/PartialClone部分克隆/子目录的克隆未在 mercurial 中实现(提到的Bug 105自 2012 年以来已关闭)。这就是为什么,
子库:
目前我求助于使用子存储库,因为巧合的是,该c
目录存在于 svn 镜像中。
.hgsub:
这有一个缺点,我不想依赖外部版本控制,即。svn
、存储库和工具可用性。
这可以以某种方式纯粹以善变的方式处理吗?
svn - 同步 svn 和 mercurial repo
我们有一个活跃的 svn 存储库,我们正在计划迁移到 mercurial。这个想法是创建一个新的 mercurial 存储库,将 svn 存储库与历史同步,为其创建一个 teamcity 构建,然后将两个开发人员转移到 mercurial 上进行试验,并确保它的所有内容都符合要求。
这意味着我们需要 svn 和 mercurial 之间的双向同步。我已经看到这个链接Syncing SVN to Mercurial using svnsync & hg convert -- misses svn:externals? 哪种描述了一种方式,但它相当笨重且手动。
有没有更好的方法来实现这一目标?
谢谢阅读
svn - 将 svn 文件夹同步到 mercurial repo
这是来自Sync svn and mercurial repo的后续问题
该解决方案效果很好,但是我们想要做的是通过将许多特定文件夹克隆到一个 mercurial repo 来分解一棵树,因此我们将命令修改为
hg 克隆https://username@serverAddress/svn/MainRepo/SubFolder/Folder/ --insecure
这给了我们一个
错误:[SSL: UNKNOWN_PROTOCOL] 未知协议 (_ssl.c:661)
有什么帮助吗?
谢谢阅读
mercurial - hgsubversion 失败并显示“没有名为 repo 的模块”
我更新了我的 Ubuntu 安装,它更新了我的 mercurial 版本,现在 hgsubversion 不再工作了。我不断收到一条错误消息,上面写着“中止:没有名为 repo 的模块!” 我的 hgsubversion 副本似乎与http://hg.durin42.com/hgsubversion/是最新的。