Zum Inhalt springen

Workspaces

Mit jj-Workspaces kannst du mehrere Working Copies desselben Repositories gleichzeitig nutzen. Jeder Workspace ist ein eigenes Verzeichnis mit eigenem @-Commit, die Historie teilen sich alle. In der deutschen Oberfläche von Wyrm heißen sie Arbeitsbereiche.

Klicke links in der Icon-Leiste auf Arbeitsbereiche, um das Panel zu öffnen. Es listet alle Workspaces des aktuellen Repositories, mit Markierungen für den, in dem du gerade bist (current), für eine Working Copy, die aktualisiert werden muss (●stale), und für einen Workspace, dessen Verzeichnis fehlt (●missing). Dieselbe Liste findest du auch im Repository-Dropdown in der oberen Leiste.

  1. Klicke im Panel unten auf + Arbeitsbereich hinzufügen… (oder drücke n, während das Panel fokussiert ist). Das Repository-Dropdown in der oberen Leiste hat denselben Eintrag.
  2. Fülle das Formular Arbeitsbereich hinzufügen aus:
    • Name: der Name des Workspace, z. B. feature-auth.
    • Pfad: wo das neue Verzeichnis angelegt wird. Mit Durchsuchen… wählst du einen Ordner.
    • Basisrevision: der Commit, von dem das neue @ ausgeht. Leer lassen für @, oder ein Bookmark bzw. eine Change-ID eingeben.
    • Nach dem Erstellen öffnen: wechselt nach dem Anlegen in den neuen Workspace (standardmäßig an).
  3. Klicke auf Erstellen. Dabei läuft jj workspace add.

Klicke im Panel auf einen Workspace (oder wähle ihn aus und drücke Enter). Du kannst auch sein ⋯-Menü öffnen und Zum Arbeitsbereich wechseln wählen oder im Log auf einen Workspace-Chip wie feature-auth@ an einem Commit klicken. Vor dem Wechsel erstellt Wyrm einen Snapshot deiner aktuellen Working Copy.

Klicke in einer Workspace-Zeile auf ⋯, um ihr Menü zu öffnen:

  • Zum Arbeitsbereich wechseln: öffnet diesen Workspace (nur bei anderen Workspaces).
  • Umbenennen…: benennt den Workspace um (nur beim aktuellen).
  • Im Finder öffnen / Pfad kopieren: zeigt das Workspace-Verzeichnis an oder kopiert seinen Pfad.
  • Arbeitskopie aktualisieren: erscheint nur, wenn die Working Copy veraltet ist.
  • Vergessen…: entfernt den Workspace aus dem Repository (nur bei anderen Workspaces).

Wechsle in den Workspace und wähle dann Umbenennen… in seinem Menü (oder drücke r). Gib unter Neuer Name: den Namen ein und klicke auf Umbenennen. Dabei läuft jj workspace rename.

Wähle Vergessen… im Menü eines Workspace, in dem du gerade nicht bist (oder drücke x). Im Bestätigungsdialog:

  • Arbeitsbereich im Repo vergessen ist immer aktiv: jj verfolgt den Workspace nicht mehr (jj workspace forget).
  • Dateien löschen unter dem Workspace-Pfad entfernt zusätzlich sein Verzeichnis von der Festplatte. Entferne den Haken, um die Dateien zu behalten.

Der Dialog prüft, ob das @ des Workspace Arbeit enthält, auf die sonst nichts verweist. Ist das der Fall, musst du den Namen des Workspace eintippen, bevor Vergessen aktiv wird. Endgültig verloren geht dabei nichts: verwaiste Commits bleiben im Operation Log und lassen sich mit jj op restore wiederherstellen.

Schreibt ein anderer Workspace den Commit um, auf dem dein Workspace steht, hinken dessen Dateien hinterher und die Zeile zeigt ●stale. Klicke in der Zeile auf AK aktualisieren, wähle im Menü Arbeitskopie aktualisieren oder drücke u. Dabei läuft jj workspace update-stale.

Im Log-Graph hat dein eigenes @ einen grünen Ring. Ein Commit, der die Working Copy eines anderen Workspace ist, hat einen gelben Ring und einen Chip mit dem Workspace-Namen, z. B. feature-auth@. Ein Klick auf den Chip wechselt in diesen Workspace.