2014-07-24 5 views
1

Je suis en difficulté pour trouver comment organiser un référentiel Mercurial pour un projet Django que je démarre. Ceci est la configuration actuelle:Plusieurs référentiels en tant qu'un dans mercurial

. 
├── .hg 
├── docs 
├── manage.py 
├── project 
│   ├── __init__.py 
│   ├── settings.py 
│   ├── urls.py 
│   └── wsgi.py 
└── requirements.txt 

Pour que mon flux de travail est, je préfère garder les activités liées au projet et documents séparés. Avoir deux dépôts dédiés pourrait être un moyen de résoudre le problème, mais ensuite je devrais cloner deux repos si je veux à la fois les docs et le projet, alors que je serais optimal de cloner un seul repo tout compris, comme celui de la photo ci-dessus.

Est-il possible d'obtenir ce que je veux, et comment réorganiser le projet, les docs et les dépôts?

Répondre

2

Il est possible d'imbriquer des référentiels sous un parent. Voir Mercurial Subrepository.

MAIS - ce n'est pas une bonne pratique. Voir FeaturesOfLastResort explication ici. Dans notre R & D, nous avons beaucoup de dépôts, et si nécessaire, les développeurs sont déjà utilisés pour cloner ceux qui sont nécessaires (2 ou plus) pour l'activité concernée.

J'espère que cela aide.

2

Vous pouvez avoir des référentiels imbriqués dans le référentiel parent. C'est considéré comme une mauvaise pratique. Je pense que vous devriez séparer vos documents et votre code dans des référentiels distincts.

Vous pouvez ajouter hooks aux opérations souhaitées afin que les actions effectuées dans un référentiel puissent être exécutées automatiquement dans l'autre. En plus de cela, vous pouvez également utiliser aliases pour les opérations sur les deux repos, donc vous aurez des commandes spéciales pour les opérations dans les deux repos.

Pour résoudre les problèmes de clonage, vous pouvez créer un script qui clone les deux repos dans le dossier souhaité.

Questions connexes