githttp: +import remote serves clone and fetch, and its pushes stay out of the normal branch list
維護者通常 1 天內回覆
評估
研究方向
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.
由索引模型根據 Issue 內容生成。
描述
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
- 主要語言
- Go
- 星號
- 0
- 分支
- 0
- 平均合併
- 6 小時 16 分鐘
- 30 天內合併 PR
- 243
環境準備
- 提供 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
coder/openstorage 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 72/100
coder/openstorage#807 ·
維護者通常 1 天內回覆
-
難度 4/5 3-5 天 新手友好度 49/100
coder/openstorage#806 ·
維護者通常 1 天內回覆
-
api: merge/preview ignores strategy, squash and allow_unrelated_histories可能已有人在做 @ThomasK33 今天認領。 未關閉
難度 4/5 3-5 天 新手友好度 35/100
coder/openstorage#805 ·
維護者通常 1 天內回覆
-
api: branches/create ignores expected_target_sha, so a guarded create or move can overwrite a branch可能已有人在做 @ThomasK33 今天認領。 未關閉
難度 4/5 3-5 天 新手友好度 35/100
coder/openstorage#803 ·
維護者通常 1 天內回覆
-
githttp: hide ephemeral refs from the persistent remote and refuse pushes to them, as the docs say可能已有人在做 @ThomasK33 於 1 天前認領。 未關閉
難度 4/5 3-5 天 新手友好度 35/100
coder/openstorage#799 · 2 則留言 ·
維護者通常 1 天內回覆
查看 coder/openstorage 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 86/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 68/100
coder/coder-logstream-kube#255 · 1 則留言 ·
-
[FEATURE]: 录入 AIDEV Agent Package v1 接入参考文档可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉kind/features
難度 2/5 1-3 小時 新手友好度 73/100
TencentBlueKing/bk-nodemgr#3991 ·
維護者通常 1 天內回覆
-
meta
難度 2/5 1-3 小時 新手友好度 62/100
last9/last9-mcp-server#554 ·
維護者通常 1 天內回覆