[JM:02803] Re: [POST:DP] GNU diffutils 3.8 diff.1

Back to archive index
Akihiro Motoki amoto****@gmail*****
2021年 8月 5日 (木) 00:36:29 JST


Wed, Aug 4, 2021 at 10:46 PM matsuand <michi****@gmail*****> wrote:
>
> 2021年8月4日(水) 21:19 Akihiro Motoki <amoto****@gmail*****>:
> ...
> > > ただし疑問があります。info ファイルには "copied context" なる用語は
> > > 用いられていません。"copied context" は正しい用語ですか?
> > > diff の3 つのモードとして、 normal diff, copied context, unified context
> > > を挙げられましたが、2 つめは正しいですか?
> ...
> > すみません。3つのモードを書いたときにこのマニュアルページの
> > 表記に引きずられていました。
> >
> > normal diff, context diff, unified diff がよく言う表現だと思います。
> > info の xxx format という表現も使います。
>
> 話がわからなくなりました。
> 結局のところ、 "copied context" をどう訳したら良いとお考えですか?
>
> なぜ copied と表現されているかと考えると、これがコンテキスト形式の出力
> であって、コンテキスト(差異の箇所の前後を規定行含めて表記された
> 複数行)が、コンテキスト形式の場合、縦に必ず2つ並びます。コンテキスト
> をそっくりそのまま(共通部分を)コピーして並べて、差異のある部分は
> 記号を付して表現します。だから copied と表現されるのではないか、と。
>
> で、訳案としては、copied は無視しても意味は通じるのではないか
> と考えるようになりました。いかがですか?
>
> [原文]
> .TP
> -c, -C NUM, --context[=NUM]
> output NUM (default 3) lines of copied context
> [訳文] (再)
> .TP
> -c, -C NUM, --context[=NUM]
> コンテキストの NUM 行 (デフォルトは 3 行) を出力します。

正直に言うと、原文がわかりにくいと思います。
-c と -u は、context diff, unified diff の形式での出力を指定するオプションです。
この場合、前後に何行出力するかには興味はないです。
今の説明だと、何行出力するかに焦点があたっていて、
context diff, unified diff を知っているのが前提に書かれています。
説明としては、出力形式の違いがもう少しわかりやすくなっているべきだと思います。
#昔の diff.1 の man page は -c/-u は別の説明だったのでわかりやすかった。

コンテキストは、差分の前後の行のことです。
normal diff は差分のある行だけしか出力しないので、
前後の行を出力して前後関係をもう少しわかりやすくしたものが context diff です。
前後の行 (context) を出力するので context diff と呼ばれています。

# copied context と呼ぶのは初めて見ました。

これを踏まえると、意訳でよければ、以下のような案はいかがでしょうか。

-c, -C=NUM, --context[=NUM]
 context diff 形式を使用し、前後の NUM 行 (デフォルトは 3行) を表示します。
-u, -U=NUM, --unified[=NUM]
 unified diff 形式を使用し、前後の NUM 行 (デフォルトは 3行) を表示します。


linuxjm-discuss メーリングリストの案内
Back to archive index