-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Git Error when cloning OF repo #5562
Comments
This is discussed here: From their analysis, it is an issue with our repository and requires a rewrite of the history. Perhaps this can be closed when / if we remove all the old binary libs from the repo with something like bfg. Workaround is to make sure you don't use fsckobjects. |
Just chiming in here... Observing a full checkout on a stable 20mbit/ internet connection just now it took me 7 hours. (It wasn't just download, it was creating the whole git structure for numerous binary releases (1.4gb of garbage)). Issues that have been holding this back:
Now one has to think of the developer the checkout problems for those other than the few who are actively already checked this repo source out in order to contribute. I've shown oF to people in the past; before my own issues, and I've watched them try and check out the repo and give up after an hour of waiting and then go on to download the releases from the oF site. How can we fix this?One of the core must do this. I'd suggest doing a cold run on a fork to test first like I did here: Command to run with BFG (everything I did in 2015 was detailed in #1805 ):
|
Just as a mitigation strategy for people downloading oF: a shallow clone of master will not be too big, and iirc you can submit PRS or merge even from shallow clones with a reasonably new git version. |
While a shallow clone will work in the initial checkout using:
This requires the developer to have advanced knowledge of git in using a GUI Git Program, not natively used in GitHub Application and or require them to use bash/terminal. Adding to that, once a shallow clone is complete, any pulls from any branch living this bloated binary tree will from any GUI Application, SourceTree, GitHub, TortoiseGit will fill up the cache with the whole history including the binaries regardless and same problem applies. |
Also you literally cannot push a commit from a shallow clone... so Developers who shallow depth clone cannot Pull Request. This is massive.
For Reference: The Command to Unshallow depth the repo is:
|
Sorry but this is not true. What is your git version? I just tried this successfully, with a "typical" workflow of creating a feature based on current master:
|
@danoli3 as @bilderbuchi says the recommended way to clone OF now if you don't have a very good connection is to use a shallow clone, latest git versions should allow to push without problem from such a clone. We removed all binaries already so a shallow clone should be really small. Ideally we would remove them from the whole history but that would break every PR which would be really problematic. Not sure there's a solution for this that won't break PRs or any other commit references. Perhaps in some time when all valid PRs reference to a commit after we removed all binaries there might be another solution? Or perhaps we could create a github bot that takes a list of old hash new hash correspondences an updates every reference in PRs and issues |
It's not only about open PRs, if you rewrite the public history also every one of the (currently) 1911 forks on Github, and all those on users' harddisks or wherever on a computer lose the ability to sync/pull/push from the OF root repo, and therefore need to be force-updated. |
It’s 911 more forks now than it was when we tried to fix this 2 years ago
and it’s only going to get worse.
And seriously @bilderbuchi, I know you are also invested in this and still
hope for a better less hash changing option, but as far as we can tell, we
just need to rip the bandaid off sooner than later
What we suggest to do is GitHubs own recommendation for this situation.
https://help.github.com/articles/what-is-my-disk-quota/
I don’t know what else to say.
It needs to be done.
It’s massive and requires so many processes and safeguard in place yes, but
that’s what Apothecary and all the build scripts and all the other work was
leading to... to removig the binaries from the repo.
So stage one was completed and so much better as well with automated
releases as everything with built binaries from a controlled safe bot.
I’m all for a PR bot if that’s possible. That would definitely make this
all easier!
I’m yet to be back at my build machine to test the shallow clone test case.
I’ll get back to you with the results tomorrow.
…On Mon, 9 Oct 2017 at 11:50 pm, Christoph Buchner ***@***.***> wrote:
It's not only about open PRs, if you rewrite the public history also every
one of the (currently) 1911 forks on Github, and all those on users'
harddisks or wherever on a computer lose the ability to sync/pull/push from
the OF root repo, and therefore need to be force-updated.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5562 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAytHL4pzm3aoH3yeru8uXNIfVLaxnw2ks5sqhazgaJpZM4NDbqt>
.
|
I am sure that if you volunteer as the main contact point for when people's forks/PRS/workflows break after doing this, @arturoc will be very glad. This problem just has no "nice" solution, which is why I always try to educate git learners to be very strict about what gets into a repo. Also, you misread the situation - I have not been particularly invested in this since I withdrew from OF work quite long ago now. I can't avoid wearing my "git hat", though, and try to check and correct overly broad statements like "shallow repos can't push/PR". ;-) |
So it seems a shallow clone will not work for anything except for master. Master seems to resolve just fine submitting PR's from a shallow clone, but as soon as you deal with another branch, especially one that branches off before the shallow clone depth, you get rejected if you do manage to check out that branch using bash. Super weird git magic |
Well, it's not a surprise that you can't pr if the branching point is before the shallow clone depth - if git does not have the whole relevant history, how should it compute the changes? That would be magic, not the observed behaviour. |
I get an error trying to clone OF.
I think it is due to me updating my
.gitconfig
recently with:Not sure how serious this is, I couldn't find much on it... But I thought I should report just in case.
The text was updated successfully, but these errors were encountered: