2009-08-09 14 views
64

proplistと-Rフラグ(再帰的)と-vフラグ(詳細)を使用して、SVNリポジトリ内のすべてのディレクトリに設定されたプロパティのリストを表示することができます。SVNリポジトリでsvn:ignoreを再帰的に無視して設定されたすべてのパターンを表示するにはどうすればよいですか?

svn proplist -Rv 

これは、 svn:mime-typeやsvn:executableのようなものです。私はこれをsvn:ignoreプロパティにフィルタリングすることを検討しています。このコマンドの結果を、私が興味を持っている行だけを表示するシェルコマンドでパイプする方法があると確信していますが、どうやってそれを行うのか分かりません。最も有用なもののタイプの例として、このようなコマンドがあります(しかし、これはうまくいきません!)。

svn proplist -Rv | grep "^ svn:ignore" | awk "{print \$1}" 

私はこのためにgrepawkのようなシェルコマンドについて十分に知りません。これはちょうど "svn:ignore"を繰り返し表示しますが、ディレクトリパスやsvn:ignoreプロパティの内容は表示されません。ここでは、 "svn proplist -Rv"の出力例を示します。ここで、 'cache'はパス、 '*'はプロパティの値です。

Properties on 'cache': 
    svn:ignore 
    * 

上記のコマンドは、どのように動作させることができますか?または、リポジトリ内のすべてのsvn:ignoreプロパティを表示するためのより良い方法がありますか?

+1

awkに関するいくつかのヒント:インラインスクリプトには一重引用符を使用するのが一般的です。したがって、$をエスケープする必要はなく、実際に正規表現をあなたに合わせて実行することもできます:awk '/ pattern/{print $ 1} 'となります。私はsvnを知らない - あなたは 'svn:ignore'と同じ行に見ようとしているデータですか?もしそうでなければ、あなたの問題は少し面倒です。もしそうなら、2番目のフィールドだけが必要ですか? – Cascabel

+0

残念ながら私が見たいと思っているデータは、svn:ignoreと同じ行にありません。それはその真上と真下の内容です。私の質問の例では、「キャッシュ」内のすべてが無視されていることを示すため、「キャッシュ」と「*」のパスを取得したいと考えています。 awkに関するあなたのヒントをありがとう。 – stereoscott

+0

私の悪い - 私はサンプルの出力を探していて、何とかその上にスキミングしました。 – Cascabel

答えて

131
svn pg -R svn:ignore . 

... ...

svn propget -R svn:ignore . 
+11

@Ram - 再帰的に動作しません ignore'このようなものを出力します。 GitはSVNのように、[サブディレクトリにパターンを無視する](http://www.kernel。org/pub/software/scm/git/docs/gitignore.html#_description)の代わりにルート.gitignoreを使用してください。あなたは 'cat \' find -name .gitignore \ '| less'または 'find -name .gitignore -exec cat {} \;を実行します。 | 「less」、-RスイッチIMOを使用するのと同じくらい美しいものではありません。 (そう、私はあなたの[ブログ記事]を楽しんだ(http://blog.garlicsim.org/post/9583964892/a-git-users-first-and-hopefully-last-foray-into)。私はGitを学んでいるSubversionから、フェンスの反対側を見るのは面白い!) –

+2

'git svn show-ignore | grep -ve '^#\ |^[[:space:]] * $'> .gitignore' –

1

後半ここにジャンプする申し訳ありませんが、ここでは簡単な解決策があります。

grep。

svn proplist -Rv | grep svn:ignore -B1 -A1 

1つ前の行と1つ後の行を表示します。

関連する問題