Создание сущностей в Doctrine ORM устарело и будет удалено в следующей основной версии. Похоже, что Doctrine ODM в настоящее время не предоставляет эту функцию, что можно проверить, посмотрев доступные команды на GitHub.
Возможно, вам удастся адаптировать MakeEntity из MakerBundle для документов, если вы хотите добавить такую функцию в сообщество.
Для сложных двоичных форматов файлов (одним из которых является .odt) я обнаружил, что это хорошая идея - использовать блокировку в Subversion и не пытаться объединять изменения. Установите для файла свойство Subversion svn: needs-lock
, и вам потребуется запросить блокировку файла перед его редактированием (подробнее см. Блокировка в книге Subversion). подробности). Это хорошо сработало в моей ситуации, но от вашего уровня сотрудничества зависит, будет ли оно работать для вас.
Файлы .odt являются XML-файлами AFAIK. Однако даже если бы вы сохранили их как разархивированный XML, я серьезно сомневаюсь, что вы могли бы сделать слияние чего угодно, кроме самых маленьких изменений.
Формат .odt на самом деле является форматом zip-файла (в большинстве случаев), который упаковывает ваш документ и, возможно, другие двоичные ресурсы. Тот факт, что это zip-файл, означает, что он изначально двоичный. Возможно, есть способ сохранить документ в текстовом формате XML с использованием OpenOffice. Я не уверен.
Если вам действительно нужна возможность объединения изменений, вам, вероятно, будет лучше использовать простой текстовый формат.
Объединение сложной страницы будет проблемой, так как Subversion не сможет сделать хорошую работу.
Блокируя, только один человек может работать с ним одновременно.
Вы можете сохранять его как HTML-страницу каждый раз, если вам не нравятся предложения LaTex или .txt.
Вы можете написать какой-то плагин для OpenOffice, который позволит совместную работу, возможно.
Файл не обязательно должен быть текстовым форматом для сравнения и объединения - если поставщик предоставляет хороший инструмент сравнения и объединения. И пока VCS можно настроить для использования этих внешних инструментов сравнения / слияния. Однако редко когда есть такие инструменты сравнения и слияния, предусмотренные для проприетарных форматов документов.
TortoiseSVN может различать документы Word, и это очень удобно. Он, видимо, тоже может сливаться, хотя никогда этого не пробовал. Я думаю, что он может различать и объединять документы OpenOffice, но я никогда не пробовал этого.
TortoiseSVN может «как бы» различать документы Excel, но это не очень удобно. Нет слияния.
В моей компании мы установили svn: needs-lock для документов Word и Excel, чтобы избежать проблем с объединением. Даже в этом случае мне очень удобно иметь возможность различать предыдущие версии и видеть, что изменилось.
Сложные файлы, обслуживаемые машиной, всегда будет трудно объединить в системе контроля версий, даже , если они хранятся в виде текста. Что, если бы это был несжатый XML-файл OpenOffice.org? Простое изменение, которое вы сделаете, изменит множество строк по всему XML-файлу, что приведет к возможным конфликтам.
Лучше всего использовать более простой формат, например Markdown , потому что простой формат приводит к меньшему изменения, что приводит к более надежному слиянию. Многие авторы используют Markdown, и его легко освоить.
Существует множество редакторов, поддерживающих этот язык разметки, но вам, возможно, придется немного изменить свой рабочий процесс. Например, существует сценарий преобразования ODT в txt , который преобразует ODF в txt с форматированием уценки. Кроме того, pandoc может конвертировать между многими форматами, такие как Markdown и ODF.
Итак, есть два варианта: