Learn more about these different git repos.
Other Git URLs
Pagure does not seem to support git's "advertised references" feature causing "git clone https://github.com/systemd/systemd.git --no-tags --depth 1 --recurse-submodules --shallow-submodules" to fail with the following error when the submodule does not track the latest commit on the systemd master branch on code.opensuse.org (which is backed by pagure):
""" error: Server does not allow request for unadvertised object 37aca188c2ef606319217b30ff8b0c66df6c60f1 fatal: Fetched in submodule path 'pkg/opensuse', but it did not contain 37aca188c2ef606319217b30ff8b0c66df6c60f1. Direct fetching of that commit failed. """
Other git forges do support this feature. It would be great if pagure could support the "advertised references" or if it is already supported, include the last X commits (50 or 100 or so I would guess) commits as advertised references so that a git checkout with --shallow-submodules and --depth=1 still works if the submodule does not track the latest commit on its configured branch.
Supposedly, to make this work, the following git configuration has to be applied server side:
""" [uploadpack] allowTipSha1InWant = true allowReachableSHA1InWant = true allowAnySHA1InWant = true """
Basically, we need to change our project creation method to set these flags.
This is pagure.lib.tasks.create_project(): https://pagure.io/pagure/blob/c15e7251f70b2280e272698183c10554da02d3aa/f/pagure/lib/tasks.py#_222
pagure.lib.tasks.create_project()
Metadata Update from @ngompa: - Issue tagged with: easyfix
Metadata Update from @wombelix: - Issue set to the milestone: 6.0
Log in to comment on this ticket.