2010-02-24 20 views
2

Nous avons créé un framework en .NET qui contrôle les périphériques matériels. L'ensemble de la structure utilise le format MEF et dépend donc fortement des interfaces.Maintenance de deux versions du même framework et de la même application

Pour des raisons hors de notre contrôle, nous avons dû changer le matériel et que nécessitait des modifications de rupture à certaines des interfaces.

Le projet de l'ancien matériel a été mis en attente pendant un certain temps et nous avons commencé en travaillant sur une application graphique qui utilise la nouvelle version du framework. Maintenant, beaucoup plus tard, ils veulent que nous prenions à nouveau en charge le vieux matériel, donc nous pensons de backporting l'application graphique existante pour utiliser l'ancien cadre et maintenir deux versions.

Le framework est une solution Visual Studio avec plusieurs projets, et l'application graphique est une autre solution Visual Studio avec quelques projets.

Certaines parties (projets dans la solution cadre) ne reposaient pas sur des interfaces modifiées, d'autres l'ont fait.

Pour le contrôle de la source, nous avons un référentiel de subversion.

Est-ce que quelqu'un a déjà eu de l'expérience dans la gestion de quelque chose comme ça? Y a-t-il des meilleures pratiques? Suggestions?

Répondre

1

Ceci est un premier choix pour créer un branch. Avoir un référentiel principal avec le tronc du code, et une branche pour chaque ensemble différent de matériel dont vous avez besoin. Cela vous permettra de coder facilement les choses qui devront être faites pour les deux versions de la base de code, tout en gardant leurs intrications indépendantes.

+0

J'ai essayé d'obtenir ceci pour travailler avec tortoisesvn et tout ce qu'il dit est ok ... mais je ne vois rien se produire. Le dossier où j'ai créé la branche reste vide même après un switch et un commit ... vraiment effrayant – TimothyP