2010-11-30 28 views
0

J'ai un projet, calendriers, qui a été travaillé par un certain nombre de développeurs différents. J'ai décidé de placer le projet sous contrôle de version en utilisant Subversion, mais en attendant ces différents développeurs ont continué à travailler sur leurs fichiers non versionnés indépendamment de moi.Subversion ajoutant des fichiers de projet non versionnés à la copie de travail

 
Developer A  Developer B  Me 

header.h   header.h   header.h 
timer.c   timer.c   timer.c 
timezones.c      timezones.c 
calendars.c      .svn 

Ma question est, comment puis-je apporter leurs modifications en ligne avec la mine, où le dépôt est sur un serveur distant? Je pense que les développeurs A et B devraient extraire du dépôt, mais alors comment fusionneraient-ils leurs propres fichiers avec ceux qu'ils ont extraits avant de les renvoyer au dépôt? Parce que leurs projets ne sont pas versionnés, ils doivent fusionner les modifications manuellement.

+0

Ils pourraient checkout à partir de votre repo puis simplement copier leur «copie de travail» entière dans ce dossier extrait. La seule différence que le "développeur B" pourrait commettre est "header.h" et "timer.c". Une sorte d'approche de force brute, puisque "développeur A" doit vérifier après "développeur B" et répéter .... –

+0

Quels outils et quelle plate-forme client utilisez-vous? Il y a beaucoup de façons de faire cela plus facile, d'autres douloureuses, mais tout dépend du client et de la plateforme. – jgifford25

Répondre

2

C'est inévitable, mais cela n'est fait qu'une seule fois. Cela devrait être fait le plus tôt possible.

  • renommer projet en cours X X_old
  • caisse X
  • comparer chaque fichier individuellement (WinMerge est bon pour cela), et apporter des changements de X_old à X, en prenant soin de chaque ligne différente dans chaque fichier
  • à la fin livrez des changements

les développeurs doivent apporter leurs projets de contrôle de version séquentielle pour minimiser les conflits.