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

Abierto
#804 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@ThomasK33 ya está trabajando en esto.

Desde el 12/11/2026.

  • #809 de @ThomasK33 — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
20/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
aws, git, go

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Go
Estrellas
0
Forks
0
Merge medio
6 h 16 min
PR fusionados (30 d)
243

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de coder/openstorage

Todos los issues de coder/openstorage

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.