民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS patch のない diff なんて

<<   作成日時 : 2009/12/29 12:43   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

お仕事の都合で、このところ、diff に似たユーティリティーを色々と探してきた。
そうしていくつものソフトを見比べながら、当たり前のことに気付くのである。
「まずは目的をしっかりと定めておかないと」

diff という名前に振り回されて、diff のようなソフトを色々とリストアップしてしまった。
が、どれもしっくりとこない。
何がしっくりとこないのか、冷静に自分を見つめなおして、ようやく理由が分かった。

自分が本当に求めていたのは patch 相当の機能だったのだ。

ファイルA と、それに手を加えたファイルA'がある。
まず第一の目的としては、その差分が分かるようにしたい。
だから、diff 系のソフトが欲しくていろいろと頑張っていたのである。
中でも WinMerge はお気に入りだ。

そして、次の段階として、差分をコンパクトな形で、ファイルとして保存しておきたい。
毎回 WinMerge を起動するのも面倒といえば面倒だ。
誰か他の人に差分を見せるのに、WinMerge のインストールから依頼しなければいけないというのも敷居が高い。
UNIX 系の diff のように、差分ファイルを軽く生成したいのだ。

そしてさらにもう一つ。元のファイルAと、差分ファイルの2ファイルから、ファイルA'を自動生成できるようにしたい。
UNIX 系のツールでいうところの patch だ。
ここが一番大事だったのだ。

じゃあ、最初から、diff と patch を使えばいいじゃないかと言われるかも知れない。
ところがどっこい。
diff は行ごとの比較しかできない。
今手元にあるファイルに diff を使用すると、全行出力されてしまいかねない状況なのだ。
元がCSVファイルで、特定の列の値だけ、ほぼ全行に手を加えてしまったのだが、正しく手を加えられたのかどうか、後から検証してみたいという状況だと思って欲しい。
列方向、すなわち縦方向に diff できれば、まともな件数に収まりそうなのが、微妙に悔しい。そんな状況だ。

世の中にはこういう案件もあるということだ。

diff 系のツールは数多あれど、特に Windows 用のツールでは、二つのファイルの差分を表示するだけだったり、マージ作業を支援するだけだったりして、差分のファイル出力機能や、patch 相当の機能が実装されていないことがままあるようだ。

まさに文化の違いか。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
patch のない diff なんて 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる