winmergeという神ツール
バージョン管理ツールというのがある。
バージョン管理ツールというのは「テキスト」の変更履歴を管理するツールのこと。
今日時点だとネットではgitが決定版と言われていて、ほかにもCVSやsvnなんてのもある。
このあたりは、ひとつのプロジェクトをチームで動かしているようなケースでは必須のツールだろう。実際にFreeBSDやlinuxなどOSのソースコードはこの手のツールで管理運用されている。
ただ、個人で、ひとりの作業で使うにはどうだろう。
これからはgitだ、というんでインストールしてみたものの、個人でちまちまやってる分には大袈裟すぎて管理のための管理作業が発生して面倒なだけだった。仕事で他の人が管理しているツリーにメンバーとして参加、コミットしたりとか程度でがっつり使ったこともないし、実際のところはよくわかってない。
とはいえ、
「納品20210110.zip」
「納品20210110b.zip」
「納品20210110-修正1.zip」
「納品20210110-修正0115.zip」
ということもよくあって、変更履歴の管理はさすがに痛感しているので、納品後の修正や差し戻しがあったら(って、なんでやねん、という話だけど)ディレクトリごと別ディレクトリとしてコピーして作業するようにしている。
こういう時に、もう10年ぐらい重宝しているのが、winmergeという差分確認、マージ(差分擦り合せ)のためのツールだ。
https://winmerge.org/
これがなければ仕事にならないし、これのためにWINDOWSを使い続けている、といっても言いすぎじゃない。
神ツールとはまさにwinmergeのことを言う。
2つのファイルの差分をチェック
百聞は一見に如かず。
ふたつのファイルで違いのある箇所が左側のルーラーの黄色の部分。
メインの左右画面では違いのある箇所が赤く表示される。
差分、変更箇所がすぐに目視できる。差分のある箇所を個別にどちらかに合わせることもこの画面ですぐ、だ。編集されて上書き保存されたら元ファイルは拡張子が.bakになって保存される。
これはeasy_epubという電子書籍作成スクリプトのソースコード。
左側がオリジナルのリフローEPUB用、右側がハイブリッド対応版
無駄に機能追加したり、つぶしきれないバグフィックスをするたびに、別フォルダにコピーして修正。修正したらwinmergeで修正箇所、修正漏れの確認をして動作確認。動作が意図どおりじゃない時などもwinmergeのおかげで修正箇所の洗い出しが一発なので楽チン。
ディレクトリごとの比較
winmergeにファイルではなくてディレクトリを指定して読みこませると、ディレクトリ内で違いのあるファイルがこれまた一目瞭然。
違いのあるファイルが黄色くハイライトされている。
これはdoncha.netのサイトの一部。スクリプトやhtml、css、javascriptなどいろんなファイルがてんこ盛り。
webの場合、デザイン変更ひとつ取ってもhtml、構造の変更なのか、css、見た目のデザイン変更なのか、そのためにスクリプトやデータベースの変更は必要なのか、などなど、いろいろ絡んでくる。どのファイルを変更しなきゃいけないのか、実際どのファイルを変更したのか。
winmergeが一目で教えてくれる。
差分のあるファイルを選んでクリックすると2つのファイル比較となり編集更新ができる。
テキストの変更箇所、差分を教えてくれる、直感的で超絶便利なツールがこのwinmergeだ。
ということは。
プログラムとかエンジニアだけのものじゃなく、webのソースとかデザイナーだけのものじゃなく、テキストを扱うすべてのひとにとっての神ツールということだ。
小説書き、モノ書きのひとにとっても、語尾や用語を合わせる前後や、追加エピソードやセリフの確認とその比較に使える。
一太郎やワードはさらにモノ書きに特化した機能満載だから、それで間に合っているかもしれないけど、一太郎もワードも入っていないパソコンもあるしね。
gitやsvnのように更新、変更履歴を追うことはできないけど、winmergeさえあれば、個人でやる仕事については、万全磐石の安心感。
だがしかし、めちゃくちゃ残念なことにwinmergeはWINDOWS版しかない。macにもchromebookにも当然ない。
わたしの弁当箱macはすでに最新のOSアプデ対象外となっていて、今はただの鉄の箱だからいいとしても、去年末あたりから使い始めたchromebookで使えないのは致命的。このchromebook化したASUSのvivobookで委託のWEB運用、請負の電子書籍制作をやっていて、特に電子書籍の方はwinmergeでの作業がはいる。
原本、底本の元データと電子書籍化したEpubデータの差分チェックは欠かせない。
作成中にルビを取りこぼしたり、全角の空白を潰したりしてしまうこともあるし、修正依頼に対応したら修正の必要がない箇所に影響したり、などなど確認項目は多岐に渡る。
そのためだけに、WINDWOS機を起動してwinmergeで確認してたんだけど、さすがにどうにかせんといかんなあ、と必死のぱっちでぐーぐる先生。
「漢」ならdiffで頑張れ
とか言われてるんだけど、いくらなんでも無茶すぎ。そこでvimの出番となった。
エディタのvimがほぼ万能で、こいつもできないことを探すほうが難しいやつ。
vimdiffという差分チェックができるモード(?)がある。見た目もwinmergeとほぼ同じ、ていうか、vimdiffの方が先だろう。これで、ディレクトリ内のファイルの比較もできればなあ、と。
たぶん、いや、間違いなくvimだけでできると思うんだけど、わたしにそんなスキルも時間もないので、diffでディレクトリ比較した結果を適当に整形して読みこんで画面分割してやってみることにした。
winmergeほど便利じゃないんだけど、やりたいことはほぼこれでできることとなった。
ちなみにvimについては
https://knowledge.sakura.ad.jp/23018/
↑こちらのサイトがおすすめ。
しかしなあ。
21世紀にもなって、ラクをしようとするな、ツールなんか信用するな、というクズな仕事場もあって心の底から呆れるばかり。どうぞそのまま滅んでくださいとしか。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
【電子書籍発売中】