mirror / jdownloader

JDownloader mirror
381 stars 103 forks source link

Mirror all JDownloader repositories #47

Open darkdragon-001 opened 4 years ago

darkdragon-001 commented 4 years ago

Please also mirror dependency repositories:

T3rm1 commented 4 years ago

Why do they even still use SVN?

milahu commented 3 years ago

https://github.com/svn2github/jdownloader https://github.com/svn2github/appwork-utils https://github.com/svn2github/jdownloader-browser https://github.com/svn2github/jdownloader-MyJDownloaderClient

the bad news:

This is a clone of an SVN repository at svn://svn.jdownloader.org/jdownloader/trunk. It had been cloned by http://svn2github.com/ , but the service was since closed. Please read a closing note on my blog post: http://piotr.gabryjeluk.pl/blog:closing-svn2github . If you want to continue synchronizing this repo, look at https://github.com/gabrys/svn2github

20 January 2019: Disable automatically updating the repos

milahu commented 2 years ago

sync tool https://github.com/milahu/svn2github - requires github ssh public key

#!/bin/bash
githubUser=milahu
set -e # fail on error
for repoName in appwork-utils jdownloader-browser jdownloader-client
do
  svn2github update $githubUser/$repoName
done
milahu commented 2 years ago

Please also mirror dependency repositories

this also makes sense, because svn://svn.jdownloader.org/jdownloader is a monorepo with 45K revisions and if you do a partial mirror, the revisions are not continuous (aka "sparse")

the jdownloader documentation says we should add the folders separately but most commits are in trunk/ = jdownloader sources so there is only little overhead in using the monorepo

svn2github

i tried to mirror the full repo to github, but github says

[GitHub] Git LFS disabled for milahu

Git LFS has been disabled on your personal account milahu because you’ve exceeded your data plan by at least 150%. Please purchase additional data packs to cover your bandwidth and storage usage:

https://github.com/account/billing/data/upgrade

Current usage as of 12 May 2022 02:50AM UTC:

Bandwidth: 0.0 GB / 1 GB (0%)

Storage: 1.6 GB / 1 GB (160%)

i guess 1.6GB means the bare git repo size (du -sh .git/)

anyway, i gave up on mirroring this to github

but i still have a mirror on sourceforge: https://sourceforge.net/p/jdownloader-svn-mirror-milahu/code/HEAD/tree/ this can be cloned with rsync in about 8 minutes

rsync -r rsync://svn.code.sf.net/p/jdownloader-svn-mirror-milahu/code/ ./jdownloader --verbose

problem is, you cannot verify the integrity of my mirror so to make sure, you still need to fetch the original svn repo

svnsync of the original repo takes 6 hours (plot) svnrdump should be much faster

svnrdump dump --quiet --incremental --revision 0000:0999 --file svn-dump.0 svn://svn.jdownloader.org/jdownloader
svnrdump dump --quiet --incremental --revision 1000:1999 --file svn-dump.1 svn://svn.jdownloader.org/jdownloader
svnrdump dump --quiet --incremental --revision 2000:2999 --file svn-dump.2 svn://svn.jdownloader.org/jdownloader
# ...

to convert svn to git, i use svn-all-fast-export which is much faster than the old svn2github implementation via git svn fetch

i wrapped everything into a python script svn2github which is not perfect, but it's a start

happy mirroring ; )