diff gegen das Arbeitsverzeichnis mit git-latexdiff

diff gegen das Arbeitsverzeichnis mit git-latexdiff

Ich verwende Git für mein Latex-Dokument und möchte einen Vergleich mit dem Arbeitsverzeichnis durchführen.
MWE:

\documentclass{article}
\begin{document}
  a
\end{document}

füge git-latexdiff zu $PATH in .bashrc hinzu

PATH=$PATH:~/path/to/dir/git-latexdiff/

Git einrichten:

git init; git add .; git commit -m "initial commit"

ändere den Inhalt der Datei von ainaa

git add file.tex; git commit -m "2nd commit"

ändere den Inhalt der Datei von aainaaa

(verwenden Sie Git Log, um Hashes für Commits anzuzeigen)

git-latexdiff -v --main file.tex hash1 hash2

(-v ist ausführlich, --main gibt die Hauptdatei an, Hashes identifizieren Commits)
funktioniert einwandfrei.

Aber wenn ich versuche, ein Commit für das nicht festgeschriebene Arbeitsverzeichnis durchzuführen:

user2740$ git-latexdiff -v --main file.tex hash1 --
Auto-detecting PDF viewer ... xdg-open.
/usr/bin/latexpand
Creating temporary directories ... done.
Temporary directories: /tmp/git-latexdiff.3840/old and /tmp/git-latexdiff.3840/new
Checking out old and new version ...ln: failed to create symbolic link ‘./file.tex’: File exists

Ausführung:

user2740$ git-latexdiff --version
1.0                                  #downloaded 09.05.2014

Funktioniert jetzt:

Stellen Sie sicher, dass Sie die neuste Version verwenden!

Führen Sie es nur in Ihrem gewünschten Verzeichnis aus, auch zu versionInformationszwecken. (zumindest für Version v1.1.2-1-ga985a4f)

Antwort1

Verwenden Sie „sudo“ niemals für Aufgaben, die Dateien in Ihrem Home-Verzeichnis erstellen. „sudo“ gibt Ihnen nicht nur die Berechtigung, weitere Dinge zu tun, sondern führt den Befehl auch als anderer Benutzer aus, sodass Sie Dateien erhalten, die root auf Ihrem Konto gehören. Dies ist nicht nur nutzlos, sondern tatsächlich schädlich. Verwenden Sie sudo für Verwaltungsaufgaben (z. B. Upgrade Ihrer LaTeX-Installation), aber nicht für die tägliche Arbeit.

Der Befehl git-latexdiff -v --main file.tex hash1 --funktioniert bei mir einfach. git-latexdiff führt einen temporären Checkout in einem Verzeichnis mit einem eindeutigen Namen unter /tmp/ durch. Verwenden Sie die neueste Version vongit-latexdiff?

Antwort2

Versuchen Sie, den git latexdiffBefehl im Stammverzeichnis des Git-Repositorys auszuführen. Bei mir hat es auf diese Weise problemlos funktioniert.

verwandte Informationen