trace: make same-call worktree comparison Git-clean aware

Offen
#3,699 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
git, go
Bereich
cli, devtools

Rechercherichtung

Read the linked issue #3625 and PR #3631 to understand same-call checkpoint reconciliation and the decision to compare staged blobs with worktree bytes. Start by locating that comparison and its existing tests in the repository; the issue does not name specific files. Add coverage for attribute sources, text and EOL conversion, filters, and mode semantics. Done means Git-compatible conversion where safe, with uncertain paths kept pending and repository-controlled filters never run implicitly.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

chainloop component/CLI trace-provider

Context

Follow-up to #3625 and PR #3631. The PR is being narrowed to a raw staged-blob versus worktree-byte comparison, as requested in maintainer review.

That conservative comparison can keep a pending range when Git would consider the worktree clean. This issue tracks complete gitattributes and clean-conversion behavior separately.

Scope

  • honor attribute precedence across system, global, repository, nested, and .git/info/attributes sources;
  • honor core.attributesFile;
  • reproduce text and EOL normalization, including text, -text, eol, and core.autocrlf;
  • define safe behavior for filter.<driver>.clean and filter.<driver>.process without unexpectedly executing repository-controlled commands;
  • include relevant mode comparison semantics.

Expected behavior

Same-call checkpoint reconciliation should distinguish a real unstaged edit from bytes that differ only because Git's clean conversion changes the indexed representation. Attribution must stay conservative when a configured transformation cannot be reproduced safely.

Acceptance criteria

  • Tests cover global, local, nested, and info attribute sources.
  • CRLF/LF behavior matches Git for text and binary paths.
  • No-op and transforming clean filters have explicit, tested behavior.
  • Repository-controlled filters are not executed implicitly without an approved security design.
  • A documented fallback keeps uncertain paths pending instead of consuming attribution.
Vorherrschende Sprache
Go
Sterne
582
Forks
61
Ø Merge
12 Std. 47 Min.
Gemergte PRs (30 T.)
137

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus chainloop-dev/chainloop

Alle Issues in chainloop-dev/chainloop

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.