У меня есть Черепаха выполнения поля Win7 x64 1,0 выпуска x64. О Черепахе показывает, что это 1.0 "с Подвижными 1.5, Python 2.6.4, PyGTK-2.16.0, GTK-2.18.7". Я также получил ActivePython 2.6 и Подвижные 1,5 установленные x64 (установленный с помощью Подвижного установщика из 64-разрядного установщика. Никакой один клон с Жесткими ссылками на моем поле окон. Дисками на моем поле является также 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
Однако, если я использую Подвижный для клонирования, я не получаю те же результаты:
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
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 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 с hardlinks тем, чтобы быть используемым, или разве это не поддерживается? Я заметил, что установщик TortoiseHg идет с установкой Python 2.6. Также замеченный, что это имеет свой собственный исполняемый файл Hg (который я также попробовал и получаю те же результаты). Мог TortoiseHg и Подвижные установки вызвать проблемы?
Да, вы получили ответ: жесткая привязка находится в репозитории (.hg), а не в рабочем каталоге. Таким образом, если вы создаете клон с помощью -U
, ваш клон не занимает дополнительного дискового пространства. Клон без рабочего каталога - отличная опция на стороне сервера, а иногда полезная и на настольных компьютерах. Если вы забыли -U, вы всегда можете избавиться от рабочего каталога репозитория с помощью hg update -r null
, который обновляется до нулевой ревизии, предшествующей добавлению каких-либо файлов.