Hey folks,
This is an update to: https://sh.itjust.works/post/580838
On https://github.com/csm10495/commit-ment, I made it to somewhere around 22 million commits. I can't imagine this is not a world record for commits to a single branch. In the middle of the night, I got an email from GitHub support saying:
A few minutes later, I got another email like so:
I've asked them if the two emails are related (and I guess if the first one is some sort of error since there was no personal info in that repo). I've also asked if they can give any information about what triggered the email and if they can give me more info about what it looks look on their side.
I've also asked if they can re-enable it so I can give one more commit to say the final results on the readme then (public) archive it.
We'll see what they say.
Doing a pull is interesting at the moment, it shows:
git pull origin master --no-rebase -vvv
ERROR: Access to this repository has been disabled by GitHub staff due to
excessive resource use. Please contact support via
https://support.github.com/contact to restore access to this repository.
Read about how to decrease the size of your repository:
https://docs.github.com/articles/what-is-my-disk-quota
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Similar thing happens if you try to clone: [email protected]:csm10495/commit-ment.git
So yeah, I figured this would happen sooner or later. I just hope they can tell me a bit more about what it looks like on their side since managing this repo on my box is a pain, I can't imagine what it could look like on theirs. I'm also curious how pull requests could merge at such a rate given that just doing a pull on my end could take minutes. So many questions!
This whole project was really just for curiosity on my end, so anything I can learn/find out is much appreciated on all ends.
Anyways, just figured I'd update y'all.
What's the final size of the git folder?
What's the final time and CPU usage to process the different git commands?
Last check was over 8GB
A full (or full master branch) clone was well over 4 hours. A shallow (
--depth 1
) clone would take like 5 seconds. Apull origin master
on a local copy that was less than 2 days old was well over an hour.I was using GitHub Actions to get the latest 'total commit count'. I was actually using https://github.com/actions/cache to cache a full repo clone,
pull origin master
then update that cached copy after to not have to do a full repo clone each time. At that point run arev-list
command to get the count.Doing that process would take a few minutes.
I also recently started having GitHub Actions make more branches to be auto merged into master. They allow actions to be run every 10 minutes, so I was having it make commits for 10 minutes then it would push temp branches that would be PR'd and merged via the gh cli by my locally running instance.
Just that 10 minutes of commits would be over 4500 commits per branch. Doing the push from that point would take about 2 minutes.
Did you try any blobless or treeless clones? They're ways to more easily clone large repositories you don't need the full history of.