1

CVSプロジェクトの4つのファイルに問題があります。これらのファイルの1つをコミットするたびに、CVSはそのファイルの最後に同じコード行を追加し続けます。このコード行は、現在のファイルの繰り返し行です(ただし、ファイルの最後の行ではありません)。

私はいくつかのことを試しました:更新、行の削除とコミット、すべての行の削除とコミット、行の追加とコミット、ヘッダーの追加とコミット。しかし、ファイルの最後に常に同じコード行が追加されます。すべてのファイルを削除して再作成することはできましたが、すべての履歴データが失われました。

コミットしたときにCVSがファイルを変更しているのは気まずいです。準拠コードにエラーが追加される可能性があるため、逆効果ではありませんか?

私のファイルが.strings(テキストファイル、ユニコード)であることを追加できます。私はブランチに取り組んでいますが、最近それをトランクにマージします。

詳細:

  • 私は仮想WindowsマシンでTortoiseSVNを使用しています。このマシンは、これら2つの間のネットワークドライブを介してMacOSXのDocumentsフォルダーにアクセスできます。

  • 同じプロジェクトを持っているが実際のWindowsフォルダーにいる私の同僚は、問題なくコミットできることがわかりました。

  • そして今、彼がそれをしたので、問題は私にとっても解決です。

  • しかし、私は何が起こるのか分かりません。私の唯一の手がかりは、TortoiseSVNを壊すMacOSXの隠されたキャラクターです。出来ますか?

4

1 に答える 1

1

私はCVSでこの問題を経験していませんが、編集しているファイルがUnicodeテキストであることに注意してください(これがUTF8またはUTF16を意味するかどうかは言及しませんが、どちらかが問題を引き起こす可能性があります)。

CVSサーバーがどのように構築され、どのように(そしてどのプラットフォームで)実行されているかに応じて、サーバーがUnicodeに対応していない可能性が高くなります。これにより、Unicode文字の2番目(またはそれ以降)のバイトがASCII'$'と等しい場所でRCSスタイルの$タグを展開するなど、考えられる問題の全範囲が発生する可能性があります。

この回避策は、Unicodeソースファイルをバイナリオブジェクトとしてマークすることです。コマンドラインから、これは次を使用して実行できます

cvs add -kb file-name

新しいファイルを追加するとき、または

cvs admin -kb file-name

既存のファイルの場合(file-nameをファイルの名前に置き換えます)。

後者の場合、ファイル(のローカルコピー)を削除し、「cvs update」を実行して、タイプを変更した後に元に戻すことをお勧めします。

これを行うと、ファイルにすでに表示されている変更に役立つ可能性は低いため、ファイルを確認し、この変更を行った後に既存の問題を修正してください。

于 2013-01-15T18:41:24.130 に答える