2

WinCVSをクライアントとして使用し、CVSNTをソース管理サーバーとして使用しています。CVSリポジトリに追加したいファイルのいくつかは、Unicodeファイルとして追加されました。ここで、ANSI(別名ASCII)ファイルと同じように再コミットしたいと思います。ただし、リポジトリから古いファイルを削除しても、同じ名前のファイルを追加するたびに、Unicodeエンコーディングがファイルに自動的に割り当てられます。

抜け道はありますか?つまり、ファイルがCVSに追加されたら、ファイルのエンコードを変更できますか?

4

3 に答える 3

4

ここで関係する (可能性がある) ことがいくつかあります。

  • WinCvs 自体でファイル タイプの自動検出を無効にすることができます。[管理] | [設定] | [グローバル] に移動し、[ファイルを追加するときにコントロールを提供する] というオプションを選択します - 理論的には、これを行った後、ツールバーから通常の [追加] コマンドを使用できるはずです

  • cvswrappers (クライアント側とサーバー側の両方) に、追加するファイルの種類を Unicode として定義するエントリがないことを確認してください。

  • WinCvs の最近のバージョンには、WinCvs UI でカバーされていない場合に備えて、特定の k モードでファイルを追加するためのマクロがバンドルされています (Macros|Add|Extended Add Selection... を探してください。" Text" (別名 -kt) を使用して、サーバーがファイル タイプの自動検出も実行しないようにします。

  • CVSNT は、ファイル タイプの変更のバージョン管理をサポートしています。あなたの場合、これのコマンドシーケンスのcvs update -kt後にはcvs commit -f

  • 最近のバージョンの WinCvs には、後者を実行するためのマクロがバンドルされています。マクロ |CVS |ファイル オプションの変更の下にあります。

[私はここに引用されている両方のマクロの作成者です。問題が発生した場合は、遠慮なく私に連絡してください。私の連絡先情報は、マクロ自体の中にあります]

于 2008-11-12T01:31:43.670 に答える
0

まず、サポートが優れているTortoiseCVSの使用をお勧めします。CVSNTWhieCVSCVSNT非常に似ていますが、そうでCVSNTはありません CVS。TortoiseCVSAddダイアログには、推測どおりのファイルタイプが表示され、そこでファイルタイプを上書きできます。

現在の状況では、Unicodeファイルの履歴を保持したくないと仮定して、次のことを試してみてください。

OK、最初に警告:

汝は手でCVSリポジトリを編集してはならない(汝が本当に必死でない限り)

さて、あなた自身の責任で、上記の規則を破る指示のために。

  1. CVSNTリポジトリディレクトリのバックアップを作成します(単純なZIPファイルで十分です)
  2. クライアントで、Unicodeファイルが実際にローカルおよびリポジトリで削除されていることを確認します。
  3. CVSNTリポジトリディレクトリ内:
    1. 最初にファイルを追加したモジュールディレクトリを見つけます
    2. Atticディレクトリを探す
    3. ,vファイルとその拡張子を削除します。
  4. クライアントの場合:
    1. ファイルにANSIエンコーディングがあることを確認します(プレーンな古いテキストファイル)
    2. cvs add再びファイル
于 2008-11-11T18:44:55.457 に答える
0

ここでの提案はどれも私を助けませんでしたが、これはうまくいきました

  1. ファイルをバックアップする
  2. cvsnt でファイルを削除してコミットします
  3. ファイルを復元する
  4. cvsnt で、コマンド ラインからファイルを追加します。「add -kt -- myfile.html」
  5. 追加したファイルをコミットする

注: ファイル タイプは、-k スイッチの後にファイル タイプを指定して指定します

于 2015-08-31T21:36:11.233 に答える