Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mirror all JDownloader repositories #47

Open
darkdragon-001 opened this issue Mar 27, 2020 · 4 comments
Open

Mirror all JDownloader repositories #47

darkdragon-001 opened this issue Mar 27, 2020 · 4 comments

Comments

@darkdragon-001
Copy link

Please also mirror dependency repositories:

  • AppWork Utilities: svn://svn.appwork.org/utils
  • JDBrowser: svn://svn.jdownloader.org/jdownloader/browser
  • MyJDownloader: svn://svn.jdownloader.org/jdownloader/MyJDownloaderClient
@T3rm1
Copy link

T3rm1 commented May 21, 2020

Why do they even still use SVN?

@milahu

This comment has been minimized.

@milahu
Copy link

milahu commented Oct 3, 2021

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
Copy link

milahu commented May 12, 2022

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 ; )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants