Como llegar clonación enlace duro en Windows
-
22-09-2019 - |
Pregunta
Tengo una caja x64 Win7 correr tortuga versión 1.0 x64. Acerca de la tortuga revela que de 1.0 "con Mercurial-1.5, Python 2.6.4, PyGTK-2.16.0, 2.18.7-GTK". También tengo ActivePython 2.6 e instalado Mercurial 1.5 x64 (instalado a través de la instalación de Mercurial desde las el instalador de 64 bits . Ni un clon con enlaces físicos en la caja de mis ventanas. las unidades en mi caja son también NTFS, que es compatible con los enlaces duros.
En las obras, cuando corro el intérprete de Python y ejecutar una creación vínculo físico a través de la API win32file, se crea un enlace con éxito:
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
Sin embargo, si uso Mercurial al clon, que no consigue los mismos resultados:
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
¿alguien tiene la clonación de trabajo en Windows con enlaces duros se utilizan o no es compatible? Me di cuenta de que el instalador TortoiseHg viene con una instalación de Python 2.6. También notamos que tiene su propio ejecutable Hg (que también he intentado y obtener los mismos resultados). Podrían ser las instalaciones TortoiseHg y mercuriales causando problemas?
Solución
Sí, se obtuvo la respuesta: el enlace duro se encuentra en el repositorio (.hg) no es el directorio de trabajo. Por lo tanto, si se crea un clon con -U
su clon no ocupa espacio en disco adicional. Un clon-dir no-trabajo es una gran opción en el lado del servidor, ya veces útil en ordenadores de sobremesa también. Si olvida la -U siempre puede deshacerse de directorio de trabajo de un acuerdo de recompra con el que hg update -r null
cambios a la revisión nula, que es anterior a la adición de los archivos.