
Я использую git для своего документа latex и хочу сравнить его с рабочим каталогом.
MWE:
\documentclass{article}
\begin{document}
a
\end{document}
добавить git-latexdiff в $PATH в .bashrc
PATH=$PATH:~/path/to/dir/git-latexdiff/
настройка git:
git init; git add .; git commit -m "initial commit"
изменить содержимое файла с a
наaa
git add file.tex; git commit -m "2nd commit"
изменить содержимое файла с aa
наaaa
(используйте git log, чтобы увидеть хеши коммитов)
git-latexdiff -v --main file.tex hash1 hash2
(-v выводит подробные данные, --main указывает основной файл, хэши идентифицируют коммиты)
работает просто отлично.
Но когда я пытаюсь выполнить коммит в незафиксированном рабочем каталоге:
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
версия:
user2740$ git-latexdiff --version
1.0 #downloaded 09.05.2014
Работает сейчас:
Обязательно используйте последнюю версию!
Выполнять только в нужном вам каталоге, даже в version
информационных целях. (по крайней мере для версии v1.1.2-1-ga985a4f)
решение1
Никогда не используйте "sudo" для любой задачи, которая создает файл в вашем домашнем каталоге. "sudo" не только дает вам разрешения на выполнение большего количества действий, но и выполняет команду от имени другого пользователя, поэтому в конечном итоге в вашей учетной записи будут файлы, принадлежащие пользователю root. Это не только бесполезно, но и фактически вредно. Используйте sudo для административных задач (например, для обновления вашей установки LaTeX), но не для повседневной работы.
Команда git-latexdiff -v --main file.tex hash1 --
просто работает для меня. git-latexdiff делает временную проверку в каталоге с уникальным именем в /tmp/. Вы используете последнюю версиюgit-latexdiff?
решение2
Попробуйте запустить git latexdiff
команду в корне репозитория Git. У меня так все отлично сработало.