-
Notifications
You must be signed in to change notification settings - Fork 352
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
Limit Rugged Control Repo refspec #1412
Conversation
Some Git platforms (e.g. GitLab) store additional references beyond the ones typically found in refs/heads for various tracking/historical reference purposes. For Control Repos which have been around a long time these additional refs can number in the tens of thousands. Refs that numerous seem to cause issues with some versions of Rugged being unable to properly clone and reference the Control Repo. This patch limits Control Repo reference fetching to refs/heads, which is all R10K should need anyways. See https://docs.gitlab.com/ee/development/gitaly.html#gitlab-specific-references for details on some of these additional references.
9b9ceca
to
c582010
Compare
Thanks for the PR, Sean. I'll try to figure this out this week. I'm surprised that the |
Hi Justin, thanks for the quick update. The As far as the refspec, adding Hope that helps, thanks for taking a look at it! |
Thanks for clarifying the gitlab usage! The repository in the codedir (both the environment and any git modules within it) are A brief repro with shellgit shows this, though it also seems to be using
|
From what I can find in the docs the default behavior of git is to pull down any tags that are reachable from a head that is being fetched. So pulling down all of I tested this by installing a dev build of PE, updating pe-r10k as done in this PR and pulling down a control-repo that used git modules with tags. I then, in a module that the control repo was pulling down, created a non-default branch with a new commit and tag on it, pushed that to Github, and updated my control repo to only reference that tag. It was able to deploy just fine. |
Some Git platforms (e.g. GitLab) store additional references beyond the ones typically found in refs/heads for various tracking/historical reference purposes. For Control Repos which have been around a long time these additional refs can number in the tens of thousands. Refs that numerous seem to cause issues with some versions of Rugged being unable to properly clone and reference the Control Repo.
This patch limits Control Repo reference fetching to refs/heads, which is all R10K should need anyways.
See https://docs.gitlab.com/ee/development/gitaly.html#gitlab-specific-references for details on some of these additional references.