プロが教える店舗&オフィスのセキュリティ対策術

ソースコードを修正したときに、変更箇所のイメージではなく、
変更箇所について修正行番号を出力する方法はありませんでしょうか?

例えば以下のようなことです。
  修正前ファイル(file_old.c)
    1: aaaaa
    2: bbbbb
    3: ccccc
    4: ddddd
    5: eeeee

  修正後ファイル(file_old.c)
    1: aaaaa
    2: bbbbb
    3: CCCCC
    4: ddddd
    5: EEEEE

 このときに、変更詳細では無く、「3行目と5行目が変更されている」という情報が欲しいのです。

現在は、DFとかRekisaを使用して、変更箇所をハイライト表示して、
手作業で、「20行目と28行目、50行目が修正されているな」と確認しています。
修正箇所が少ないうちは、そんなに手間じゃないのですが、
100ステップ単位で修正したときなどは、修正箇所のピックアップが面倒だなぁと。

何か良い方法やツールありませんでしょうか?

A 回答 (3件)

VSSで差分が出ると思います。

もしくは、コメントに日付を入れておいてGREPで検索する方法が一般的ですよ。
修正個所は面倒くさがらずにコメント入れるのが前提ですが・・・

この回答への補足

VSSは使用していないですが、差分確認ツールは使用してます。また、コメントに日付は入れています。

欲しい情報としては、「グラフィカルにどこを変えたか」ではなく、「●●行目と●●行目に変更があったか」を知りたいと思っています。

補足日時:2005/07/04 16:11
    • good
    • 1

はじめまして。


DFをお使いなら、「比較結果をファイルに保存」して、"L|" などでgrepすれば概ねお望みのものが得られます。
手順が面倒ですが・・・
    • good
    • 0

「グラフィカルでない」というところに思わず反応してしまった。


UNIX系のコマンドだけどdiffコマンドはだめでしょうかねえ。
 C:\hoge> diff file_old.c file_new.c
 3c3
 < ccccc
 ---
 > CCCCC
 5c5
 < eeeee
 ---
 > EEEEE

念のため説明すると「3c3」の'c'は変更された(changed)ことを示す。
cの左はfile_old.cの行番号、右はfile_new.cの行番号です。

行番号だけ表示するというのはちょっと面倒だけど、行番号のところだけまとめるのは簡単にできる。
 C:\hoge> diff file_old.c file_new.c | sort
 ---
 ---
 < ccccc
 < eeeee
 > CCCCC
 > EEEEE
 3c3
 5c5

ファイルに出力すれば編集もできる。
 C:\hoge> diff file_old.c file_new.c | sort > hogehoge.txt

うーん。もっといいやり方があるんだろうけどね。簡単な方法が浮かばない。

参考URL:http://www.vector.co.jp/soft/winnt/util/se015010 …
    • good
    • 0
この回答へのお礼

ありがとうございます。
やりたかったことは、まさにこれです。
Diffコマンドに「| sort」というオプションがあったんですね。
助かりました!

お礼日時:2005/07/11 15:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!