Git стиль резервного копирования бинарных файлов - PullRequest
6 голосов
/ 15 февраля 2010

Я в процессе интеграции системы контроля версий GIT в 3ds max для контроля версий файлов .max.

Я тестировал git с max файлами в течение нескольких недель и обнаружил, что он соответствует моим потребностям, но, в любом случае, git немного усложняется для такого рода задач. То, что я ищу, это программа, которая работает так же, как (ну, почти) git, но:

  1. - это естественная программа для Windows - git несколько раз не работал в моей сети папки и уничтожил мои бинарные файлы макс. Это основная проблема, и я не знаю, как ее решить.
  2. не обрабатывает (даже не пытается) содержимое файла. Я думаю, что это ускоряет рабочий процесс.
  3. имеет интерфейс, близкий к TortoiseGIT.

Что это программное обеспечение должно иметь:

  1. команды коммита и лога
  2. поддержка ветвления
  3. распространяться и не ориентироваться на сервер, как Perforce.

Я тестировал Mercurial, но он работает очень медленно на больших двоичных файлах. Если кто-то знает, как ускорить его (я полагаю, отключив управление контентом) и полностью активировать TortoiseHg, любая информация будет принята с благодарностью.

Спасибо!

Ответы [ 6 ]

10 голосов
/ 15 февраля 2010

Двоичные файлы имеют двойственную связь с VCS, потому что:

  • они не объединяются (так что вся "поддержка ветвления" не так уж и интересна)
  • они не очень хорошо различаются (что означает, что их история не очень компактна)
  • они обычно могут быть сгенерированы
  • или их можно получить из других репозиториев

Двоичные файлы являются частью Git limit , так как они имеют тенденцию замедлять весь рабочий процесс и не масштабируются по размеру (хранилище быстро становится слишком большим для эффективного управления / резервного копирования) ).

Итак, вопрос в том, могли бы вы хранить эти файлы в каком-либо другом репозитории, кроме VCS?
Возможно, Maven репо (управляется менеджером репо, таким как Nexus , не распределяется точно, но создан для ссылки на точную версию любого типа набора файлов).


Jakub Narębski (фактический участник Git ) справедливо указывает на проект Git fork, способный управлять более эффективно большими файлами.

[git-bigfiles alt text (хорошо, логотип проекта потрясающий;))

Остается вопрос: является ли VCS правильным инструментом для управления такими большими объектами?
Потому что, по моему опыту, вопрос о "очистке истории" будет задаваться один или другой день из-за постоянно увеличивающегося объема используемого дискового пространства.
И VCS принципиально не сделаны для "очистки" их истории.
Сам Git не может сделать это, не изменив свой ключ SHA1, что делает любую будущую публикацию другим публичным репо проблематичной.

3 голосов
/ 15 февраля 2010

Чего я не понимаю, так это того, почему вы хотите использовать DVCS, не имея возможности различать и, следовательно, извлекать из этого выгоду, как говорится в первом комментарии.

Я бы посоветовал два возможных направления:

  • взгляните на archiva и / или ivy (инструменты Java), которые были разработаны для управления распространением двоичных файлов, таких как файлы JAR, для разработчиков, но это может быть слишком много java-ориентированных (или даже ориентированных на разработку) для вашего варианта использования, или

  • попробуйте использовать rync и его резервную копиювозможности (rsync может сохранить столько версий, сколько вы хотите, вместо замены предыдущей копии новой).Кажется, он хорошо подходит для ваших нужд: хорошо работает с окнами, очень хорошо обрабатывает двоичные файлы, а также текстовые файлы, очень эффективно использует пропускную способность (может сжимать) и поддерживает резервное копирование в нескольких версиях.Единственное, чего вам не хватает, - это графический интерфейс, идеально интегрированный с winexplorer.Может быть, есть, я не знаю ..

Надеюсь, это поможет.

Приветствия,
Кристоф.

=Резервные копии для слабаков.Настоящие мужчины загружают свои данные на FTP-сайт и заставляют всех остальных отражать их.- Линус Торвальдс =

2 голосов
/ 23 октября 2013

Возможно, вы захотите изучить Правдивость , которую разработали с учетом этого требования . Установщик Windows включает в себя клиент, похожий на черепаху. (Я не знаю, имеет ли установщик Mac аналогичный интерфейс. Я знаю, что в настоящее время установщик Linux не имеет такого интерфейса .)

Соответствующие ссылки:

1 голос
/ 24 октября 2013

Рассматривали ли вы использование Autodesk Vault? Он хорошо работает с 3dsmax (мы использовали его в течение многих лет, как для Inventor, так и для 3dsmax). http://www.autodesk.com/products/autodesk-vault-family/features

0 голосов
/ 06 ноября 2013

TACTICS также является системой резервного копирования для графических проектов и с открытым исходным кодом. Стоит упомянуть.

http://community.southpawtech.com/get-started

http://community.southpawtech.com/tactic-content/quickstart

0 голосов
/ 15 февраля 2010

Относительно того, как git уничтожает ваши двоичные файлы max ,
Вы установили core.autocrlf=false?

GIT был бы довольно бесполезным источником контроля, если бы он уничтожил источники.
Этот вопрос , касающийся нашего собственного SO, глубже затрагивает различия в CR & LF в GIT

...