2008-09-11 7 views
9

Je suis obligé d'utiliser VSS au travail, mais d'utiliser SVN pour un référentiel personnel. Quelle est la meilleure façon de synchroniser entre VSS et la synchronisation?Comment synchroniser entre VSS et SVN

+0

Une raison pour laquelle la réponse acceptée n'a pas été sélectionnée? –

Répondre

0

Ce que je l'ai fait dans le passé est la suivante:

  1. Assurez-vous que tous mes changements se sont engagés à svn: // tronc
  2. Effectuez une dernière obtenir de VSS dans ma copie de travail.
  3. Fusionner manuellement les modifications dans ma copie de travail.
  4. le code fusionné Commit dans le svn: // tronc
  5. Faites une diff VSS et extraira tous les fichiers avec des différences (sans écrasement des fichiers)
  6. Vérifiez dans ces fichiers.
4

Pour se débarrasser de l'étape de fusion manuelle, je pouvais utiliser une branche svn séparée (svn: // branches/VSS) comme suit:

  1. Créer une copie de travail de svn: // branches/VSS
  2. Faites un VSS sur cette Obtenir la dernière copie de travail
  3. svn commit
  4. svn fusion à partir de svn: // tronc
  5. svn commettras
  6. Faites une diff VSS et de vérification de tous les fichiers (sans écraser) avec des différences
  7. Vérifiez dans les fichiers
  8. réinsèrent svn: // branches/VSS dans le svn: // tronc
2

Vous pouvez également traiter cette en tant que fournisseur branche fourni tel que défini dans le livre redbean: Vendor Branches

Avec cela, le débit de base serait:

  1. avoir un vendo branche r "branches/VSS/courant" contenant le dernier code de VSS
  2. Tag la version actuelle comme "branches/VSS/2008-09-15"
  3. Le lendemain, obtenir les nouveaux fichiers dans "courant"
  4. Tag nouveau dans « branches/VSS/2008-09-16 »
  5. Fusionner les différences entre les deux balises dans le tronc, la résolution des conflits
  6. Supprimer les vieilles étiquettes au besoin

Ceci est en fait la technique que nous avons utilisé lors de la migration de VSS vers SVN. Si vous vous souciez du retour de SVN-> VSS, il vous suffira de faire la différence entre trunk et branches/VSS/current et d'appliquer les diffs à VSS.