#5453 pagure does not support git's "advertised references"
Opened a year ago by daandemeyer. Modified a year ago

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

Metadata Update from @ngompa:
- Issue tagged with: easyfix

a year ago

Metadata Update from @wombelix:
- Issue set to the milestone: 6.0

a year ago

Log in to comment on this ticket.

Metadata