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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top