J'ai un dépôt Mercurial contenant une poignée de projets connexes. Je veux branche juste un de ces projets pour travailler ailleurs.
Est de cloner qu'une partie d'un référentiel possible, et est-ce le bon moyen pour y parvenir?
J'ai un dépôt Mercurial contenant une poignée de projets connexes. Je veux branche juste un de ces projets pour travailler ailleurs.
Est de cloner qu'une partie d'un référentiel possible, et est-ce le bon moyen pour y parvenir?
Ce que vous voulez, c'est un étroit ou partielle clone, mais ce n'est malheureusement pas encore pris en charge.
Si vous disposez déjà d'un grand dépôt et vous vous rendez compte qu'il serait judicieux de le découper en plusieurs petits dépôts, vous pouvez utiliser le convertir extension pour faire une Mercurial Mercurial conversion. Notez que cela crée un nouveau référentiel foo
et vous ne pouvez pas pousser/tirer entre your-big-repo
et foo
.
L' convert extension
n'est pas activée par défaut, ajoutez les lignes suivantes à votre repo s hgrc
le fichier ou votre mercurial.ini
le fichier:
[extensions]
hgext.convert=
Puis créer un map.txt
le fichier avec
include "libs/foo"
rename "libs/foo" .
(remarque: vous pouvez utiliser des barres obliques même sur Windows) et exécutez
$ hg convert --filemap map.txt your-big-repo foo
Que feront foo
d'un dépôt avec l'histoire complète de l' libs/foo
le dossier d' your-big-repo
.
Si vous souhaitez supprimer tous les éléments de preuve de l' foo
de your-big-repo
vous pouvez vous faire une autre conversion lorsque vous utilisez exclude libs/foo
pour se débarrasser de l'annuaire.
Lorsque vous avez plusieurs référentiels comme ça et que vous souhaitez utiliser comme un tout, alors vous devriez regarder à subrepositories. Cette fonctionnalité vous permet d'inclure d'autres référentiels dans une caisse, de manière similaire à la façon dont svn:externals
de travail. Veuillez suivre les recommandations sur cette page wiki.
Au lieu de faire un partiel clone, vous pouvez utiliser le Convertir Extension de diviser votre pension à plus d'un repo par sous référentiel.
En particulier, consultez la section Conversion de Mercurial:
Il est également utile pour filtrer les dépôts Mercurial pour obtenir des sous-ensembles d'un existant. Par exemple, pour transformer un sous-répertoire subfoo d'un référentiel de foo dans un référentiel avec sa propre vie (tout en gardant son histoire complète), procédez de la manière suivante:
$ echo include subfoo > /tmp/myfilemap $ echo rename subfoo . >> /tmp/myfilemap $ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo
J'ai tombé en face de ce problème et a trouvé une façon de le faire: en Utilisant les liens symboliques (Linux seulement, malheureusement)
Par exemple, si vous avez seulement besoin d' /project
dans le référentiel, sur votre ordinateur cloner le repo dans un autre dossier, puis utilisez ln -s /repo/location/ project
. Mercurial s'en occupera
Il s'agit de droite de l'avant avec la convertir extension.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.