Question

J'ai une boîte de Win7 x64 en cours d'exécution Tortoise version 1.0 x64. A propos de tortue révèle qu'il est 1.0 "avec Mercurial-1.5, Python-2.6.4, PyGTK-2.16.0, GTK-2.18.7". J'ai aussi ActivePython 2.6 et Mercurial 1.5 x64 installé (installé via le programme d'installation Mercurial d'installation 64 bits. Ni l'un clone avec des liens durs sur ma boîte de fenêtres. les disques sur ma boîte sont également NTFS, qui prend en charge les liens durs.

En acte, quand je lance l'interpréteur python et exécuter une création de lien dur via le api win32file, il crée un lien avec succès:

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

Cependant, si j'utilise Mercurial pour cloner, je ne reçois pas les mêmes résultats:

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

Quelqu'un at-il travailler sur le clonage Windows avec des liens physiques utilisé ou est-il pas pris en charge? J'ai remarqué que le programme d'installation TortoiseHg est livré avec une installation Python 2.6. Aussi remarqué qu'il a son propre exécutable Hg (que j'ai aussi essayé et obtenir les mêmes résultats). Pourraient les installations TortoiseHg et Mercurial causer des problèmes?

Était-ce utile?

La solution

Ouais, tu as la réponse: le hardlinking est dans le repo (.hg) et non le répertoire de travail. Ainsi, si vous créez un clone avec -U votre clone ne prend pas d'espace disque supplémentaire. Un clone sans travail-dir est une excellente option sur le côté serveur, et parfois utile sur les ordinateurs de bureau aussi. Si vous oubliez le -U, vous pouvez toujours vous débarrasser du répertoire de travail d'une prise en pension avec hg update -r null qui met à jour à la révision nulle, qui est antérieure à l'ajout de tous les fichiers.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top