Синхронизация больших неверсионных файлов в проверке Subversion - PullRequest
2 голосов
/ 10 сентября 2009

Мы уже некоторое время работаем с хранилищем Subversion для исследовательской лаборатории, и нам неоднократно сообщали об общей проблеме:

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

Я думал об использовании различных сервисов резервного копирования, таких как JungleDisk, чтобы хотя бы упростить пользователям резервное копирование этих данных, но на самом деле они не предназначены для синхронизации. Кроме того, простое отключение JungleDisk было бы далеко не идеальным вариантом, поскольку иногда файлы данных бывают достаточно большими, и ожидание их кэширования может значительно снизить производительность.

Другие альтернативы могут заключаться в том, чтобы предоставлять копии rsync и просто использовать некоторые сценарии оболочки в репозитории, которые пользователи могут запускать для синхронизации файлов вручную (отдельно от извлечения / фиксации svn), но было бы неплохо иметь это работайте с минимальными усилиями на Mac, Windows и Linux для пользователей, которые не являются технически подкованными. Поэтому было бы идеально, чтобы это было что-то, что легко настраивать (для новых неверсированных файлов), легко устанавливать (меньше шагов лучше) и не требует большого вмешательства пользователя, чтобы система работала (автоматически или просто дважды). было бы неплохо нажать на скрипт).

Есть мысли или предложения?

1 Ответ

4 голосов
/ 10 сентября 2009

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

Кроме того, если бы это было вообще возможно, я бы попытался переместить эти двоичные двоичные объекты в другое место, кроме вашего дерева подрывной деятельности ... которое, похоже, вызывает проблемы.

Поддержка окон - это просто боль во всех этих ситуациях. Я лично использовал бы Python для этой задачи, потому что он довольно переносим во всех этих системах.

...