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

Stop using emacsmirror-mirror #700

Closed
raxod502 opened this issue Feb 24, 2021 · 8 comments
Closed

Stop using emacsmirror-mirror #700

raxod502 opened this issue Feb 24, 2021 · 8 comments

Comments

@raxod502
Copy link
Member

Per @tarsius in #356 (comment), the epkgs repository is now much smaller, and we have no need for mirroring it to https://github.com/emacs-straight/emacsmirror-mirror.

We can make sure the emacsmirror recipe repository in straight.el is still operational with the latest version of epkgs, and then switch the default value of straight-recipes-emacsmirror-use-mirror back to nil (& update associated documentation).

@raxod502
Copy link
Member Author

(We should make sure the new repo is actually small enough to have negligible clone time; otherwise it'd make sense to continue with the current solution.)

@tarsius
Copy link

tarsius commented Feb 24, 2021

Lots of labels...

@raxod502
Copy link
Member Author

Heh, I started tagging these issues a long time ago and I can't stop now! :D

progfolio added a commit to progfolio/straight.el that referenced this issue Mar 3, 2021
@progfolio
Copy link
Contributor

progfolio commented Dec 20, 2021

(We should make sure the new repo is actually small enough to have negligible clone time; otherwise it'd make sense to continue with the current solution.)

Mirror mirror on the wall, who's the fastest of them all?:

(ins)n@nbook:tmp $ time git clone git@github.com:emacs-straight/emacsmirror-mirror
Cloning into 'emacsmirror-mirror'...
remote: Enumerating objects: 535, done.
remote: Counting objects: 100% (344/344), done.
remote: Compressing objects: 100% (253/253), done.
remote: Total 535 (delta 142), reused 293 (delta 91), pack-reused 191
Receiving objects: 100% (535/535), 149.81 KiB | 2.67 MiB/s, done.
Resolving deltas: 100% (217/217), done.

real	0m0.627s
user	0m0.111s
sys	0m0.015s
(ins)n@nbook:tmp $ time git clone git@github.com:emacsmirror/epkgs.git
Cloning into 'epkgs'...
remote: Enumerating objects: 6067, done.
remote: Counting objects: 100% (1833/1833), done.
remote: Compressing objects: 100% (581/581), done.
remote: Total 6067 (delta 1407), reused 1673 (delta 1252), pack-reused 4234
Receiving objects: 100% (6067/6067), 22.85 MiB | 5.17 MiB/s, done.
Resolving deltas: 100% (4625/4625), done.

real	0m53.988s
user	1m25.971s
sys	0m1.482s
(ins)n@nbook:tmp $ 

I ran this several times for each and got similar results.
The mirror-mirror seems like it's still worth it to me.

@tarsius
Copy link

tarsius commented Dec 20, 2021

I git repack -a -d and pushed the result to a new temporary repository. Cloning that takes 25 seconds instead of 41 (instead of 2 for the mirror mirror).

This could get better once repacking kicks in on github's side but then it will gradually get worse again until...

So I think cloning this repository just takes about 1/2 to 1 minute and there's not much we can do about it. Whether that means you need to use a stripped down repository is up to you. IMO its okay if the initial clone is slow, subsequent fetches will be faster.

@raxod502
Copy link
Member Author

I think given the infrastructure is already set up for the mirror-mirror, it makes sense to leave it in place unless it starts to create a maintenance burden.

@tarsius
Copy link

tarsius commented Jul 29, 2023

No harm in keeping that, but could you please update the documentation, which still claims:

straight-recipes-emacsmirror-use-mirror: Yes, there is also a mirror for Emacsmirror. This is because the epkgs repository contains a (frequently updated) SQLite database in it, which means the Git repository takes forever to clone (see #356).

It now contains a text file with sql statements that is used to re-generate the binary database locally.

@raxod502
Copy link
Member Author

raxod502 commented Aug 2, 2023

Done in 325f2ca.

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

No branches or pull requests

3 participants