githttp: +import remote serves clone and fetch, and its pushes stay out of the normal branch list

Aperta
#804 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@ThomasK33 ci sta già lavorando.

Dal 12/11/2026.

  • #809 di @ThomasK33 — aperta

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
aws, git, go
Ambito
backend, databases

Direzione di ricerca

Start with the internal/githttp hook and trace how +import handles upload-pack, hydrate, quota, LFS, ref policies, webhooks, and the S3-WAL backend. Coordinate with PR #800 and check how existing refs under the import namespace are stored. The issue calls for +import pushes to create normal branches, upload-pack to be refused, and pushes to synced repos to be rejected.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

Upstream's docs page docs/repos/imports (last-modified 2026-11-11 21:43 GMT) says the /{repo}+import.git URL accepts a push only, that an import push creates normal branches that a normal clone shows, and that a synced repo refuses an import push.

Live on a node at 3af232d9: an import push worked, clone and ls-remote on +import both succeeded, and the pushed branch did not appear on the persistent remote or in the REST branch list. docs/explanation/wire-compatibility.md lists +import as a supported namespace with no deviation row. The synced-repo refusal was not tested.

Desk decision

Make +import match the upstream page. Design check first, posted here before code: how +import is wired today (internal/githttp hook, hydrate, quota, LFS), whether an import push must write the persistent ref space directly, how the hook, ref policies, quota, webhooks and the S3-WAL backend handle it, and what happens to refs already stored under the import namespace. Then refuse upload-pack on +import, write import pushes into the normal branches, and refuse an import push on a synced repo. Breaking for anyone who fetches from +import today. Coordinate with PR #800, which hides refs/namespaces/ on the persistent remote.

Severity

High: imported branches are invisible to every normal client.

Upstream audit 2026-11-12, evidence 2026-11-12-1159UTC. Docs spec 5d8e1801 (ETag W/"8GUlAlKU8eko7Rr2", Last-Modified 2026-11-10 22:29:59 GMT). The cluster still serves ee8092bf, so this is documented drift, not a proven deployment (#234 rule: adopt what the docs publish). SDK 0.1.1 (Nov 10) and 0.1.2 (Nov 11) shipped on npm, PyPI and Go; their route list and token minting are unchanged from 0.1.0.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: medium

Lingua principale
Go
Stelle
0
Fork
0
Merge medio
6h 16m
PR unite (30g)
243

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di coder/openstorage

Tutte le issue di coder/openstorage

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.