This patch adds support for serving /{rid}/{nid}/... paths as
GIT_NAMESPACE-d http remotes, using {nid} as the namespace.
Radicle’s on-disk repo storage already uses a Git-namespace-compatible
notion for peer refs (refs/namespaces/*), so it is merely a matter of
passing the right $GIT_NAMESPACE to the git http-backend process.
This way, it becomes possible to directly clone or fetch from URLs like
http://httpd.domain.tld/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git/z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
to directly access the given node’s ref namespace:
$ cd radicle-explorer
$ git remote add intelfx https://iris.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/z6MkqbVudjUcuxUmwWfW6U886CnhoX5wmkEDsAXju9F9UBAo
$ git pull intelfx work/httpd-git-namespace // or fetch, or ...
Instead of mucking about with
$ git fetch origin refs/namespaces/{nid}/refs/heads/{branch}:refs/heads/{branch}
This patch adds support for serving /{rid}/{nid}/... paths as
GIT_NAMESPACE-d http remotes, using {nid} as the namespace.
Radicle’s on-disk repo storage already uses a Git-namespace-compatible
notion for peer refs (refs/namespaces/*), so it is merely a matter of
passing the right $GIT_NAMESPACE to the git http-backend process.
This way, it becomes possible to directly clone or fetch from URLs like
http://httpd.domain.tld/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git/z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
to directly access the given node’s ref namespace:
$ cd radicle-explorer
$ git remote add intelfx https://iris.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/z6MkqbVudjUcuxUmwWfW6U886CnhoX5wmkEDsAXju9F9UBAo
$ git pull intelfx work/httpd-git-namespace // or fetch, or ...
Instead of mucking about with
$ git fetch origin refs/namespaces/{nid}/refs/heads/{branch}:refs/heads/{branch}
Fix lints