OP here. For posterity, I wanted to add what my ultimate solution to this problem was. I will keep the best answer checked, because it's actually the best answer when things go smoothly.
First, I tried the selected answer from Doc Brown: https://softwareengineering.stackexchange.com/a/370419/291998
But the svnadmin dump
command failed about halfway into the dump (about 1 day into the dump), with a corrupted revision. This was a consistent point of failure. Attempts to bypass this specific reference, through careful use of the revision flags to svnadmin dump, I was able to produce a full dump, however, attempts to filter binary files out of the 73 GB dump file were met with additional frustration. I did manage to make some dumps of particular branches, but this was useless to me for a full migration.
Ultimately, I ended up using git-svn to do this:
nohup git svn init https://myurl.com/projects/myproject/ --no-minimize-url --no-metadata --stdlayout &
Using git-svn
on such a large repository was not without issues. It regularly choked during the processing. Fortunately, git svn fetch
could be issued to resume to conversion at each stopping point. I wrote a small wrapper script that would continue issuing that command upon failure.
Having said all of this, git-svn is not recommended for this task, see this article: http://esr.ibiblio.org/?p=6778
But this was ultimately the only tool I could get to work. For stripping the binary files, I used BFG repo cleaner https://rtyley.github.io/bfg-repo-cleaner/
filter-branch
command which can be used to bulk-rewrite history. Removing files from the complete history is one use case. However, this is pretty advanced functionality so be sure to test this carefully first. If you have questions about its usage, those might be better for Stack Overflow as this site is about software engineering concepts. Note that Git has the concept of Large File Storage specially for large binary assets that should not be part of the main repo. – amon May 3 '18 at 19:24