Я использую Mercurial под Windows XP (с использованием дистрибутива TortoiseHg) и хочу использовать жесткие ссылки NTFS при клонировании репозитория. «Из коробки» Mercurial этого не делает. Я читал, что необходимо включить расширение python win32file. Пока мне не удалось выполнить эту работу (добавление записи win32file в раздел расширений в mercurial.ini, похоже, не работает). Есть простой способ включить его?
Использование жестких ссылок при клонировании репозитория Mercurial под Windows
comment
Я не знаю ответа, но мне любопытно, чего вы пытаетесь достичь. Вы можете уточнить?
- person Arkady   schedule 07.08.2009
comment
Я пытаюсь повысить производительность клонирования репозитория. Поскольку жесткие ссылки только увеличивают количество ссылок на файл, клонирование репозитория становится довольно дешевой операцией с точки зрения дискового пространства и времени создания.
- person Mike Thompson   schedule 07.08.2009
comment
@ Майк Томпсон: Ты потерял меня там. Если вы используете жесткие ссылки для клонирования репозиториев, то изменение одного из файлов в одном репо повлияет и на все другие репозитории !? В чем подвох?
- person utku_karatas   schedule 07.08.2009
comment
@utku_karatas: Mercurial обрабатывает это автоматически. Он выполняет жесткие ссылки, и когда ему нужно изменить файл, если счетчик ссылок для этого индексного дескриптора больше 1, он делает копию. Таким образом вы сэкономите место до тех пор, пока не внесете изменения.
- person Ry4an Brase   schedule 09.09.2009
Ответы (1)
Я думаю, вам нужно установить полный Python и использовать исходный код Mercurial. Хотя скомпилированная с помощью py2exe установка Mercurial от TortiseHG может нормально загружать ртутные расширения, я понимаю, что она не позволит вам менять основные модули Python.
person
Ry4an Brase
schedule
07.08.2009
Что вы имеете в виду под полным Python? Работает ли ActivePython, или нам нужно загрузить исходный код Python, собрать и установить таким образом? ActivePython поставляется с файлом win32file, и я вижу в этой библиотеке функцию CreateHardLink.
- person Mike Caron; 24.03.2010
Кроме того, UpgradeNotes в Mercurial wiki говорит: 0.7: Клонирование жестких ссылок Windows - Начиная с версии 0.7, клонирование жестких ссылок теперь поддерживается в Windows с NTFS и ActiveState Python. Поскольку старые версии не могут правильно определить количество ссылок файлов с жесткими ссылками, использование старых версий Mercurial в новом репозитории, содержащем жесткие ссылки, может быть опасным. Так что, если у вас версия ›0.7, все будет в порядке.
- person Mike Caron; 24.03.2010