Word ドキュメントで同時編集が行われているため、Subversion が .doc ファイルのマージを処理できるようにしたいと考えています。Subversion が Word 文書のマージを適切に処理するかどうか知っていますか?
10 に答える
TortoiseSVNマージ ユーティリティとxdocdiffプラグインを使用して、 Office ドキュメントを比較およびマージします。
デフォルトのインストールでTortoiseSVNを使用して、差分を表示し、Word 文書のマージを実行できます。Word を開いて、Word 独自のレビュー/変更モードを使用するだけです。
編集: デフォルトでは、PowerPoint、Excel、OpenOffice、および StarOffice 形式の差分機能も備えています。(TortoiseSVN\Diff-Scripts ディレクトリを確認してください)。
Subversion に保存されている Word ドキュメントにsvn:needs-lockプロパティを追加して、ファイルを編集する前にファイルをロックする必要があるようにします。これは、マージの競合を防ぐのに大いに役立ちます。
これは私たちが仕事で行っていることであり、うまく機能しています。(Word 文書を使用しなければならないという選択肢はないため、ファイルの種類を変更するのではなく、このソリューションを使用します。)
Word 文書はバイナリなので、違います。編集者は、reStructuredText や LaTeX などのプレーンテキスト形式の使用方法を教えられるほどの知識を持っていますか?
いいえ: Word はバイナリ ファイル形式を使用するため、svn はファイルをまったくマージできません。
ただし、Word 自体にはマージ機能があります。マージの競合を解決する必要がある場合は、それを試すことができます。
Word を使用して、docx ドキュメントを「フラット OPC」XML 形式に保存できます (名前を付けて保存.. XML ドキュメント)。
このようにして、プレーンテキストファイルを取得します。
ただし、注意する必要があるのは、関係 ID が破損しないことです。
例えば:
ユーザー A がドキュメントに画像 (またはハイパーリンク、コメント、脚注など) を追加し、svn コミットを行います。
ユーザー B (svn 更新なし) は、それらのいずれかを Word に追加し、xml として保存してから、svn 更新を行います。
ユーザー B は、この時点でドキュメントを Word で開くことができない可能性が高いため、ドキュメントをコミットしない方がよいでしょう。これを制御できる場合、または問題を手動で修正する準備ができている場合は、問題ありません。
それ以外の場合は、私の Plutext コラボレーション ソフトウェアのようなものを検討することもできます。このソフトウェアは、ドキュメントを細断処理し、その構成ビットを Alfresco でバージョン管理します。
Htmlのような非バイナリ形式の使用を検討することもできます
Subversion を使用して Word 文書を自動的にマージすることはできません。3 方向のマージはサポートされていません (Tortoise SVN でも)。Word に縛られていない場合は、Revisionatorなどのオンライン ドキュメント エディターを使用できます。wysiwyg ドキュメントの 3 方向マージをサポートします。その他のリビジョン管理機能 (diffing、forking など)。
このページ http://newgeeks.blogspot.com/2006/08/word-document-management-using-svn.html では、totoiseSVN を使用して Microsoft Word ドキュメントのバージョン管理を行う方法について順を追って説明しています。
現在、SharpSVN を使用してリポジトリに接続する Word プラグインに取り組んでいます。現在の状態では、新しいドキュメントを作成して選択するのはちょっと複雑ですが、それは大きな問題ではありません。
そのため、(最終的に)ドキュメントがリポジトリにある場合、コミットして任意のリビジョンから更新するのは非常に簡単です。これらの .docx ファイルは、Word の組み込みの比較またはマージ機能を使用して比較およびマージできます。実際には非常に単純です。次の数週間かそこらでそれが完了することを願っています。