変更、追加などされたファイルのリストのみを表示したい、コンテンツではなく(svn diff
が出力する)、svn status
などのファイルのリストのみが表示されます。
svn diff -r HEAD
は大量の情報をダンプしますが、すぐに理解するのは困難です。
svn status
は、作業コピーをローカルの元のバージョンと比較した変更のみを表示します(リポジトリリビジョンとは表示しません)。
svn update
は--dry-run
をサポートしていません
簡単に言うと、svn status
のようなものが必要ですが、 現在の作業コピーをリポジトリのリビジョンと比較します (HEADリビジョン)と比較します。
SVNマニュアルに目を通しましたが、残念なことに何も助けになりませんでした:-/
試して
svn status --show-updates
-u
の--show-updates
(またはsvn status
)オプションは、svnがリポジトリに接続し、リポジトリで変更されたものを表示するようにします-それで十分ですか?必要に応じて、-q
または--verbose
フラグも必要になる場合があります。
svn diff -r head
これにより、作業コピーとリポジトリ間で異なるすべてのファイルのdiff
リストが生成され、ファイルのリストと実際の変更が提供されます。あなたが言うように、これは理解するのが難しい場合があります。
だからこれを試してください:
svn diff -r head --diff-cmd meld
これは同じことを行いますが、meld
(他の視覚的な差分ツールを兵器庫に提供できます)を使用して変更を表示します。
しかし、真剣に、これらのdiff出力は他の多くの事柄(たとえばパッチ)の基礎を形成し、Linuxの世界では避けるのがかなり難しいので、それらのdiff出力を読むことに慣れてください。出力を削減するには:
svn status -u
変更されたファイルのリストが表示され、その後:
svn diff <file> -r head --diff-cmd <tool>
興味のある特定のファイルだけの視覚的な違いを提供します。
元の質問の言い方をすれば、正しい答えはすでに示したsvn status -uです。フォローアップのコメントに基づいて、svn diff --summarizeにも注意する必要があります。これは、2つのリポジトリリビジョンまたは2つのタグまたはリポジトリ内の何かを比較するために使用するものです。このオプションを使用して、作業コピーとリポジトリを比較することはできません(ステータスはそれを行います)。
参照: http://blogs.collab.net/Subversion/2007/03/computing_the_d/
op:
変更、追加などされたファイルのリストのみを表示し、コンテンツ(svn diffが出力する)ではなく、svn statusなどのファイルのリストのみを表示したいのです。
OPのように、最新のトランクに対して大きなsvnリポジトリの下にネストされているプロジェクトブランチの現在の作業コピーの「svn status」スタイルのレポートを見たいと思います。svndiffが使用するのと同じパスとリビジョン引数を使用したいです。
以下はそれを行います:
svn diff --old . --new ^/pathToProject/trunk --summarize
もちろん、「pathToTrunk」をリポジトリが使用する実際のパスに置き換えます。
これが私がしたことで、私の問題を解決しました。作業コピーとレポジトリのコピーの違いを知りたいです。
svn diff > ~/svndiff.txt
そして、SublimeText 2のプレーンテキストファイルを取得して、読みやすくしました。これはかなり基本的なものだと思いますが、同様の問題を解決するのに役立ったので投稿したいと思いました。
これはあなたが探しているものかもしれません:
svn diff -r HEAD --summarize