jj übernimmt die Aliase seiner Nutzer: tug, bisect run, run und fix
André Arko hat den Text seines Vortrags von der JJ Con 2026 über das Ökosystem rund um das Versionsverwaltungssystem jj veröffentlicht: https://andre.arko.net/2026/09/16/beyond-jj-config-and-tools-ecosystem/. Im Vorjahr ging es um das Konfigurieren von jj. Diesmal geht es darum, was man damit tut — und der interessanteste Abschnitt listet auf, was keine Konfiguration mehr braucht, weil es ins Werkzeug gewandert ist.
jj bookmark advance, kurz jj b a. Der Community-Alias tug suchte das nächste Lesezeichen und schob es auf die nächste pushbare Änderung; genau das ist jetzt eingebaut. Standardmäßig wandert das Lesezeichen zur Arbeitskopie; setzt man revsets.bookmark-advance-to auf ein pushbares Revset, verhält es sich wie das alte tug.
jj bisect run. Automatisch bisektieren — Befehl übergeben, die Änderung finden lassen — erforderte bisher ein Wrapper-Skript. Arko nennt das eine erhebliche Funktionslücke gegenüber git, die nun geschlossen ist.
jj run. Skript und Revset übergeben: Das Skript läuft gegen jede Änderung des Revsets, jede Änderung wird aktualisiert, sofern Dateien verändert wurden. Der Baum bleibt stimmig — die übrigen Änderungen werden im Lauf mitgeführt.
jj fix. Oberflächlich dieselbe Idee, absichtlich nicht dieselbe. fix fasst nur Dateien an, die geändert wurden, legt keine Arbeitskopie je Änderung an und übergibt dem Skript eine Datei nach der anderen, um die veränderte Fassung zurückzunehmen.

Was das bedeutet
Ein Alias, den viele unabhängig voneinander schreiben, ist eine Spezifikation. tug entstand, weil eine häufige Operation keinen Befehl hatte; dass Dutzende Konfigurationen eine Variante davon enthielten, ist genau der Beleg, den ein Betreuer braucht. Das gesunde Muster ist das hier: die Community den Behelf schreiben lassen, beobachten, welche Behelfe konvergieren, den konvergenten aufnehmen — und für die Varianten den Konfigurationsknopf stehen lassen.
Die Unterscheidung von run und fix ist es wert, übernommen zu werden. Das eine schreibt einen Bereich von Änderungen um, indem es beliebige Arbeit in einer Arbeitskopie ausführt; das andere formatiert nur die berührten Dateien, eine nach der anderen, ohne den Baum je zu materialisieren. Die meisten Werkzeuge werfen beides zusammen und sind dann im häufigen Fall — Formatieren — langsam, um für den seltenen allgemein genug zu bleiben.
Und dass bisect run eine Lücke zu git schließt, ist die ehrliche Beschreibung von Verbreitung. Ein neues Versionsverwaltungssystem wird nicht an seinem Modell gemessen, sondern daran, ob das, was man um zwei Uhr nachts braucht, vorhanden ist. Die Liste dessen, was dieses Jahr in den Kern gewandert ist, taugt gut als Maß dafür, wie nah jj dieser Latte inzwischen kommt.