質問: ファイルがすでにsvnにコミットされているかどうかを確認します ファイル/フォルダーがすでにsvnにコミットされているかどうかを確認するにはどうすればよいですか?チェックインのためにユーザーが選択したファイル/フォルダーがまだコミットされていないことを確認したいシェルスクリプトがあります。たとえば、を使用してすでにコミットされているフォルダをチェックインしようとした場合 svn add myfolder 次の警告が表示されます。 svn:警告:「myfolder」はすでにバージョン管理下にあります
回答: svn infoの戻りコードを使用します。バージョン管理下にある場合は0、それ以外の場合はゼロ以外です。私のシェルはコマンドの後にゼロ以外のリターンコードを表示するので、次のようになります。$ svn info trunk path: trunk url: https://(...)/trunk repository root: https://(...) repository uuid: 651713a4-5a46-7e42-a99e-f31e79777eab revision: 213 node kind: directory (...) $ touch foo $ svn info foo foo: (not a versioned resource) svn: a problem occurred; see other errors for details rc: 1 bash出力を抑制して、infoスクリプト(他のシェルと同様)でそれを行う方法:svn info <filename> 1>/dev/null 2>&1 echo $?