问题标签 [svndump]
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 - 可以用 svnrdump 指定转储文件版本吗?
我需要创建一个网络存储库的转储文件。我想使用网络友好的 svn 工具svnrdump来做到这一点,而不是常规的 svndump。但是,我还需要使用svndumpfilter工具,因为这个 repo 中有很多我不需要的东西(许多项目共享这个 repo,我只想转储一个项目)。
尝试使用 svndumpfilter - 时遇到以下错误E140001: Unsupported dumpfile version: 3
。根据这篇文章,这是由于 svnradmin 使用的 svn 转储文件格式比 svndumpfilter 可以处理的新版本。
我的问题是,在使用 svnrdump 时可以指定所需的转储文件格式版本,以便我可以使用 svndumpfilter 吗?
svn - 制作小写路径并包含在 SVN 转储中
我有一个 C++ 项目库,我正在准备从 Windows 到 Linux 的端口。同时我需要通过 svn dump 重新组织存储库。
我想使用 SED 将 svn 转储中的所有文件名和目录设为小写,然后再次重新创建 SVN 存储库。
也许我也可以使用 svn dump 和 SED 将所有 #include "something.h" 设为小写,但在这种情况下我应该忽略校验和。无论如何,我可以通过一些不区分大小写的目录比较工具来比较新存储库和旧存储库的结果。
我应该如何使用 SED 处理 svn dump 以使所有文件名和目录(包括)小写?
我希望它应该是这样的我可以在 svndumpfilter 包含语句中使用正则表达式吗?,但我不太了解 SED 和正则表达式。
转储需要从
至
还有属性 Node-copyfrom-path,也需要更改。
svn - SVN 负载转储到确切文件夹
有一个带有一个分支的标准颠覆布局:
回购_1
repo_root
|-branches
|-branch_one
|-tags
|-trunk
第二个存储库
Repo_2
repo_root
|-branches
|-tags
|-trunk
|-folder1
我想将Repo_2/trunk/folder1内容导出到Repo_1/branches/branch_one/folder1
我正在制作文件夹转储:
svnrdump dump svn://mysvnserver/Repo_2/trunk/folder1 > folder1.dump
然后将其加载到我的Repo_1:
svnadmin load Repo_1 --parent-dir branches/branch_one < folder1.dump
并获得以下Repo_1结构:
repo_root
|-branches
|-branch_one
|-trunk
|-folder1
|-tags
|-trunk
获取我不需要的主干文件夹。有没有办法将我的“folder1”直接插入“branch_one”?
svn - 删除错误提交后的 VisualSVN 损坏表示
在关注https://groups.google.com/forum/#!topic/visualsvn/2LpBN8qtEfM
以下过程描述了如何在极端情况下“撤消”对 svn 存储库(fsfs 后端)的最后一次提交:(在实际应用之前,请在您的环境中的“测试”存储库中对其进行彻底测试)假设错误的修订号是$BAD_REV
- 停止可视 svn 服务器。
- 备份您的所有存储库(以防止不幸的情况发生,如果发生)
- 转到“存储库”文件夹。
- 选择您需要在其中“撤消”最后一次提交的特定存储库。
- 编辑 db/current 并减少第一个数字。那是 HEAD rev。
- 删除
db/rev/$BAD_REV
- 删除
db/revprops/$BAD_REV
- 启动可视 svn 服务器。
注意:要求所有用户删除使用的结帐$BAD_REV
并重新使用($BAD_REV
减1)结帐。
在此过程之后的第二次提交后,我收到以下错误:
错误提交失败(详细信息如下):
错误损坏表示'199 10142 111 1475(空)
错误d18718662872fab9aa981c20a47921768f567189(空)
不知道如何解决这个问题,我不想创建一个新的存储库。
svn - 哪些工具会在路径头中生成带有前导斜杠的存储库转储?
SVNBook 告诉生成的存储库转储svnadmin dump
从不包含前导斜杠Node-path
和Node-copyfrom-path
标题。
它还告诉一些 3-rd 方工具(脚本?)可以生成 Subversion 存储库转储,这些标头中带有前导斜杠。
这些标头中斜线的不一致使用(据我了解,在组合通过不同工具生成的 2 个存储库转储后可能会发生这种情况)可能会在过滤存储库转储时导致问题。
那么哪些工具会在路径标头中生成带有前导斜杠的存储库转储?在什么情况下,存储库转储的前导斜杠使用不一致?
svn - 合并不同 SVN 服务器上的并行提交
我很确定这不能完成,但想看看其他人是否有任何建议。
在迁移到新服务器期间,我从旧服务器中转储了存储库并成功加载了它。开始向新服务器提交,完全没有问题。但几天后,DNS 错误让我再次提交到旧服务器。
现在我已经意识到这个问题,我可以通过再次执行转储和加载过程来轻松解决它,但是我将丢失我提交到新服务器的那几天的更改历史记录。有没有一种方法可以合并这两个存储库,同时保留两者的更改历史记录?
svn - 如何从一个非常大的仓库中获取项目的 svndump
我们有带有项目特定分支和标签的存储库。这里只是我的存储库的快照:
项目代码 =====>>分支
/li>
---- R1
---- R2
---- R3
--- R1_tag
--- R2_tag
项目数据库
=======>> 分支
---- R1
---- R2
---- R3
--- R1_tag
--- R2_tag
现在我只想转储项目代码中的一个分支,然后将此转储加载到同一服务器上的其他存储库。我尝试了以下操作,但这导致在其他 repo 中加载了空修订。
而且我不能按顺序运行以上命令,因为 Repo 太大并且创建转储可能至少需要 10 个小时。此外,忽略 UUID 是为了删除与当前存储库的链接或任何其他原因?请帮助使用特定命令。
svn - SVNDumpFilter 在添加之前更改路径?
我正在使用svndumpfilter
从更大的存储库中提取单个项目并将它们导入到自己的存储库中。像这样的东西:
它在一个项目中运行良好,但在第二个项目中,我注意到生成的过滤转储不是从添加路径开始的。请参阅前两个修订版(重新编号):
Trunk/Source/Project1/Project1.csproj
请注意它是如何在首先添加它之前尝试“改变”的?svnadmin load
毫不奇怪,在过滤转储上运行时,我得到“找不到文件” 。有任何想法吗?
svn - SVN:最小化将项目移动到自己的仓库所需的转储
我原来的问题如下。从那以后我尝试了一些事情,看看我是否可以让它工作。
我有一个看起来像这样的小 shell 脚本:
km.revs.txt
是一个文本文件,仅包含包含/KeyManagment
项目更改的修订。
当我第一次这样做时,我以为我会在之后进行过滤。然而,在转储的第一个修订版km.svndump
中,大小增长到超过 68 GB。哎呀。在第二次尝试中,我通过svndumpfilter
.
这运行了很长一段时间(我nohup
会这样做并不时检查它)。完成后,我得到km.svndump
了显示 UUID、第一个修订版和内存不足错误的信息。显然,我的脚本没有通过要转储的第一个修订版。
任何想法如何继续?
我们有一个存储库,其中包含一个与存储库的其余部分完全不兼容的特殊项目。LDAP 组中的任何用户都可以看到整个存储库Development
。但是,一个项目包含我们只希望从事该项目的人看到的信息。(我们的密钥管理项目)。回购布局如下所示:
/trunk
- 其余部分的主干/branches
- 回购其余部分的分支/tags
- 回购其余部分的标签/KeyManagement
- 特殊的密钥管理项目。
为了防止窥探,我们使用 svn_acces 文件来指定可以看到此内容的用户。这在维护中引起了很多问题,我只想创建KeyManagement
一个具有自己的 LDAP 访问组的单独存储库。(我们已经有多个具有自己的 LDAP 组的存储库)。
问题是我们的 repo 中有超过 175,000 个修订,其中只有 124 个修订与 KeyManagement 项目有关。转出所有 175,000 个修订版大约需要 30 多个小时。如果我可以直接转储我需要的修订,我可以在几个小时内完成整个转储。
另一个问题是这样的:
显然,KeyManagement
曾经也下过/trunk
。我以前使用转储和加载的经验svndumpfilter
是我必须同时转储和/KeyManagement
加载/trunk/KeyMangement
。老实说,我不在乎,/trunk/KeyManagement
因为应用程序完全重做,没有人关心代码。
我了解转储的第一个修订版是完整的修订版。我可以做这样的事情吗:
只需转储与 KeyManagement 相关的修订。我不在乎/trunk
. 从那时起,该项目已经完全修改。我知道修订版,我可以很容易地编写一个 shell 脚本来做到这一点。与 KeyManagement 相关的修订没有任何其他项目与之纠缠。
我只是不想花 40 多个小时来做这件事。
svn - 如何从修订版重新启动 svnadmin 加载
我有一个转储文件,当我与服务器的连接被终止并且加载停止时,我正在加载该文件。我能够进入新的存储库并查看最后一个修订版是什么。从我所读到的内容很少,看来我必须使用现有转储文件的顶部重建转储文件,然后删除与已加载的修订号相对应的部分。
是否可以在无需编辑初始转储文件的情况下开始加载?