25

0.9.4の時点で、シンボリックリンクを追加すると、Mercurialはリンク自体を追跡し、それが指すファイルやディレクトリは追跡しません。ただし、シンボリックリンクが指すファイルを追跡することが望ましい場合があります。

Mercurialにディレクトリへのシンボリックリンクを通常のディレクトリとして処理させるにはどうすればよいですか?

4

4 に答える 4

24

Linuxでは使用できます

mount --bind sourcepath targetpath

シンボリックリンクの代わりに、mercurialはターゲットを通常のディレクトリとして扱います(Mercurial1.3.1を使用したopenSUSE11.2、およびRHEL6でテスト済み)。

に含めるのに適した代替構文は/etc/fstab

mount -o bind sourcepath targetpath

fstabエントリは、

sourcepath targetpath none defaults,bind 0 0
于 2010-06-10T06:03:01.913 に答える
5

ディレクトリを操作しているときにこれを行う方法はないと思います。

Mercurial 1.3以降を使用している場合は、新しいサブレポサポートを使用してみることができます。これにより、ローカルディスク上にレポトラックを配置できますが、リンクほどシームレスではありません。

于 2009-12-26T04:36:12.960 に答える
5

これも見つけてびっくりしましたが、セキュリティ上の理由でMercurialチームが変更したくない機能のようです。

コミットする前に、rsyncを使用してディレクトリのローカルコピーをmakefileから更新することで、この問題を回避することを計画しています。これは素晴らしい解決策ではありませんが、私のディレクトリは非常に小さいので、問題ないはずです。

于 2010-04-03T08:35:30.193 に答える
2

Rage Steelの優れた答え(mount --bind)のフォローアップ:

マウントを起動時に準備するには(マウントは再起動後も存続しないため)、/ etc/fstabsに次のように入力します。

/ paht / to / source / path / to / target bind defaults、bind 0 0

ソースがマウントされた後に必ず配置してください。

于 2011-06-25T09:38:58.367 に答える