Насколько хорошо хранилище Apache Subversion подходит для облегчения совместного редактирования нескольких файлов.docx, .doc, .xls(s) и т. Д.?

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

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

3 ответа

Решение

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам