15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

git diffでパワポの差分比較を出来るようにする(Windows)

Last updated at Posted at 2017-09-11

パワポに対してgit diffを使いたい

パワポはバイナリファイルなので、普通のプログラミングファイルみたいに文字列の差分が取れない。
でもやっぱり差分比較はどうしても欲しい。
と、パワポをGitで管理している筆者は思いました。
(参考)発表用のスライドをGitで学会ごとにブランチで管理(Power Point)

(方法)パワポを文字列情報に変換後、差分を取る

git diff には特定の拡張子の場合、差分を取る前に任意のプログラムを通すことが出来ます。
そのため、バイナリファイルを文字列情報に変換するようなプログラムに通してやれば、バイナリのファイルでも文字列として差分比較が可能になります。

apache tikaでパワポの文字列情報を抽出する

とりあえずやり方だけ

拡張子の表示と隠しフォルダの表示はさせておいてください。

http://archive.apache.org/dist/tika/ からtika-app-1.14.jarというファイルをダウンロードします。(tika-app-1.15.jarやtika-app-1.16.jarだと要らない警告が出た)
ダウンロードしたファイルを好きな場所に置きます。(今回はC:\Program Files\Git\binに置きました)

ユーザーフォルダ(C:\Users\kyusqueみたいな場所)に.gitattributesファイルを作成後、

*.pptx diff=pptx
*.PPTX diff=pptx

という行を書き込んで保存します。

次に、ユーザーフォルダ上の.gitconfigを編集します。

[core]
  attributesfile = ~/.gitattributes

[diff "pptx"]
  binary = true
  textconv = java  -Dfile.encoding=UTF-8 -jar 'C:\\Program Files\\Git\\bin\\tika-app-1.14.jar' -t 

これによって、拡張子ごとの処理の情報が書かれた.gittattributesファイルを読み込み、それに対する文字列変換をどうするか設定できます。

この状態でgit diffをすれば無事、パワポを差分比較できるようになるはずです。

参考

git diff で Office ファイルの差分を見る
Git ExtentionsでOffice文書の差分表示

15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?