2

cvs リポジトリでローカルに変更されたファイルを確認しようとしています。私はこれを試しました

cvs update -qn | grep "^M "

たくさんのことを示しているという点で、私が期待していることはちょっとしたことです

M sources/..../a.cpp
M sources/.../b.cpp

しかし、出力にはたくさんの

cvs update: source/.../somefile.h is no longer in the repository

上記の行が grep 出力になるのはなぜですか。「^M」はgrepに「M」で始まる行のみを強制的に一致させると想定しました

4

1 に答える 1

1

ほとんどの場合、cvs の stderr ストリームからの出力です。試す

 cvs update -qn 2>&1 | grep "^M "

個人的には、エラー メッセージを捨てるのは嫌いです。その情報をファイルにキャプチャします。

 cvs update -qn 2>./filesMissingRpt.txt | grep "^M "

テストはできませんが、これで問題が解決すると確信しています。

IHTH。

于 2013-08-21T18:52:19.233 に答える