5

Tortoise 1.0 x64 リリースを実行している Win7 x64 ボックスを持っています。Tortoise については、「Mercurial-1.5、Python-2.6.4、PyGTK-2.16.0、GTK-2.18.7 で」1.0 であることを明らかにしています。また、ActivePython 2.6 と Mercurial 1.5 x64 をインストールしました (64 ビット インストーラーから Mercurial インストーラーを介してインストールしました。Windowsボックスにハード リンクを使用したクローンはありません。ボックスのドライブも NTFS で、ハード リンクをサポートしています。

実際、Python インタープリターを実行し、win32file API を介してハード リンクの作成を実行すると、リンクが正常に作成されます。

me@pc C:\temp
> python
ActivePython 2.6.2.2 (ActiveState Software Inc.) based on
Python 2.6.2 (r262:71600, Apr 21 2009, 15:05:37) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from win32file import *
>>> CreateHardLink('C:\\temp\\Mike2.txt','C:\\temp\\Mike.txt')
>>> ^Z

me@pc C:\temp
> fsutil hardlink list Mike.txt
\temp\Mike.txt
\temp\Mike2.txt

ただし、Mercurial を使用してクローンを作成すると、同じ結果が得られません。

me@pc C:\Users\mcaron
> which hg
C:\Program Files (x86)\Mercurial\\hg.EXE
me@pc C:\temp
> hg status demo
mcaron@DEV-MCARON-W64 C:\temp
> hg log demo
changeset:   0:6db7092740d5
tag:         tip
user:        Michael Caron <mcaron@solidworks.com>
date:        Wed Mar 24 16:08:38 2010 -0500
summary:     first

me@pc C:\temp
> hg clone demo demo2
updating to branch default
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
me@pc C:\temp
> fsutil hardlink list .\demo\mike.prtprp
\temp\demo\mike.prtprp
me@pc4 C:\temp
> fsutil hardlink list .\demo\mike1.prtprp
\temp\demo\mike1.prtprp
me@pc C:\temp
> fsutil hardlink list .\demo\mike1_2.prtprp
\temp\demo\mike1_2.prtprp
mme@pc C:\temp
> fsutil hardlink list .\demo\mike2.prtprp
\temp\demo\mike2.prtprp

me@pc4 C:\temp
> hg --version
Mercurial Distributed SCM (version 1.5)

Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
me@pc C:\temp
> python -V
Python 2.6.2

ハードリンクを使用してWindowsでクローンを作成している人はいますか?それともサポートされていませんか? TortoiseHg インストーラーには Python 2.6 がインストールされていることに気付きました。また、独自の Hg 実行可能ファイルがあることにも気付きました (これも試してみましたが、同じ結果が得られました)。TortoiseHg と Mercurial のインストールが問題を引き起こしている可能性はありますか?

4

1 に答える 1

9

ええ、あなたは答えを得ました:ハードリンクは作業ディレクトリではなくリポジトリ(.hg)にあります。したがって、クローンを使用してクローンを作成する場合、-U追加のディスクスペースは必要ありません。no-working-dir cloneはサーバー側の優れたオプションであり、デスクトップでも役立つ場合があります。hg update -r null-Uを忘れた場合は、ファイルの追加よりも前のnullリビジョンに更新されるリポジトリの作業ディレクトリをいつでも取り除くことができます。

于 2010-03-26T16:29:12.290 に答える