2009-07-18 13 views
2

プロジェクトでCVSを使用する必要があります。これまでのところ私はPERFORCEのみを使用していましたが、私はCVSについて何も知らなかったので、CVSマニュアル全体を読んでいましたが、これを行う方法が見つかりませんでした:CVS読み取り専用チェックアウト

ファイルをチェックアウトするときまず、p4 edit filename.Cを実行する必要があります(PERFORCEシステムに、意図的にこのファイルを編集して最終的にそれを送信しようとしていることを伝えてください)。

CVSでは、cvsを実行してファイルをチェックアウトしたときco fileName.C、ファイルはすでに編集可能状態になっています。

CVSのPERFORCEの通常のプラクティスは何ですか?

[最初にファイルを編集する意図をソース管理システムに明示的に指示しなければならないという追加の安全性が気に入っています。これにより、編集したファイルを簡単に見たり、変更を元に戻したりすることができます。また、p4 edit fileName.Cを実行せずにファイルを明示的に編集して一時的に変更することもできます。変更]

多くのありがとう!

+1

commiserations .... –

答えて

1

CVSには「編集」コマンドがあります。このコマンドは、ファイルを編集していることをサーバーに通知します。これは正直なところほとんど使用されていません。ファイルを編集しているときにシステムに知らせる必要はありませんが、内容が異なるかどうかを確認することで簡単に判断できます。

Subversionには、ファイルをロックする機能があります。これはあなたが何をしようとしているのかもしれません。

分散システムには、それを実装する必要はなく(可能な方法もありません)、そのような概念はありません。

サイドノートでは、CVSの選択は困惑しています。現在利用できるソース管理の技術ははるかに優れています。

+0

_Thereは、彼らがのGUIまたはコマンドを持っている場合は、ソース管理可能なnow_ のためのはるかに優れた技術を使用して、ディテール、いくつかのより良いものを指していますされていますラインインタフェース@Yann – madD7

3

あなたはこのような何か行うことができます:あなたは読み取り専用ファイルを返すようにコミットしたい場合は、

cvs -r checkout .... 

あなたがファイルを編集するときに、あなたはまた、

cvs edit filename 

なければならないが、あなたはする必要があります

cvs -r commit ... 

または、-rについて忘れて、CVSREAD環境変数を設定してください。ずっと簡単!グローバルオプションセクションのCVSのmanページから

、:

-r

は、新しい作業ファイルを読み取り専用にしてください。 $ CVSREAD 環境変数が設定されているのと同じ効果があります(ノード のCVS マニュアルの環境変数を参照)。 がオンでない限り、デフォルトでは 作業ファイルを書き込み可能にしています(CVS マニュアルのノード「Watches」を参照)。

例:CVSを使用することで

$ cvs -r checkout baz 
cvs checkout: Updating baz 
U baz/file 
$ ls -l baz/file 
-r--r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file 
$ cvs edit baz/file 
$ ls -l baz/file 
-rw-r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file 
関連する問題