Question

Je vais bientôt être convertir ma part d'une application à l'aide d'un référentiel svn soutenu à l'aide d'une git.

Je l'ai déjà utilisé git-svn, mais l'équipe entière est déplacée à git et on m'a demandé d'être à l'avant-garde de ce mouvement. Bien que je suis heureux, je comprends comment fais la plupart du mouvement, il y a un aspect que je n'ai pas encore travailler.

Un répertoire de mon référentiel de configuration a toujours été utilisé pour suivre le répertoire des scripts d'une application externe sur une machine Windows autonomes. Le répertoire des scripts pour cette application est à l'intérieur des applications répertoire d'installation, donc avec svn je l'ai fait une caisse de ce répertoire juste au moment approprié.

J'espérais que je serais en mesure de poursuivre cette structure, mais ma recherche suggère que les clones étroits dans git vous obligent à garder la même structure par rapport, ce qui serait difficile dans mon cas.

Pour être explicite, je veux cartographier le contenu de myrepo:config/scripts à C:\application\scripts.

Pour autant que je le vois, j'ai plusieurs options:

1. Utilisez un dépôt séparé pour ces fichiers de script.

Ce serait probablement préférable, car il me permet de cloner le repo dans exactement au bon endroit.

Malheureusement, il n'y a actuellement aucune structure qui permet aux données de configuration (qui est ce que ces scripts sont) être stockés ailleurs que dans le répertoire de configuration. En tant que tel, cela nécessiterait une restructuration de nos dépôts au-delà de la conversion directe de svn à git que nous espérions.

2. Utilisez des points de jonction.

Je pourrais mettre la git copie de travail du répertoire config ailleurs sur C:\, puis utiliser un point de jonction pour rendre le répertoire apparaître comme un sous-répertoire du répertoire de l'application, comme Ger4ish suggère utilisant des liens symboliques sur unix.

Malheureusement, je n'ai pas accès admin à cette machine, si ce n'est pas aussi simple qu'il n'y paraît.

Autres options?

Je me demande s'il y a des options que j'ai raté.

En regardant les réponses à la question Sparse dans la caisse Git 1.7.0? Je peux obtenir un bout de chemin, mais l'obligation de maintenir la structure même combinée à la nécessité de vérifier dans un moyen de position spécifique que cette méthode ne fonctionnera pas.

Était-ce utile?

La solution

Avez-vous regardé sous-modules? Vous pouvez faire un dépôt git séparé pour vos scripts de configuration et l'ajouter comme un sous-module à votre référentiel principal. Cela vous permettra de faire l'achat directement dans application/scripts mais toujours garder le répertoire de configuration dans le dépôt principal.

Il y a quelques nuances avec la façon dont se rapportent au sous-modules référentiel principal de sorte que vous voulez quelqu'un qui engage dans le répertoire des scripts pour comprendre ce flux de travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top