2009-11-04 5 views
2

Je travaille dans un environnement piloté par les modèles, où le code Java est généré à partir d'un modèle MagicDraw par AndroMDA. Les modèles sont développés de manière itérative, par conséquent nous devrions les fusionner si nous créons des branches. Mais comme on m'a dit que les modèles ne peuvent pas être fusionnés, parce que chaque fois qu'il est sauvegardé chaque identifiant de chaque élément sera remplacé. Mais je veux utiliser des branches, de sorte que chaque tâche soit autonome et ait un point de départ et un point de terminaison explicites.Comment gérer les fichiers non fusionnables dans un système de contrôle de version?

Comment géreriez-vous cela? Ce n'est probablement pas une question technique mais une question d'organisation. Comment le modèle pourrait-il être exclu des branches sans les casser? Ou y at-il une solution de contournement pour les modèles MagicDraw?

(Offtopic:. Les fichiers générés ne sont pas vérifiées dans)

+0

pourquoi le code généré sous contrôle de version de toute façon? Vous pouvez créer des branches avec le modèle MagicDraw, mais sans les fichiers Java générés ... – Stan

+0

- Les fichiers générés ne sont pas archivés. - Je peux créer une branche avec le modèle, mais il est développé itérativement et pour cette raison nous aurions besoin pour fusionner différentes versions de modèle. –

Répondre

2

Certains formats ne peuvent pas être fusionnés automatiquement à l'aide d'outils de contrôle de source standard. Les outils normaux reposent sur l'hypothèse qu'une ligne peut être insérée, modifiée ou supprimée sans affecter toutes les autres lignes du fichier. Certains formats ne suivent pas cette hypothèse.

Parfois ces formats irritants ont leurs propres outils de fusion, qui peuvent être utilisés après que l'outil de contrôle de source a échoué. Je ne peux pas trouver un moyen d'empêcher subversion de tenter une auto-fusion d'un fichier (demande de fonctionnalité?), Mais si subversion échoue, il va vider 2 fichiers dans la copie de travail représentant les 2 versions.

À ce moment-là, vous pouvez essayer ici: http://www.magicdraw.com/main.php?ts=navig&cmd_show=1&menu=merge

+0

Je pourrais marquer le modèle comme un fichier binaire pour empêcher l'auto-fusion ou cela causera-t-il des problèmes? –

+0

Oui, c'est l'idée générale. Marquez-le simplement comme binaire si vous ne voulez pas qu'il soit fusionné, il utilisera simplement la nouvelle version pour l'écraser au lieu de la fusionner, si vous branchez/changez-le. –

3

Je n'ai pas utilisé AndroMDA donc je ne suis pas sûr si cela est applicable dans votre situation.

Cependant, en général, si quelque chose dans votre projet est généré automatiquement, alors je ne mettrais pas la sortie générée sous contrôle de version, mais ferais plutôt partie de la génération du processus de construction.

+0

Les fichiers générés ne sont pas archivés. –

Questions connexes