1

バージョン管理システムとして CVS を使用していますが、奇妙な問題に直面しています。一部のファイルでは、次のエラーが原因で (Eclipse を使用して) 同期または更新できません。

"[Project Name]: cvs [update aborted]: cannot create .#lang_en.properties.1.1.2.3.2.7.2.2.2.3.2.1.2.1.2.3.8.1.2.4.6.12.2.3.4.1.4.3.2.6.2.13.4.4.4.1.2.9.2.2.2.1.8.1.8.1.14.1.8.3.26.1.8.1.4.4.6.17.4.2.6.6.6.3.2.2.2.2.10.2.2.2.2.2.2.9.2.7.2.1.4.10.4.2.2.3.4.4.2.2.2.1.2.1.10.2.8.1.6.1.4.1.4.2.6.1.2.1.2.2.4.5.4.1 for copying: File name too long"

私の観察によると、これは頻繁にコミットされるファイルで発生します。チームの誰かがそのようなファイルをコミットすると (これは機能します)、チームの他の誰かが同期または更新しようとすると、単に「ファイル名が長すぎます」というエラーが表示されます。上記の例では、ファイル名は「lang_en.properties」のみであることを明確にしたいと思います。

この問題を解決する方法がわかりません。cvs からファイルを削除してから、同じ名前で再作成しようとしましたが (これは必須です)、同じリビジョン履歴が再び表示されます。どんな助けでも大歓迎です。

4

1 に答える 1

1

を実行すると like という名前のファイル.#<filename>.<revision>が作成さcvs updateれ、チェックアウトしたファイルに変更が加えられます。これは事実上、更新によって望ましくないことが発生した場合 (解決できない競合が発生した場合など) に備えて、使用していたバージョンのバックアップになります。これにより、更新をロールバックできます。

これに対処する最も簡単な方法は、更新を行う前にローカル ファイルを削除することです。そうすれば、CVS でこのバックアップ ファイルを作成する必要がなくなります。

私の観察によると、これは頻繁にコミットされるファイルで発生します。

これは頻繁なコミットが原因ではありません。リビジョン ID は、コミットを行うたびに順次増加します。例えば。1.1-> 1.2->1.3など。分岐を行うと、余分な桁が追加されます。たとえば、上記のファイルの 1.3 バージョンから分岐した場合、リビジョン番号は1.3.1.1-> 1.3.1.2->1.3.1.3などになります。

あなたがどのように作業しているかはわかりませんが、あなたのプロジェクトは印象的なレベルの分岐を導入しているようです。そのワークフローに対処するまで、更新を試みるたびにこの問題に遭遇し続けることになります。多くのファイル システムに存在する 256 文字のファイル名制限に達しました。

于 2013-05-21T16:20:32.167 に答える