5

作業コピーが常に CRLF 行末を持つように Mercurial リポジトリをクローンするにはどうすればよいですか?

これはこの質問に似てい ます Mercurial で eol 拡張機能を構成する際の問題

しかし、私のコンピューターでは動作しないように見える何かが欠けています。

私は SVN (TortoiseSVN) を数年間使用していたので、Mercurial は初めてです。TortoiseHG をインストールし、Br​​ian O'Sullivan の Mercurial: The Definitive Guide book を使用しています。

そこで私が最初にしたことの 1 つは、彼のサンプル リポジトリを自分のマシンに複製したところ、ファイルの末尾が Windows CRLF バージョンではなく LF であることがわかりました。

そこで、SVN で行ったように、これを処理するオプションを見つけようとしました。

%USERPROFILE%\Mercurial.iniに次のファイルを作成しました。

[extensions]
eol =

リポジトリを削除して、再度チェックアウトしました。変化なし。

さらに調べてみると、 .hgeolファイルが必要かもしれません。だから私は%USERPROFILE%フォルダに作成しました

[patterns]
** = native

リポジトリを削除して再複製しましたが、ファイルにはまだ CRLF ではなく LF が含まれていました。

次に、.hgeolファイルをリポジトリの親ディレクトリに配置し、最後に Mercurial.ini ファイル内にコマンドを配置してみました。また、ネイティブを CRLF に置き換えてみました。

これが機能するために必要なすべてであるように思われるので、何かが欠けているに違いありません。SVN のような自動変換の概念が欠けているのかもしれません。

4

1 に答える 1

7

.hgeolファイルは、ルートの親、ユーザー ディレクトリ、または Mercurial.ini ファイル内ではなく、リポジトリのルートにあるファイルである必要があります。

hg update null既存のクローンに追加するには、まず既存の作業コピーを(または)で削除する必要がありますhg clone --noupdate.hgeolファイルを追加したら、 を使用して作業コピーを元に戻すことができますhg update。この時点で、EOL 変換が有効になります。

最初にファイルをリポジトリにコミットせずにクローンに直接追加できるとは思いません。

于 2012-05-30T10:14:50.937 に答える