svn diffに2つのリビジョン間の空白以外の行の変更のみを表示させる方法


95

私は次のようなものを使用して2つのリビジョン間の差分を取得できます

svn diff -r 100:200 > file.diff

しかし問題は、空白の変更のために表示される多くの行があることです。空白だけでなく、実際に重要な変化をする行だけを書く方法はありますか?

回答:


95

使用できます

svn diff -r 100:200 -x -b > file.diff

すべての空白を無視したい場合:

svn diff -x -w | less

ソース


これは1.6の新機能ですか?SVNがこれを行うために使用することはありません。私はもっ​​と最新に保つべきです:)
Dan McGrath

4
1.5.4はそれを行います。しかし:
ur。

@ダンMcG。が1.6の新機能であるかどうかはわかりませんが、akatombo.com / en / comments / ignore_whitespace_in_a_subversion_diffのエントリ番号8 は、1.4以降利用可能であることを示唆しています
jrbjazz 2009年

1
EOLも空白と見なされる-x --ignore-eol-style可能性があるため、リビジョン間でEOLスタイルが異なる場合は、追加が必要になることがあります。
nedim 2015

5
svn diff -x -wより多くの空白を無視するため、使用すると役立つ場合もあります(ignore-all-spaceのエイリアス)
Kendall

74

-x --ignore-space-changeまたはを使用し-x --ignore-all-spaceます。(を参照してくださいsvn -h diff。)


21
svn diff -x -w==svn diff -x --ignore-all-space
chrisg86 2015

7

svn diffの--diff-cmd引数を使用して、代替のdiffコマンドを使用できます。diffは、空白を無視するための多くの機能を備えた優れたユーティリティです。

例えば:

svn diff --diff-cmd /usr/bin/diff -x "-w"

11
実際に私はsvn diff --diff-cmd / usr / bin / diff -x "-w" -r 2000:2100> jj1を使用しました。ありがとう
umar

@umar:これは私にとってうまくいくように見える唯一の方法です。
オービットのライトネスレース2017年

7

このシナリオでは、行末は空白とは見なされず、次の場合は無視する必要があることに注意してください。

svn diff -x --ignore-eol-style [etc...]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.