5

私はパートナーと共同で Open Office ドキュメントに取り組んでおり、Subversion を使用して共同作業を行っています。ただし、ドキュメントを .odt ファイルとして保存すると、Subversion はこれをバイナリ ファイル タイプとして読み取ります。したがって、ファイルをマージしようとして差分が表示されたときに、競合があるとマージを適切に実行できないのではないかと心配しています。生の .odt ファイルを理解することはできません。

そこで私の質問は、「Open Office でドキュメントを保存して、必要なフォーマットをすべて保持しながら、バイナリ ファイルとして保存して簡単にマージできるようにするにはどうすればよいですか?」ということです。

または、これを行うために間違った方法を使用していますか? (これは可能性が高いです)

4

7 に答える 7

13

あなたがそれを嫌うかもしれませんが、LaTeX はドキュメントを作成する手段を提供しますが、それらを簡単にマージできるテキストとして subversion で維持します。

LaTeX や単に txt ドキュメントを保持する以外に、Subversion でファイルにロックを設定するのが最善の策です。

于 2009-04-24T04:28:38.700 に答える
7

複雑なバイナリ ファイル形式 (.odt もその 1 つ) の場合、Subversion でロックを使用し、変更をマージしない方がよいことがわかりました。ファイルに Subversion プロパティsvn:needs-lockを設定すると、ファイルを編集する前にファイルのロックを要求する必要があります (詳細については、Subversion ブックのLockingを参照してください)。これは私の状況ではうまくいきましたが、それがうまくいくかどうかは、コラボレーションのレベルによって異なります.

于 2009-04-24T04:22:13.270 に答える
6

ベンダーが優れた差分およびマージ ツールを提供している限り、ファイルは、差分およびマージするためにテキスト形式である必要はありません。また、これらの外部差分/マージ ツールを使用するように VCS を構成できる限り。しかし、プロプライエタリな doc フォーマット用にこのような差分およびマージ ツールが提供されることはまれです。

TortoiseSVN は Word ドキュメントを比較でき、非常に便利です。私はそれを試したことはありませんが、明らかにマージすることもできます。OpenOffice ドキュメントの差分とマージができると思いますが、試したことはありません。

TortoiseSVN は Excel ドキュメントの差分を「並べ替える」ことができますが、あまり使いやすいものではありません。合流なし。

私の会社では、マージの問題を回避するために、Word と Excel のドキュメントにsvn:needs-lockを設定しています。それでも、以前のリビジョンと比較して変更点を確認できるのは非常に便利です。

于 2009-05-19T00:55:10.087 に答える
4

.odtファイルは、AFAIK で圧縮された XML ファイルです。ただし、それらを解凍した XML として保存したとしても、最小の変更以外は何でもマージできるとは思えません。

于 2009-04-24T04:24:01.003 に答える
2

.odt 形式は、実際には (ほとんどの場合) zip ファイル形式であり、ドキュメントと場合によっては他のバイナリ リソースをパッケージ化します。zip ファイルであるということは、本質的にバイナリであることを意味します。OpenOffice を使用してドキュメントをプレーンテキスト XML で保存する方法があるかもしれません。

変更をマージする機能が本当に必要な場合は、おそらくプレーン テキスト形式の方が適しているでしょう。

于 2009-04-24T04:26:07.380 に答える
1

複雑なページのマージは、Subversion がうまく機能しないため、問題になります。

ロックすることで、一度に作業できるのは 1 人だけです。

LaTex または .txt の提案が気に入らない場合は、毎回 html ページとして保存できます。

おそらく、共同作業を可能にするOpenOffice用のプラグインを作成できます。

于 2009-04-24T04:42:18.293 に答える
0

複雑なマシンで管理されているファイルは、テキストとして保存されている場合でも、バージョン管理システムにマージするのは常に困難です。圧縮されていないOpenOffice.orgXMLの場合はどうなりますか?簡単な変更を加えると、XMLファイル全体の多くの行が変更され、競合が発生する可能性があります。

最善の策は、Markdownなどのより単純な形式を使用することです。これは、単純な形式では変更が少なくなり、より信頼性の高いマージにつながるためです。多くのライターはMarkdownを使用しており、簡単に習得できます。

このマークアップ言語をサポートするエディターはたくさんありますが、ワークフローを少し変更する必要があるかもしれません。たとえば、ODTからtxtへの変換スクリプトがあります。このスクリプトは、ODFをマークダウン形式でtxtに変換します。また、pandocは、MarkdownやODFなどの多くの形式間で変換できます。

したがって、2つのオプションがあります。

  1. Markdownを直接サポートするエディターに変更します(単純なテキストエディターでもかまいませんが、VIM MarkdownモードなどのMarkdownモードを備えたより高度なテキストエディターを使用できます) 。
  2. MarkdownとOpenOffice.org形式の間に変換ステップを挿入します。(最初に実行可能性をテストしてください)
于 2009-06-13T16:34:57.400 に答える