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
.
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
.
This is on Ubuntu, but I get the same error using VisualSVN on Windows, even after doing the dump / filter there as well.
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.
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).
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.
svndumpfilter
, try using svnadmin dump
with the --exclude
option. It's available beginning with version 1.10. Current version is 1.14.svnrdump
for this particular task. Use svnadmin dump
with direct local access to the repository.PS Or keep using Subversion. It does not impose limits on file sizes.