Zum Inhalt

git-flow und LaTeX

Auf LaTeX-Dokumente lassen sich Git-Informationen aufdrucken was die Lenkung und das Management erheblich vereinfacht und transparenter macht. Bei der Verwendung des Branching Modells git-flow ist der Workflow jedoch ein klein wenig anzupassen.

Möchtest du deine LaTeX-Dokumente automatisch mit einem Tag versehen, wie hier in meinem Beitrag 👉 LaTeX und Git – Git Information in LaTeX-Dokumenten verwenden vorgestellt, dann ist der git-flow-Workflow ein wenig anzupassen.

Wenn das Branching Model git-flow verwendet wird, dann wird automatisch ein Tag erstellt, wenn das Release beendet wird und der Release-Branch in den Branch main und develop gemerged wird.

Für das LaTeX-Dokument ist das dann aber zu spät!

Damit der Tag für LaTeX verwendet werden kann, musst du

  • manuell einen Tag erstellen
  • ein Check-out in deinen Release-Branch machen (du befindest dich zwar bereits im Release-Branch, aber das Shell-Skript in ~/.git/hooks/post-checkout muss die Git-Informationen in die Datei ~/.git/gitHeadInfo.gin schreiben, damit LaTeX diese auslesen kann.)
  • einen Konvertierungslauf durchlaufen (die Git-Informationen werden aus der Datei ~/.git/gitHeadInfo.gin ausgelesen und auf das Dokument gedruckt)

Also was musst du machen?

Manuell einen Tag erstellen

Bevor du dein Release mit einem Klick auf Finish release beendest, musst du noch manuell einen neuen Tag erstellen.

Achte dabei darauf, dass der Tag einen anderen Namen benötigt als dein Release-Branch.

Verwendest du den gleichen Tag-Namen, wie für dein Release, kommt es zu einem Namenskonflikt.

Beispiel:

Name des Release-Branch: release-1.0

Daraus wird nach unserer Namenskonvention der Tag v.1.0

Du musst also einen anderen Tag-Namen verwenden, wie z.B. 1.0.

Git Check-out

git checkout release-release-1.0

LaTeX Konvertierungslauf

pdflatex datei.tex

Änderungen stagen und commiten

Allen Änderungen nach dem LaTeX-Konvertierungslauf sind zu stagen und zu committen.

Release beenden

Nun kannst du dein Release beenden.

Git Commit Graph - Ein Beispiel

Am Beispiel dieses Screenshots wird das Vorgehen deutlich.

git-flow und LaTeX

Vor jedem Beenden eines Releases (v1.0, v2.0) wurde manuell ein Tag (1.0, 2.0) erstellt.

Der manuell angelegte Tag (z.B. 1.0) muss nicht auf Remote gepusht werden. Es kann auch nur für die Dauer der LaTeX-Konvertierungslaufs angelegt werden und dann wieder gelöscht werden.

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source

Photo by Angèle Kamp on Unsplash