開発中の場合、プロジェクトでいくつかのファイルを作成したことを忘れて、コミットすることにします。それから数日後、バディはビルドをSubversionから取り出し、いくつかのファイルが欠落しているように見えると文句を言います。お気づきのとおり、これらのファイルを追加するのを忘れました!
Subversionからバージョン管理されていないファイルのリストを取得するにはどうすればよいので、リポジトリにすべてを追加したのでしょうか。
使用 - svn status
コマンド:
svn status | grep ^?
バージョン管理されていないファイルは、?で示されます。行の先頭。
リポジトリに追加すべきではない特定のファイル(生成されたバイナリなど)が常にある場合は、 svn:ignore
含まれるディレクトリのプロパティ。したがって、svn status
。
一部のファイルのステータスに ignore
が追加されている場合、svn status
には表示されません。あなたは必要になるでしょう:
svn status --no-ignore
Windowsで実行している場合、PowerShellを使用して Greg Hewgill の答えに似たことができます。
(svn stat) -match '^\?'
これは非常に簡単に拡張でき、バージョン管理されていないすべてのファイルを見つけて削除できます。
(svn stat "--no-ignore") -match '^[I?]' -replace '^.\s+','' | rm
それが誰かに役立つことを願っています!
または、Windowsコマンドラインから:
svn stat | find "?"
このコマンドを使用して、バージョン管理されていないファイルのすべてのパスをリストできます。
svn status | awk '/^?/ {print $2}'
最初の部分はsvn status
、その後、出力を [〜#〜] awk [〜#〜] にリダイレクトします。これにより、「最初の文字は '?'でなければなりません」という単純なフィルターが実行され、2番目のパラメーターが出力されます「これはファイルパスです」。
svn status
は常に無視されたファイルをnot印刷します。ファイルまたはパスを追加するには、そのパスを追加します
svn propset svn:ignore "PATH OR PATERN"