Domanda

Ho una scatola x64 Win7 esecuzione Tortoise release 1.0 x64. A proposito di Tortoise rivela che si tratta di 1.0 "con Mercurial-1.5, Python 2.6.4, PyGTK-2.16.0, 2.18.7 GTK-". Ho anche ActivePython 2.6 e Mercurial 1.5 x64 installato (installato tramite il programma di installazione Mercurial da il programma di installazione a 64 bit . Né un clone con i collegamenti duro sulla mia casella di finestre. le unità sulla mia macchina sono anche NTFS, che supporta hard link.

In fatti, quando ho eseguito l'interprete Python ed eseguire una creazione hard link tramite l'API win32file, si crea un collegamento con successo:

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

Tuttavia, se uso Mercurial per clonare, non ottengo lo stesso risultato:

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

Qualcuno ha la clonazione a lavorare su Windows con collegamenti fisici in uso o non è supportato? Ho notato che il programma di installazione TortoiseHg viene fornito con un 2,6 installazione Python. Inoltre abbiamo notato che ha il proprio eseguibile Hg (che ho anche provato e ottenere gli stessi risultati). Può la TortoiseHg e installazioni Mercurial causare i problemi?

È stato utile?

Soluzione

Si, avete ottenuto la risposta: il hardlink è nella repo (.hg) non la directory di lavoro. Quindi, se si crea un clone con -U il clone non occupa spazio su disco aggiuntivo. Un clone non-lavoro-dir è una grande opzione sul lato server, e talvolta utile sui desktop troppo. Se si dimentica la U si può sempre sbarazzarsi di dir di lavoro di un pronti contro termine con hg update -r null che aggiorna alla revisione null, che precede l'aggiunta di alcun file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top