web-dev-qa-db-ja.com

CVS:ローカルで変更されたファイルを表示

ローカルに追加、削除、または変更されたリポジトリ内のファイルのみを表示する簡単な方法はありますか? 「cvs stat」と入力してファイルのリストを調べることができることは知っていますが、それは面倒でエラーが発生しやすいです。もっと簡単な方法があるかどうか疑問に思っています。それが重要な場合に備えて、CVS 1.11.17を使用しています。

44
Elias Zamaria

「ダミー」アップデートにより、この情報が提供されます。

cvs -qn update

使用されるオプションの簡単な説明:

-q      Cause CVS to be somewhat quiet.
-n      Do not execute anything that will change the disk.
78
CB Bailey

Cvs diffコマンドを使用して、相違点の短いリストを取得できます。

cvs -q diff --brief
20
martin clayton

grepにパイプしてください!

cvs -Q status | grep -i locally
4
Ryan Joy

私が使用するものは次のとおりです。

cvs -Q status | grep -A 4 Locally | egrep -v '^\-\-|^   Working|^   Commit|^$' | awk '{print $2 " " $4}' | sed -e 's/\<Locally\>//;s/revision: \CVS-REPOSITORY-PATH/\t\t/'

出力:

pin_stages.ref 
            tests/unit/ccsn/pin_stages/pin_stages.ref,v
pin_stages_func.ref 
            tests/unit/ccsn/pin_stages_func/pin_stages_func.ref,v
2
cppRohit

以下はnmake-Perlスクリプトリストの変更されたファイルで、前述のcvs update -qnに基づいています。

DIRS=\
  c:\project1\
  c:\project2

all: $(DIRS)
  !cd $? & cvs -qn update | Perl -ne "s!\/!\\!g;print '$?\\'.qq($$1) if /^M (.*)/s;"
0
vtrz

次のコマンドを使用して、ローカルで変更したファイルのリストを取得できます

cvs -qn更新| grep "M" | awk '{print $ 2}'

0
Ram

Mが先頭に追加されたCVS更新ファイルは変更されたファイルですか。

例:

CVS Update
cvsntsrv server: Updating dat/idv
M dat/idv/conduct.idv  = Modified
...
0
Andre

一般的に言及されているcvs update -qnの代替として、cvs releaseコマンドを使用できます。ただし、これは対話型であり、出力の最後に確認を求めます(したがって、中止するだけです!)。通常の出力:

> cvs release .
...
U some/updated/file
M some/modified/file
...
You have [1] altered files in this repository.
Are you sure you want to release directory `.': n
** `release' aborted by user choice.
>

質問Are you sure you want to release directory '.':の後、yYとは異なるものを入力します。

0
flyer