0

別の開発者が CVS リポジトリに新しいディレクトリを追加した場合、次の更新でこの新しいディレクトリを私の作業コピーに取り込んでもらいたいと考えています。ランニングcvs updateはこれをしません。実行cvs update -dはできますが、非常に長い時間がかかります。リポジトリ内のすべてのファイルのパス名を出力し、それぞれについて少し時間をかけて考えます。新しいディレクトリの親で実行cvs update -d <dirname>するとうまくいきますが、最初に新しいディレクトリについて知る必要があり、新しいディレクトリごとにこれを行う必要があります。

CVS サーバーから、新しく追加されたディレクトリを含む完全な更新を取得する効率的な方法はありますか?

4

1 に答える 1

0

このタイプの更新用にカスタムの $CVSIGNORE リストを生成するシェル スクリプトを使用して、次のruns cvsupdate -dようにします。

CVS には、更新、インポート、およびリリースの実行中に無視する必要があるファイル (または sh(1) ファイル名パターン) のリストがあります。このリストは次のように作成されます。

    リストは、特定のファイル名パターンを含むように初期化されます。CVS 管理に関連付けられた名前、または他の一般的なソース管理システムに関連付けられた名前。パッチ ファイル、オブジェクト ファイル、アーカイブ ファイル、およびエディタ バックアップ ファイルの共通名。およびその他の名前は、通常、さまざまなユーティリティの成果物です。現在、無視されるファイル名パターンのデフォルト リストは次のとおりです。


        RCS SCCS CVS CVS.adm
        RCSLOG cvslog.*
        タグ TAGS
        .make.state .nse_depinfo
        *~ #* .#* ,* _$* *$
        *.old *.bak *.BAK *.orig *.rej .del-*
        *.a *.olb *.o *.obj *.so *.exe
        *.Z *.elc *.ln
        芯

    そのファイルが存在する場合、'$CVSROOT/CVSROOT/cvsignore' のリポジトリごとのリストがリストに追加されます。
    ホーム ディレクトリの '.cvsignore' にあるユーザーごとのリストが存在する場合は、リストに追加されます。
    環境変数 $CVSIGNORE のすべてのエントリがリストに追加されます。
    CVS に指定された '-I' オプションが追加されます。
    CVS がディレクトリをトラバースすると、「.cvsignore」の内容がリストに追加されます。'.cvsignore' で見つかったパターンは、それらを含むディレクトリに対してのみ有効であり、サブディレクトリに対しては有効ではありません。

上記の 5 つの場所のいずれかで、単一の感嘆符 ('!') が無視リストをクリアします。これは、通常は CVS によって無視されるファイルを保存したい場合に使用できます。

参考文献

于 2013-12-10T01:21:51.257 に答える