4

Для проекта продолжительностью в половину семестра группа из пяти или менее человек будет работать вместе над проектом, который был им распределен (и должен быть включен для оценки) в виде папок .doc (x), .xls (x) и т. д., файлы. Один файл, в частности, будет видеть большую часть редактирования --- файл .xlsx.

Участники будут использовать TortoiseSVN для фиксации изменений / выполнения проверок. Насколько хорошо SVN облегчит совместное редактирование в этом случае? Например, как svn будет обрабатывать объединение одного и того же файла, отредактированного по-разному двумя разными клиентами?

3 ответа3

5

SVN на самом деле не подходит для управления версиями бинарных файлов (которыми являются .doc и .xls), так как файлы не содержат текста, практически невозможно различить файлы или объединить изменения. Более новые форматы (.docx и .xlsx) на самом деле представляют собой документы XML, которые могут немного помочь в операциях сравнения и слияния, но все равно будут довольно сложными.

Я бы порекомендовал использовать что-то вроде Google Docs, которое позволит управлять версиями и одновременно редактировать до 50 пользователей (также и для электронных таблиц). Если бы у вас не было возможности использовать SVN, я бы порекомендовал придерживаться простых текстовых документов, я знаю нескольких людей, которые использовали LaTeX и SVN для некоторых заданий, что позволяло им выполнять форматирование.

4

Не очень много. На самом деле, ни одна система контроля версий не справляется с такой задачей, они приспособлены для работы с простыми текстовыми файлами (все упомянутые вами типы являются двоичными). Вы можете справиться с ними, но такие задачи, как "показать изменения" или «кто сделал ...», не будут иметь ответов. И это большая часть контроля версий.

Возможно, лучшим решением является обмен документами через Google Docs или тому подобное?

2

Насколько хорошо SVN облегчит совместное редактирование в этом случае? Например, как svn будет обрабатывать объединение одного и того же файла, отредактированного по-разному двумя разными клиентами?

Это действительно двусторонний вопрос.

как бы svn обрабатывал слияние одного и того же файла, отредактированного по-разному

Отлично. Это действительно одна из базовых функций любого SCM на основе слияния - объединение разнородной истории изменений

Насколько хорошо SVN облегчит совместное редактирование в этом случае?

Плохо, потому что, как уже отмечалось, старые файлы MS-Office были "просто двоичными" для subversion, автоматическое слияние двоичных файлов может дать непредсказуемые результаты, для ручных слияний это больше вопрос для администраторов Subversion, которые могут (должны) предоставить и настройте специальные инструменты diff | merge для * .doc в репозитории, чтобы позволить конечным пользователям выполнять слияния обычным WYSIWYG-способом

Для нового, основанного на XML Office ситуация стала еще хуже. AFAICR, docx | Файлы .xlsx - это действительно многофайловые zip-архивы, и слияние может, теоретически, влиять и изменять более одного файла. Я не знаю, как справиться с этим делом

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .