2010-12-08 5 views
1

Au travail, nous utilisons ClearCase comme notre référentiel de code source. Je veux trouver l'équivalent de 'svn: externals', mais pour ClearCase. Existe-t-il une telle chose?ClearCase équivalent de SVN 'svn: externals'

+0

Qu'en est-il des liens habituels? (Environnement basé sur Unix?) – khmarbaise

+0

Nous hébergeons dans un environnement Windows. Les 'liens' sont-ils juste une option unix? – rcravens

+0

Question connexe, un VCS basé sur un composant et "svn: external" ne sont pas compatibles: http://stackoverflow.com/questions/3131912/why-are-git-submodules-incompatible-with-svn-externals/3132221#3132221 – VonC

Répondre

1

Il n'y a pas d'équivalent dans ClearCase à la propriété de Subversion svn:externals. Le plus proche que vous pouvez obtenir est d'utiliser les liens symboliques internes de ClearCase via la commande cleartool ln -s. Si vous liez des fichiers, vous pouvez essayer d'utiliser des liens physiques, mais ils peuvent créer une confusion chez l'utilisateur.

J'ai eu des problèmes avec svn:externals et j'ai cessé de les utiliser. Il est bien trop facile de spécifier un HEAD actif en tant que lien svn:externals, puis d'oublier cela lorsque vous créez un tag. Cela peut entraîner une modification de votre version balisée à votre insu. Pour contourner ce problème, vous devez uniquement marquer une révision spécifiée. ET Assurez-vous d'utiliser l'épinglage des révisions car une révision ultérieure pourrait déplacer ou supprimer l'arborescence de répertoires à laquelle vous étiez lié. (Il existe un débat pour savoir si un lien vers le répertoire tags compte comme une version spécifiée, ou si vous avez vraiment besoin d'utiliser -r).

Une meilleure solution consiste à traiter les répertoires des sous-composants liés à des liens tels que svn:exterals en tant que versions réelles et à les stocker sur un serveur de publication. Lorsque vous effectuez votre build de votre application, vous copiez les fichiers nécessaires à partir du serveur de version vers votre projet de la même manière que Maven et Ant/Ivy. Si votre version n'est vraiment que du code source, vous pouvez la stocker sur votre serveur de version sous forme d'archive.

Le gros avantage est que cette méthode est maintenant indépendante des fonctionnalités spéciales de votre système de contrôle de version.

+0

+1 pour les dépendances de version (dans un référentiel externe, importé via ant/ivy/maven), par opposition aux dépendances source. Plus c'est plus détaillé que ma réponse;) – VonC

0

Pas vraiment:

  • ne ClearCase UCM se rapproche de pouvoir faire référence à un ensemble de fichier avec une étiquette précise (de base)
  • il n'y a pas moyen d'inclure un ensemble de fichiers (composant) au sein un composant
Questions connexes