api: merge/preview ignores strategy, squash and allow_unrelated_histories

Aperta
#805 0 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.

  • #810 di @ThomasK33 — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
go
Ambito
api

Direzione di ricerca

Start by comparing the /repos/merge/preview and v1 handlers with the /merge route’s decision code, then trace how each route reads strategy, squash, and allow_unrelated_histories. Add tests for the listed cases that compare preview results with the merge route’s answer, including the unrelated histories response. Done means the preview matches the merge route for each parameter combination.

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

Descrizione

Problem

Spec 5d8e1801 says GET /repos/merge/preview (and v1) gives the result POST /merge would give with the same strategy, squash and allow_unrelated_histories, adds the results squash and rejected, and documents 412 for unrelated histories. SDK 0.1.2 sends all three.

We read none of them. Live at 3af232d9: strategy=merge gave fast_forward (upstream: merge_commit), squash=true gave fast_forward (upstream: squash), ff_only on diverged branches gave merge_commit (upstream: rejected), and unrelated histories gave 200 merge_commit (upstream: 412).

Desk decision

Read the three params and compute the preview with the same decision code POST /merge uses, so the two cannot drift. Test each case against the merge route's own answer.

Severity

Medium: a client that previews before merging gets a wrong prediction.

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.