Si vous avez une sous-requête, un répertoire de travail doit inclure une version de ce sous-objet. Cette version peut être une ancienne révision fixe si elle est spécifiée, ou la pointe si ce n'est pas le cas.
Vous ne pouvez pas mettre à jour votre repo sans obtenir les subrepos; Si vous avez un répertoire de travail complet sans eux, vous ne devriez pas utiliser de sous-dépôts - utilisez plutôt des dépôts externes.
Si vos subrepos sont chevillés contre une certaine version à distance, puis mises à jour après la première ne déclenchera pas une mise à jour subrepo - ils sont déjà à jour. Mais pour la création initiale du répertoire de travail, vous devrez faire un tirage à distance.
Vous pouvez tromper Mercurial par munging le fichier hgsubstate
. Mais en réalité, votre modèle et le modèle conceptuel diffèrent, de sorte que vous n'êtes probablement pas un bon candidat pour les sous-dépôts si cela vous préoccupe.
edit: Si vous vous trouvez en train de cloner puis de mettre à jour plusieurs fois l'astuce, essayez plutôt d'utiliser des branches locales ou mq
. De cette façon, il suffit de faire le clone initial une fois.
Après l'étape 3, 'hg status' affiche toujours tous les fichiers en tant qu'ajouts en attente. L'exécution de 'hg debugrebuildstate -r tip' corrige cela. –