web-dev-qa-db-ja.com

DOCXおよびPDFのバージョン管理?

私は最近githgをいじってみましたが、突然、この種のことがドキュメントに適していることに気付きました。

DOCXで編集してPDFとしてエクスポートするドキュメントがあります。私はgithgの両方を使用してバージョン管理を試みましたが、hgでバイナリのみを追跡することになり、差分は意味がありません。 gitを使用すると、DOCXを有意に比較できます(まだ試していないPDFはまだ試していません)正しく実行するよりも良い方法があるかどうか疑問に思っていました(理想的には、Wordをdiffに任せる必要がないことが最善の解決策です。)

-アシッシュガンジー

36
Jungle Hunter

ここには2つの異なる概念があります。1つは「バージョン管理システムがファイルの内容についてインテリジェントな判断を下せるか」です。 -リビジョン間のデルタ情報のみを保存できるようにします(ファイルの個々の部分に責任を割り当てるなどの処理を行います)。

もう1つは、「バージョン管理システムにあるファイルの種類に役立つファイル比較ツールがありますか」です。バージョン管理システムには、専用の代替機能よりも劣るファイル比較ツールが付属する傾向があります。しかし、ほとんどの場合、すべてのファイルタイプまたは特定のファイルタイプのどちらでも、より優れたdiffプログラムにリンクできます。

したがって、一般的な比較ツールとしてBeyond Compareを使用し、専用のWordドキュメント比較ツールとしてWordを使用するのが一般的です。

バージョン管理システムが異なれば、「バイナリ」を処理する上での優れた人々の認識度も異なりますが、それは、ファイル比較と同様に、巨大なファイルの処理と排他ロックの提供と同じくらいの頻度で行われます。

15
Will Dean

http://tortoisehg.bitbucket.io/ には、WordとExcelの差分を統合するdocdiffと呼ばれるプラグインが含まれています。

7
Joshua

これは 記事 がDocxのソリューションの概要を示しています Pandoc While この投稿 の概要のソリューションPDF使用 pdf2html

4
Daniil Shevelev

Beyond Compareをhgの外部diffツールとして使用できます。ユーザーMercurial.iniを次のように追加/変更します。

[extdiff]
cmd.vdiff = c:/path/to/BCompare.exe

次に、Beyond Compare file viewer rule for docxを取得します。

これで、Beyond Compareで2つのバージョンのdocxを比較できるようになります。

4
Geoffrey Zheng

Docxの場合のみ、ここに複数の場所の指示をまとめました: https://Gist.github.com/nachocab/642989

# download docx2txt by Sandeep Kumar
wget -O docx2txt.pl http://www.cs.indiana.edu/~kinzler/home/binp/docx2txt

# make a wrapper 
echo '#!/bin/bash
docx2txt.pl $1 -' > docx2txt
chmod +x docx2txt

# make sure docx2txt.pl and docx2txt are your current PATH. Here's a guide
http://shapeshed.com/using_custom_Shell_scripts_on_osx_or_linux/
mv docx2txt docx2txt.pl ~/bin/

# set .gitattributes (unfortunately I don't this can't be set by default, you have to create it for every project)
echo "*.docx diff=Word" > .git/info/attributes

# add the following to ~/.gitconfig
[diff "Word"]
    binary = true
    textconv = docx2txt

# add a new alias
[alias]
    wdiff = diff --color-words

# try it
git init

# create my_file.docx, add some content

git add my_file.docx

git commit -m "Initial commit"

# change something in my_file.docx

git wdiff my_file.docx

# awesome!

OSXでうまく動作します

4
nachocab

たまたまMacを使用している場合は、Microsoft Wordを使用して変更を追跡し、Wordが読み書きできるすべてのファイルタイプ間の競合を表示できるgitマージドライバーを作成しました。

http://github.com/jasmas/wordMerge

私が書いたドライバーがAppleScriptを使用するのは、主にこのタスクを実行するためです。

プロジェクトにvbscriptバージョンを追加するのは良いことですが、現時点ではテスト用のWindows環境がありません。基本的なスクリプトの知識がある人なら誰でも、私がやっていることを見て、vbscript、powershell、またはWindowsの何でも複製できるはずです。

2
user3294264

WindowsのTortoiseSVNでSVN(はい、2020年に:-)を使用しました。 DOCXファイルを比較する組み込み関数があります(画面を4つの部分に分割するモードでMicrosoft Wordを開きます:変更後のファイル、変更前のファイル、変更が強調表示され、変更のリスト)。下のスクリーンショット(MS Wordのポーランド語バージョンは申し訳ありません)。 TortoiseGITもチェックしましたが、この機能も備えています。 TortoiseHGにも同様の機能があることを読みました。

A screenshot of comparison of changes of a file using Microsoft Word and TortoiseSVN

0
JustAC0der