简体   繁体   English

加载 svndumpfilter-ed SVN 转储 - “svnadmin: E200003: Delta 源意外结束”

[英]Loading svndumpfilter-ed SVN Dump - "svnadmin: E200003: Delta source ended unexpectedly"

I'm migrating a legacy SVN repository to GitHub, and to remain within the GitHub file size limits I've created a replica of the SVN repository with larger files (that shouldn't really have been in source control anyway) filtered out using svndumpfilter .我正在将旧版 SVN 存储库迁移到 GitHub,并保持在 GitHub 文件大小限制内,我创建了 SVN 存储库的副本,其中包含更大的文件(无论如何都不应该在源代码控制中)使用svndumpfilter过滤掉.

This has worked well, but I've found an additional file I've missed - when I filter out this file and load the resultant dump I get svnadmin: E200003: Delta source ended unexpectedly .这工作得很好,但我发现了一个我错过的附加文件 - 当我过滤掉这个文件并加载结果转储时,我得到svnadmin: E200003: Delta source ended unexpectedly

This is on Ubuntu, but I get the same error using VisualSVN on Windows, even after doing the dump / filter there as well.这是在 Ubuntu 上,但我在 Windows 上使用 VisualSVN 时遇到了同样的错误,即使在那里进行了转储/过滤也是如此。

The command I'm using is:我正在使用的命令是:

svnrdump dump https://my/svn/repo/ | svndumpfilter exclude --pattern "**/gigantic.sql" | svnadmin load repo

And the detailed output is:详细的输出是:

<<< Started new transaction, based on original revision 19826
 * editing path : path/to/apples.sql ... done.
 * editing path : path/to/pears.sql ...svnadmin: E200003: Delta source ended unexpectedly

When I look at r19826 in the source repo, I can see that this was where gigantic.sql was deleted - but of course it's still in the intermediate history so needs to go.当我在源代码库中查看r19826时,我可以看到这是gigantic.sql被删除的地方 - 但当然它仍然在中间历史中,所以需要去。

I've tried adding the --drop-empty-revs and --preserve-revprops options but this hasn't helped (not that in hindsight I'd expect it to).我尝试添加--drop-empty-revs--preserve-revprops选项,但这并没有帮助(事后看来,我并不希望这样做)。

I've dropped lots of other parts of the history with no issue and migrated other repos, so I'm not sure why I'm stuck with this one?我已经毫无问题地删除了历史的许多其他部分并迁移了其他存储库,所以我不确定我为什么要坚持这个?

Thanks.谢谢。

  1. Make sure that you use up-to-date version of SVN command-line tools.确保您使用最新版本的 SVN 命令行工具。
  2. Instead of svndumpfilter , try using svnadmin dump with the --exclude option.尝试使用带有--exclude选项的svnadmin dump而不是svndumpfilter It's available beginning with version 1.10 .它从1.10 版本开始可用。 Current version is 1.14.当前版本是 1.14。
  3. If possible, don't use remote svnrdump for this particular task.如果可能,不要对这个特定任务使用远程svnrdump Use svnadmin dump with direct local access to the repository.使用svnadmin dump直接访问存储库。

PS Or keep using Subversion. PS 或者继续使用 Subversion。 It does not impose limits on file sizes.它不对文件大小施加限制。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM