Ich versuche einen Workflow hinzubekommen, der folgende Tasks erledigt:
das original Quarto project in latex rendert (nicht pdf, sondern zu einem tex file).
Das .tex file aus dem vorherigen Schritt staged und comitted
den Pull Request merged und diese neue version ebenfall in latex rendert
Das .tex file aus dem vorherigen Schritt staged und comitted
mit git-latexdiff die differenz zwischen dem tex aus Schritt 1 und Schritt 2 in PDF konvertiert. git-latexdiff nimmt ein texfile sowie den SHA1 von einem commit, und visualisiert die Differenz zwischen den beiden Dokumenten mit Latex-Markup.
Dafür habe ich ein Test Repo erstellt: https://github.com/ratnanil/pull-request-action. Im Index.qmd steht: This is the original file. Im PR 16 wird dies verändert zu: This is not the original file
Lokal klappt kann ich diesen workflow wunderbar durchführen:
git init
git remote add origin https://github.com/ratnanil/pull-request-action
git pull origin main
quarto render --to latex
git add -f _book # -f weil _book in gitignore ist
git commit -m "commit original"
git fetch origin pull/16/head:new-pr
git merge new-pr
quarto render --to latex
git add -f _book
git commit -m "commit pr"
OLD=$(git rev-parse HEAD~2) # speichere den SHA1 des vorletzen commits (der letzte ist der merge)
git-latexdiff --main _book/book-latex/testing.tex -o diff.pdf $OLD
Das Resultat:
Wenn ich das ganze auf dem runner probiere, habe ich zwei Probleme:
git merge new-pr funktioniert nicht. Git reklamiert: refusing to merge unrelated histories. Ich kann den merge nur durchführen, wenn ich folgendes mache: git merge --allow-unrelated-histories -s recursive -X theirs new-pr -m "merge"
Das output pdf zeigt keine Differenzen an, sondern nur den neusten render (siehe diesen workflow run):
Ich versuche einen Workflow hinzubekommen, der folgende Tasks erledigt:
git-latexdiff
nimmt ein texfile sowie den SHA1 von einem commit, und visualisiert die Differenz zwischen den beiden Dokumenten mit Latex-Markup.Dafür habe ich ein Test Repo erstellt: https://github.com/ratnanil/pull-request-action. Im Index.qmd steht:
This is the original file
. Im PR 16 wird dies verändert zu:This is not the original file
Lokal klappt kann ich diesen workflow wunderbar durchführen:
Das Resultat:
Wenn ich das ganze auf dem runner probiere, habe ich zwei Probleme:
git merge new-pr
funktioniert nicht. Git reklamiert:refusing to merge unrelated histories
. Ich kann den merge nur durchführen, wenn ich folgendes mache:git merge --allow-unrelated-histories -s recursive -X theirs new-pr -m "merge"