Как я должен сохранить файл в OpenOffice, чтобы он не был двоичным файлом в Subversion?

StackOverflow https://stackoverflow.com/questions/784500

Вопрос

Я работаю над документом Open Office с партнером, и мы используем subversion для совместной работы над ним.Однако мы сохраняем документ как odt-файл, и subversion считывает его как двоичный тип файла.Поэтому меня беспокоит, что когда мы перейдем к объединению файлов и всплывет diff, мы не сможем адекватно выполнить слияния, если возникнут конфликты;мы не сможем понять необработанный файл .odt.

Итак, мой вопрос заключается в следующем: "Как мне сохранить документ в Open Office, чтобы он сохранял все форматирование, которое вы ожидаете и хотите, но сохранялся в виде двоичного файла и, следовательно, мог быть легко объединен?"

Или я использую неправильный метод для этого?(Что более чем вероятно)

Это было полезно?

Решение

Как бы вам это ни было неприятно, LaTeX предоставляет вам средства для создания документов, но сохраняйте их в subversion в виде текста, который легко объединяется.

Помимо LaTeX или простого хранения текстовых документов, лучше всего установить блокировку файла с помощью Subversion.

Другие советы

Для сложных форматов двоичных файлов (одним из которых является .odt) я обнаружил, что неплохо использовать блокировку в Subversion и не пытаться объединить изменения.Установите свойство Subversion svn:needs-lock на файл, и затем вам будет необходимо запросить блокировку файла перед его редактированием (см. Запирание в книге Subversion для получения более подробной информации).Это хорошо сработало в моей ситуации, но будет ли это хорошо работать для вас, зависит от вашего уровня сотрудничества.

Файл не обязательно должен быть текстовым форматом для разделения и объединения — при условии, что поставщик предоставляет хороший инструмент для разделения и слияния.И до тех пор, пока VCS может быть настроен на использование этих внешних инструментов diff / merge.Однако такие инструменты для различения и слияния редко предоставляются для проприетарных форматов doc.

TortoiseSVN может различать документы Word, и это чрезвычайно удобно.Очевидно, он тоже может сливаться, хотя я никогда не пробовал этого.Я думаю, что он может различать и объединять документы OpenOffice, но я никогда не пробовал этого.

TortoiseSVN может "как бы" различать документы Excel, но использовать его не очень приятно.Никакого слияния.

В моей компании мы устанавливаем svn:требуется блокировка в документах Word и Excel, чтобы избежать проблем со слиянием.Даже тогда я нахожу очень удобным иметь возможность сравнивать предыдущие версии и видеть, что изменилось.

В .odt файлы представляют собой заархивированные XML-файлы AFAIK.Однако, даже если бы вы сохранили их как распакованный XML, я серьезно сомневаюсь, что вы смогли бы выполнить слияние чего-либо, кроме самых незначительных изменений.

Формат .odt на самом деле представляет собой формат zip-файла (в большинстве случаев), в который упаковывается ваш документ и, возможно, другие двоичные ресурсы.Тот факт, что это zip-файл, означает, что он по своей сути двоичный.Возможно, существует способ сохранить документ в виде обычного текста XML с помощью OpenOffice, я не уверен.

Если вам действительно нужна возможность объединять изменения, вам, вероятно, будет лучше использовать обычный текстовый формат.

Объединение сложной страницы будет проблемой, так как subversion не сможет выполнить хорошую работу.

При блокировке одновременно с ним может работать только один человек.

Вы могли бы сохранять его как html-страницу каждый раз, если вам не нравятся предложения LaTeX или .txt.

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

Сложные файлы, поддерживаемые компьютером, всегда будет трудно объединить в системе контроля версий, даже если они сохранены в виде текста.Что, если бы он был несжатым OpenOffice.org XML?Простое внесенное вами изменение изменит множество строк по всему XML-файлу, что приведет к возможным конфликтам.

Лучше всего было бы использовать более простой формат, такой Уценка, потому что простой формат приводит к меньшему количеству изменений, что приводит к более надежному слиянию.Многие авторы используют Markdown, и этому легко научиться.

Существует множество редакторов, поддерживающих этот язык разметки, но вам, возможно, придется немного изменить свой рабочий процесс.Существует, например, ODT в txt скрипт преобразования, который преобразует ODF в txt с форматированием markdown.Также, пандок может конвертировать между многими форматами, такими как Markdown и ODF.

Итак, есть два варианта:

  1. Переключитесь на редактор, который напрямую поддерживает Markdown (подойдет простой текстовый редактор, но вы могли бы выбрать более продвинутый текстовый редактор с режимом Markdown, например Режим уценки VIM)
  2. Вставьте шаг преобразования между Markdown и OpenOffice.org форматирование.(обязательно сначала проверьте жизнеспособность)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top