web-dev-qa-db-ja.com

bzrdiffの読み方

元の:

if __name__ == "__main__":
    myparams = {"server":"mpilgrim", \
                    "database":"master", \
                    "uid":"sa", \
                    "pwd":"secret" \
                    }

bzr diffのカット:

 if __name__ == "__main__":
     myparams = {"server":"mpilgrim", \
@@ -15,4 +22,6 @@
                     "pwd":"secret" \
                     }

Bzrdiffの「@@-15,4 +22,6 @@」の部分はどういう意味ですか?なぜ2行を上書きするのですか?

"database":"master", \
"uid":"sa", \
3
Paradiesstaub

context diffからの抜粋を提供しました。これは、両方のファイルで同じ行と変更された行の両方を示しています。ただし、選択した抜粋には、実際には変更された行は表示されません。 (これらの前には、削除するか追加するかに応じて、-または+文字が付きます。)

@@ -15,4 +22,6 @@は、古いファイルの行4で始まる15行が変更され(または変更されないが、コンテキストとして表示される)、新しいファイルの行6で始まる22行に対応することを意味します。 (これが発生する最も簡単で圧倒的に最も一般的な方法は、新しいファイルで追加された行数が新しいファイルで削除された行数を7だけ超えて、古いファイルの15行で始まったものが行で始まることです。指定しようとしている変更を適用する前の、新しいファイルの22。)

これはコンテキスト差分であるため、変更を指定しないコンテキストの行をいくつか提供します。これは、ファイルを編集している人(この場合のようにソースコードの場合は開発者/メンテナ)が差分をスキミングして何が起こっているのかを知るのに役立ちます。ただし、多くの場合、あるバージョンのファイルに対して作成された差分を、同じファイルの別のバージョンに対して適用できるようにするという他の便利な目的があります。ただし、すでに変更されたのとまったく同じ行が変更されない場合に限ります。 (つまり、差分が作成された後、適用される前に変更されました)。

次の行は、その直前に変更があったため、コンテキストとして差分に存在すると考えられます(したがって、変更後にコンテキストが提供されます) :

if __name__ == "__main __":
 myparams = {"server": "mpilgrim"、\

これらの行はおそらくコンテキストとしてdiffに存在しますが、これはそれらの直後に変更が行われるためです(したがって、これらの行はコンテキスト提供beforeおつり):

                     "pwd": "secret"\
}

これらの行は、おそらく、コンテキストとして含まれるようにdiffで指定されたanyの変更に十分に近づいていません。

                    "データベース": "マスター"、\ 
 "uid": "sa"、\

そのため、diffに欠落しているように見えます。差分がファイル全体を表示することは想定されていないため、これらは実際には欠落していません。これらすべての持ち帰りメッセージは、diffがそれらを削除するように指定しているため、それらが存在しないことはnotであるということです。確かに、もしそうなら、それらをincludeする必要があることを指定していません(それらの削除を示すためにそれらの前に-記号が付いています)。

(私はおそらくと言いますが、これは起こっていることではない可能性が高いからではなく、diffユーティリティは、指定された数のbeforeおよびafterコンテキスト行で差分を作成します。必要に応じて、diffを手動で作成または変更して、一部の場所で他の場所よりもコンテキスト行が多いまたは少ないようにすることができます。必要に応じて、@@行の番号がどこにある場合でも、有効なdiffになります。一致するように変更されました。)

diffdiffpatchdiff3、およびsdiffユーティリティ、およびdiff/patch format)、 GNU diffドキュメント を参照してください。特に、 統一フォーマット に関する部分のセクションに興味があるかもしれません。

3
Eliah Kagan