2010-02-15 8 views
6

Я собираюсь интегрировать систему управления версиями GIT в 3ds max для управления версиями файла .max.Резервное копирование двоичных файлов в стиле Git

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

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

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

  1. фиксации и команды
  2. войти ветвление Служба поддержки
  3. быть распределенным и не сервер, ориентированных как Perforce.

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

Спасибо!

ответ

0

Что касается мерзавца разрушающего ваших двоичных файлов макс,
ли вы установили core.autocrlf=false?

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

+0

Нет, я не сделал. Сбой произошел два или три раза, каждый раз в общей папке, и я не мог воспроизвести его. Персонал нашей компании - это в основном художники, поэтому я должен быть полностью уверен в программном обеспечении, чтобы побуждать людей использовать его. Если такая ошибка произойдет с чьим-то файлом, это будет полная катастрофа. Чтобы быть правдой, я немного боюсь. Вот почему я ищу альтернативу. – sergo

+0

Я оставлю ответ, потому что ваш комментарий может быть полезен для других. Для всех остальных VonC лучше подходит для того, чтобы помочь вам в том, что вам нужно (или не нужно). –

10

Бинарных файлы имеют вид двойственные отношения с VCS, потому что:

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

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

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


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

git-bigfiles alt text http://caca.zoy.org/raw-attachment/wiki/git-bigfiles/git-bigfiles.png (ок, проект логотипа является удивительным;))

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

+0

Ветвление очень полезно для двоичных файлов. Не для последующего слияния, а для разделения версий проекта и swithing между ними. Благодарим за указание на Marven/Nexus. Я посмотрю документы Nexus. – sergo

+2

Посмотрите на проект ** git-bigfiles **, если вам нужен контроль версий для больших двоичных файлов. –

+0

@Jakub: Спасибо. Я обновил свой ответ, включив эту ссылку, но также допросил мой вопрос о целесообразности использования VCS (распределенного или нет) для управления большим файлом. – VonC

2

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

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

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

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

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

Cheers,
Christophe.

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

+0

Что делает DVCS лучшим выбором, так это то, что пользователь не вынужден использовать какое-то строгое расположение сервера, он может свободно хранить все файлы на локальном компьютере с общей папкой. Другой пользователь может получить доступ к этим общим папкам, клонировать репо и продолжать работу над проектом. Наш подход не предполагает слияния, только ветвление (forking). Благодарим вас за предложения. Мне нужно посмотреть на rsync, возможно, это возможно, чтобы сценарий для правильной работы. – sergo

+0

Основным преимуществом (D) VCS других других инструментов является команда Log. С помощью этой команды пользователь всегда имеет историю проекта, и это бесценно - иметь приятную историю вместо десятков файлов со странными именами. – sergo

+0

Я понимаю. На самом деле DVCS будет на самом деле намного мощнее, это правда. Но есть также такие проблемы, как накладные расходы, обработка больших файлов (это не было сделано для этого), очистка истории, как было предложено (опять же это не было сделано для этого). Проблема в том, что файловые системы недостаточно мощны для вас, но DVCS будет немного слишком мощным (+ требует работы): вам нужно что-то среднее между собой, какой-то инструмент, который может легко создавать локальные копии файлов, с журналами , и позволяет выбирать и удалять их в какой-то момент. Может быть, новый инструмент с использованием git низкоуровневых fs-подобных функций? Не знаю .. –

2

Вы можете изучить Veracity, который was designed with this requirement in mind. Установщик Windows включает в себя Tortoise-подобный клиент. (Я не знаю, если установщик Mac имеет аналогичный интерфейс, я знаю, что Linux installer currently doesn't have such an interface.).

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

  • Download
  • Getting started (Windows client)
  • Getting started (command line)
  • DVCS comparison chart (примечание, график, созданный командой Veracity) ...самые большие отличия от git - это то, что вы не можете переустанавливать - по дизайну, не разрешается переписывание истории - и вы не можете делиться пополам - не знаете, если это по дизайну или нет
1

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

+0

Является ли хранилище еще свободным? Я думаю, вы должны купить его сейчас. Плюс я счел оскорбительным использование, если вы не строите. –

+0

И хранилище централизовано, как perforce (последнее время я проверил) –

+0

Вы можете реплицировать данные сервера между серверами хранилища, мы делаем это между серверами, расположенными в разных точках по всему миру, но бесплатная версия не поддерживает это из коробки. –