20050512 CVSNT導入
20050520 VSSチックな排他を運用している時に、ファイルを追加した後、なんかおかしくなる?
20050601 リポジトリとの差違を表示するには
20050602 リポジトリから最新を取得するとコンパイルエラーがたくさん出てしまう
20050603 コミットの実行中に問題発生
20050901 リポジトリと同期化から、最新バージョンのファイルを取り込むには
20051018 ローカル側でファイルを削除した場合の同期は?
20051025 .classpath ファイルをリポジトリ管理対象から外したい
20051114 リポジトリとの同期化のアイコンについて
20050512 CVSとは
ダウンロードページはこちら http://www.cvsnt.org/wiki/Download
Windows MSI install を選べば良い →cvsnt-2.5.01.1949.msi
cvsnt-2.5.01.1949.msi を起動する
Typical は標準の意味っぽい。これにすると、インストール先も聞いてこず、Program Files配下にインストールされる。
インストール先を指定したい場合はCustomを選択するらしい
再起動をせよ…
設定を行う為にコントロールパネルを起動する
スタートメニューから起動しないと不安定とのレポートあり(K氏)
「はい」をしないと、必要なフォルダがセットアップされない…!
これらのチェックをしておかないと、クライアントからの接続がうまくいなかった(k氏)
以上でコンパネ作業は終わり
ユーザーの作成
テキストファイルで作成しておく
場所は→C:\CVS_REP\CVSROOT\passwd
パスワードについても設定ができるが、unixのコマンド(crypt)を使用した暗号化をする必要があるようだ
今回はスキップ
以上でサーバー側は終わり
エクリプス側の設定
パースティクブを新設しよう
リポジトリーパスは、ネットワークフォルダ名で指定する事。
つまり、レポジトリのフォルダをネットワーク共有する必要がある
このエラーが出た時は、リポジトリーパスで指定したフォルダが、ネットワークから参照できる状態になっていない
VSSチックな排他を実現する為に
VSSとCVSの大きな違いとして、
VSSは同時にソースを変更できないようにするのがそもそもの考え方であるのに対し、(悲観的排他)
CVSはソース変更時にロックがかからずリポジトリに登録する際にバージョンチェックを行う(楽観的排他)
が違う。
CVSでも、VSSのようにソース変更開始時にリポジトリに信号を送ることにより、誰かが編集中である事を事を把握できる。ただし、排他を行うものではなく、「他で編集中である」事を警告するだけであるだけである。
排他状況がアイコンでわかる…らしい
以下の状態になっている事を確認
20050520 VSSチックな排他を運用している時に、ファイルを追加した後、なんかおかしくなる?
リポジトリに格納されているプロジェクトを、自分のエクリプスでも扱うようにしたい時は…
これをすると、リポジトリと連携したプロジェクトが、ローカル環境に展開されます。
本質的はシクミがまだつかめていないが、新規ファイルを作成した際には以下の手順を踏む必要があるようだ。
手順3の 「削除する」ってのが解せないないです…。
VSSチックな排他やめようかしらん。
対象のフォルダ/ファイルを選択→[右クリック]→[チーム]→[リポジトリと同期化]
発信モードとは、クライアント側からみて、リポジトリと異なるものだけが、表示されています。
つまり、リポジトリのみに存在するファイルは、対象外。
着信モードとは、発信の逆で、リポジトリ側から、クライアントをチェックしています。
[置換] → [HEADから最新] を行うと、コンパイルエラーが多発してしまう事がある。
普通、更新(VSSでいうところの、最新状態の取得)を行うとこんな事にはならないんだけど…・
原因
[更新]は、取得した後、ビルドが行われるが、[HEADから最新]はビルドが行われないようだ。また、ClassファイルはCVS管理していなかったのも一因と考えられる。
対処方法
全ビルドを行うべし
以下のエラーダイアログが表示された
たぶん、エクリプス上からではなく、ファイルエクスプローラーで読み取り専用属性を解除して変更してしまったからだと思われる。
その為、CVSのクライアント側が認識しているタイムスタンプと、ファイルシステム(実際のローカルファイル)のタイムスタンプがずれてしまうと思われる。
対処方法
[次と比較]→[ヘッドから最新] などを行い、ローカルCVSを合わせるべし
パースティクブのツリー表示上から、右クリックコンテキストメニューを表示して
[更新]、または、[更新]→[オーバーライドして更新]を行う。
すると、最新バージョンが取得できる。
パッケージ内のファイルを削除した場合は、その上位のパッケージにてコミットを行うと、削除情報も含めて反映してくれるようです。
「KG氏からの情報」
既にリポジトリで管理されている ファイルを消す場合は、以下の手順が必要となる
- 対象のファイルを退避
- 対象のファイルを削除
- 同期化を行う
- コミットを行う
- 対象のファイルを戻す
これにより、リポジトリ管理対象となっていない ファイルが存在できる
着信追加は、リソースがリポジトリーに追加されたことを意味します。「更新中」では、リソースをワークスペースに転送します。 | |
着信変更は、リポジトリーでファイルが変更されたことを意味します。 「更新中」では新規ファイル改訂をワークスペースに転送します。 | |
着信削除は、サーバーからリソースが削除されたことを意味します。 「更新中」ではローカル・リソースを削除します。 | |
発信追加は、ファイルがワークスペースに追加されたが、まだリポジトリーには存在しないことを意味します。「追加」、その後の「コミット中」では新規ファイルをリポジトリーに転送します。 | |
発信変更は、ファイルがローカルで変更されたことを意味します。ファイルの「コミット中」では変更がリポジトリーに転送され、新規ファイル改訂が作成されます。 | |
発信削除は、ローカルに削除されたリソースです。これらのリソースの「コミット中」では、リモート・リソースが削除されます。 注: CVS において、ディレクトリーはリポジトリーから削除されません。代わりにファイルが削除され、空のディレクトリーはワークスペースから枝取りされます。 | |
競合追加は、リソースがローカルおよびリモートで追加されたことを意味します。 | |
競合変更は、ファイルがローカルおよびリモートで変更されたことを意味します。ユーザーは手動または自動マージを行う必要があります。また、ビューの中で、競合である子が含まれるエントリーはすべて、「競合」アイコンで装飾されます。この装飾で、競合を簡単に見付けられます。 | |
競合削除は、リソースがローカルおよびリモートで削除されたことを意味します。 |
Eclipse CVS ワークスペースの同期 より