2013-01-22 3 views
2

J'évalue en utilisant Git à mon travail.Pouvez-vous créer des dossiers virtuels dans un dépôt GIT?

L'une des nombreuses questions qui ont été soulevées par les parties intéressées est

composants partagés -

Le jeu d'outils SMC doit être en mesure de gérer les composants partagés sans dupliquer la base de code. La duplication de la base de code entraînerait une divergence de code. Ceci est généralement accompli grâce à l'utilisation de pointeurs virtuels. Deux systèmes/applications partagent la même base de code, dll, fichier de configuration, etc

Je sais que ce n'est pas vraiment une question, mais je m'égare. J'utiliserais normalement Maven pour extraire des artefacts binaires, ou passer en caisse d'un dépôt partagé et utiliser mes outils de construction pour tout mettre au bon endroit, mais ce n'est apparemment pas une option avec cette exigence.

Est-il possible d'avoir des dossiers virtuels dans un référentiel Git?

+1

Qu'entendez-vous par dossiers virtuels? Si vous devez séparer les fichiers binaires du code réel, vous pouvez utiliser des sous-modules. – vissi

+0

C'est le problème que j'ai. Pour les binaires, j'utilise Maven/NuGet. Pour la source étrangère que je veux comme source pour une raison quelconque ... je vérifie du repo étranger. Mais les décideurs ont décidé que c'est une exigence ... – Tristan

Répondre

3

Si par pointeur virtuel vous dire symlink, alors oui, git ne « supporte » symlink (voir « What does git do to files that are a symbolic link? »)

Mais ce n'est pas la solution utilisée pour la source dépendances (par exemple un git besoin du contenu d'autres repos git).
Pour cela, vous avez besoin de submodules, ce qui vous permet de référencer un point fixe dans l'historique des autres dépôts git. Voir par exemple "Maintaining project with plugins in git".

+0

Je pense que cela devrait faire l'affaire pour la majorité de ce qui est nécessaire. Merci! – Tristan

Questions connexes