2010-04-09 10 views
19

Está copiando el directorio .hg a otro directorio igual que la clonación en Mercurial (usando TortoiseHg aunque creo que es irrelevante) o el comando de clonación en Mercurial hace algo especial durante ese proceso?Diferencia entre clonación y copia en Mercurial

Respuesta

30

Es casi lo mismo. Clonación hace un par de cosas diferentes, ninguno de los cuales son necesarios, pero algunos de los cuales son frescos:

  • clones obtener un directorio de trabajo demasiado (que se puede evitar con -U)
  • clones obtener el conjunto de recompra fuente como predeterminado para push/pull en el archivo .hg/hgrc
  • clones se pueden obtener sólo un subconjunto del original (clon -r X consigue revisión X y sólo todos los antepasados)
  • clones utilizan enlaces duros cuando el sistema de archivos que soporta

T El último es genial. Significa que si tengo un repositorio de 200GB y hago un clone -U src dest ¡obtengo un clon completo que no usa espacio de disco en absoluto! Si omito el -U obtengo una copia de trabajo que ocupa espacio, y cuando los dos clones comienzan a divergir, el nuevo comienza a ocupar espacio, pero un clone -U básico es instantáneo y no tiene espacio en el disco en los sistemas de archivos modernos. Eso no es cierto de una copia (que también funciona bien).

+0

+1 por mencionar los beneficios de los enlaces duros –