Skip to content

Allow filters when advertising refs

Patrick Steinhardt requested to merge pks-smarthttp-upload-pack-filter into master

When fetching via smarthttp with filters enabled, then the client currently gets a warning about the server-side not knowing any of the filters that the client provides and as a result all filters are ignored. Naturally, the result is not what the caller usually intends.

Support for filters has been originally implemented for our smarthttp service in commit a5595e79 (Allow upload pack filters with feature flag, 2019-08-08), seting up required options for the upload-pack service. The problem with this is that a clone is in fact a multi-phase process for smarthttp, most importantly it involves the rev-advertisement and then upload of the pack generated based on advertised revs. So while filter feature flag was correctly honored in the upload-pack phase, the rev advertisement doesn't yet and thus also doesn't set up required config options for git-upload-pack(1). As a result, the client will notice that the server doesn't support desired filters in the rev-advertisement phase and as a result turn it off.

Fix the issue by respecting the UploadPackFilter feature flag in our inforefs service, which handles git upload-pack --advertise-refs amongst others, adding in required flags.


This is part two of #2510 (closed), fixing filters for smarthttp.

Edited by GitLab Release Tools Bot

Merge request reports