1

ファイルを CVS に追加しようとすると、奇妙なエラーが発生します。

大文字と小文字が間違っていたために問題が発生し、問題が発生しました (つまり、MyFile.js は myfile.js として CVS にありました)。

ファイルを削除して再度追加しようとしたところ、次のエラーが発生しました。

cvs server: could not find parsed rcsfile MyFile.js

このファイルを完全に削除して、新しく始める方法はありますか?

Windows エクスプローラー (サーバー上) でファイルを削除しても、問題は解決しませんでした。Windows エクスプローラーでファイルを削除すると、ファイルを再び追加できますが、再度更新するとすぐに削除されたことが通知されます。

編集:

私は次のことを試しました:

  • cvs サーバー上の Windows エクスプローラーを介してバージョン管理されたファイルを削除し、cvs add および commit を介して追加し直します。これにより追加できますが、最初の更新時にサンドボックスから削除されます。
  • ファイルを別の名前 (MyFile2.js など) で追加し、cvs rename を使用して正しい名前 (MyFile.js) に名前を変更します。これにより、ファイルはサンドボックスに保持されますが、他のすべてのユーザーは別の名前 (MyFile2.js) を取得します。サンドボックスからファイルを削除すると、別の名前 (MyFile2.js) として戻ってきます。
  • cvs サーバー上の Windows エクスプローラーを介してバージョン管理されたファイルを削除し、cvs add および commit を介して追加してから、CVS を介して削除しようとしています。これにより、CVS からの非同期メッセージが発生します。更新により、サンドボックスからファイルが削除されます。
4

5 に答える 5

1

NTファイルシステムは、キャピタライゼーションに関しては少し奇抜です。最初のキャピタライゼーションを記憶していますが、その後は変更を無視します。

これはすべて、リポジトリで抜本的な手順を実行する必要があることを意味します。最初にバックアップを作成します。これを行うことに不安がある場合は、CVSを知っている人を見つけてください。

最初のステップは、リポジトリを見つけることです。作業ディレクトリに移動してファイルの内容をCVS/Root確認すると、次のような文字列が表示されます。

:ext:rivendell:/tera/cvs

これは、私のCVSリポジトリがディレクトリ "/ tera/cvs"のホスト"rivendell"から提供されていることを示しています。そのディレクトリの下に個々のプロジェクトがあり、最終的には目的のディレクトリに到達するまでディレクトリをドリルダウンします。

この時点で、バージョンファイルが表示されます。これは、末尾に「、v」が付いているために名前が付けられているか、表示されません。そうでない場合は、という名前のディレクトリを探してくださいAttic(CVSNTには屋根裏部屋がないと言っていましたが、私はあなたを信じていません)。

ここでは2つの選択肢があります。最も簡単なのは、バージョンファイルを削除することです。また、名前を「ix、v」などの無害な名前に変更してから、正しい大文字で名前を付け直すこともできます。とにかく、次のステップは変わりません

次に、ワークステーションに戻り、作業ディレクトリを削除します。完全に。CVSサブディレクトリやその他の凝ったものを削除しようとしないでください。保存する必要のあるファイルがある場合(まだチェックインされていないため)、安全な場所にコピーします。

リポジトリからプロジェクトの新しいコピーをチェックアウトし、正しい大文字でファイルを作成します。繰り返しになりますが、NTFSはキャピタリゼーションに不思議なので、保存したバージョンをディレクトリにコピーして名前を変更することはできません。

于 2009-08-14T19:42:53.960 に答える
0

「cvsremove」コマンドを発行してサンドボックスからファイルを削除し、サーバー上で削除のマークを付け、削除をコミットして再度追加しようとしましたか?あなたが経験しているのは、サンドボックスとサーバーが同期していないことだと思います。ファイルがcvsの制御下にある場合は、削除/名前の変更などを行わないでください。シェルコマンドを使用する場合は、CVSコマンドのみを使用して作業する必要があります。また、CVSNTでは、名前の変更の後に「ディレクトリ」コミットが必要であることに注意してください。ファイルをコミットしても、サーバー側で名前の変更は登録されません。とにかく、名前の変更に問題があり、最近のリリースで解決された問題もあります。

于 2009-10-29T16:50:43.477 に答える
0

「cvsremove」の後に「cvscommit」が続くのは機能しませんか?

于 2009-08-14T19:07:17.557 に答える
0

また、リポジトリ自体の Attic フォルダからファイルを削除する必要があります。

于 2009-08-12T16:23:50.330 に答える
0

CVS は放棄されたソフトウェアになりつつあります。まだ多くのバグがあり、パッチが適用されません。SVNに切り替えることができれば、より良いでしょう。インポートを行うためのツールもいくつかあります (自分で使用したツールは完全に機能しました)。各ファイルの履歴を含むすべてをインポートします。そして、あなたの問題を簡単に解決できるようになります。

CVS は、(他の操作の中でも) 名前の変更に関しては苦痛であることが知られています。したがって、SVN に変更すると、将来、バージョン管理ソフトウェアとの戦いに費やす時間が少なくなります。

SVN に切り替えられない場合:

  • これを本当に解決する必要がある場合、最終的な解決策は CVS を再インストールすることです。これは最終手段ですが、うまくいきます。

編集:私はこれを見つけまし。ファイルが台無しになったリビジョンを削除できますか?-0range コマンドを使用。注意:このコマンドは危険だと言われています。そのため、最初に cvs をバックアップすることをお勧めします。

于 2009-08-18T02:05:44.050 に答える