Управление PDF / бинарными файлами с помощью Git или других VCS - PullRequest
5 голосов
/ 27 марта 2011

Я сейчас работаю над проектом LaTeX для своего рода «тезиса», и я подумал, что было бы безопасно отследить текущую работу с Git, так как это, вероятно, самый хороший контроль версийСистема, с которой я столкнулся.Теперь Git будет блестяще обрабатывать файлы исходного кода, но насколько хорошо он обрабатывает двоичные файлы?

Я не уверен, стоит ли отслеживать мои сгенерированные PDF-файлы, а также исходные файлы * .tex.Несмотря на то, что я могу восстановить свои PDF-файлы из любой ревизии / ветки, это может занять много времени, и обычно быстрее вызвать соответствующую PDF-версию;Git справится с этим?Есть ли способ пометить явные версии в репозитории Git, и могу ли я настроить его так, чтобы, например, я мог быстро сравнить вывод PDF в текущей версии с выводом прошлой недели?

Откат к определенной ветке перезапишет PDF-файлы или, по крайней мере, потребует перекомпиляции;Я просто хочу иметь возможность регистрировать мой прогресс и эффективно хранить его, а также в процессе резервного копирования моей работы.Git может быть моим решением, но есть ли лучшие?

РЕДАКТИРОВАТЬ Мой брат прислал мне ссылку на некоторую документацию по тегам , чтобы решить часть контроля версиймой вопрос.

1 Ответ

2 голосов
/ 27 марта 2011

Я думаю, что лучшее решение будет зависеть от того, как вы собираетесь использовать VCS. Если вы собираетесь часто делать различия между PDF-файлами, git, вероятно, не является отличным решением.

Если вы собираетесь делать сравнения с исходным кодом LaTeX, а затем просто смотреть на связанные PDF-файлы, git, вероятно, является отличным выбором. Я бы сделал это, используя функциональность «пополам», чтобы сделать своего рода псевдодифф. Bisect обычно используется для выполнения бинарного поиска по истории изменений, чтобы найти ошибку. Как это работает в bzr, вы можете дать команду на запуск каждой ревизии, которая сообщит bzr, если ошибка присутствует. Просто дайте две обороты, которые вы хотите просмотреть, и дайте команду evince для запуска.

Лично я был бы более склонен контролировать только реальные источники. Если ваши PDF-файлы долго компилируются, устраните эту проблему отдельно. Вы генерируете все PDF-файлы каждый раз, когда меняете исходный файл? Может быть, это решит make-файл?

...