jj log dazu bringen, über das Remote zu sprechen
Teil 6 von 9.
Was mich jj log als Alltagswerkzeug vertrauen ließ statt als Spielerei, war zu
sehen, wie der Remote-Zustand ohne zusätzliche Zeremonie darin auftaucht.
jj git fetch aktualisiert jjs Sicht auf jedes Remote-Bookmark, und das
Standard-Log-Template annotiert Commits bereits mit den Bookmarks, ob lokal, remote
oder beides, die auf sie zeigen.
Die Marker zu lesen brauchte einen Moment der Gewöhnung. main main@origin in
derselben Zeile bedeutet, dass das lokale und das Remote-Bookmark derzeit
übereinstimmen. old-experiment@origin ohne ein bloßes old-experiment bedeutet,
dass es ein Bookmark ist, das niemand lokal hat, nur sichtbar, weil es auf dem Remote
existiert. Ein Sternchen an einem von beiden bedeutet, dass sie divergiert sind.
Eine Konfigurationsentscheidung ändert tatsächlich, was du siehst, nicht nur, wie es
gestylt ist: git.auto-local-bookmark. An: Jedes neu gefetchte Remote-Bookmark
bekommt automatisch ein passendes lokales, sodass es sofort als erstklassiges lokales
Bookmark in jj log erscheint. Aus: Es bleibt in der Remote-only-Form, bis du es
explizit mit jj bookmark track trackst. Ich kann den Fall für jeden der beiden
Standards je nach Form des Teams sehen, ein kleines Team, in dem man die meisten
Branches trackt, profitiert von der automatischen Variante; ein großes Repo, in dem
Hunderte kurzlebiger Branches gepusht werden, profitiert vom bewussten, lauteren
Opt-in. Es lohnt sich zu prüfen, worauf dein jj standardmäßig eingestellt ist, statt
es anzunehmen.
jj log -r 'remote_bookmarks()' stellte sich als das einzelne nützlichste Revset
heraus, das ich bisher verwendet habe, eine “was hat das Team gerade tatsächlich
gepusht”-Sicht, die völlig unabhängig davon ist, in welchem Chaos meine eigene
Arbeitskopie gerade steckt.