dvcs - Différents systèmes de contrôle de version distribués travaillant ensemble

Translate

Mon bureau dispose d'une installation centrale de Source Safe 2005 que nous utilisons pour le contrôle des sources. Je ne peux pas changer ce que le bureau utilise sur le serveur.

Je développe sur un ordinateur portable et j'aimerais avoir un référentiel de contrôle de source local différent qui puisse se synchroniser avec le serveur central (s'il est disponible) quel que soit le fournisseur central. La raison de la demande est que je puisse maintenir une branche / construction stable locale pour les présentations client tout en continuant à développer sans avoir à sauter à travers des cerceaux enflammés. De plus, en tant que consultant, mes clients peuvent demander que j'utilise leur fournisseur de contrôle de source et la flexibilité ici rendrait la vie plus facile.

L'un des clients de contrôle de source distribués existants peut-il gérer cela?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Eh bien ... KernelTrap aquelque chose à ce sujet. On dirait que vous pouvez utiliservss2svnpour diriger le référentiel Source Safe dans un référentiel Subversion, puis utilisez le très joli git-svn pour extraire un référentiel git local.

Je suppose que les validations vers VSS ne seraient pas un processus automatique et fluide utilisant cette méthode.

La source
Translate

Vous devriez pouvoir extraire la version actuelle du code, puis créer un référentiel git autour d'elle. La mise à jour et la validation dans votre référentiel git local devraient être faciles. De même que le cloner.

Le seul problème est que vous devez les faire tous les deux s'ignorer (j'ai fait quelque chose de similaire avec SVN) en jouant avec les fichiers ignorés appropriés. Je présume que SourceSafe vous laisse ignorer les choses. Et vous devrez effectuer certaines opérations deux fois (comme dire aux deux que vous supprimez un fichier).

La source
Translate

CeL'épisode de HanselMinutes couvre exactement ce que j'espérais entendre. Apparemment, Git peut être utilisé localement puis attaché à des référentiels subversion / vss externes selon les besoins. Ils en parlent entre 14 et 15 minutes.

La source
Translate

un jour, je travaille dans une entreprise qui utilise VSS (et dans d'autres entreprises qui utilisent d'autres moins inconnusSCM) mais je préfère utiliser SVN (un jour j'essaierai GIT) pour le développement actif, pour moi et mon groupe.

Tout d'abord, cette situation n'est qu'une bonne idée, si les engagements envers VSS sont peu nombreux sur un mois, car travailler avec d'autres SCM (que VSS) vous donne plus de flexibilité, mais passer à VSS à partir de SVN coûte cher en temps.

Ma solution était:

VSS -> SVN: J'ai un script linux (ou un script ant, ou un script XXX) qui copie du travail de répertoire de mise à jour courant de VSS vers le SVN actuel, puis actualise le client SVN et met à jour / fusionne / commute vers SVN. Avec cela, vous êtes à jour des changements du reste de la société qui utilisent VSS.

SVN -> VSS: De cette façon, vous avez besoin d'une extraction de tous vos fichiers de modification vers VSS, puis vous pouvez simplement utiliser le script inverse pour copier à partir du répertoire SVN de mise à jour actuel (ignorer les répertoires .svn) et copier dans le répertoire VSS de mise à jour actuel, mettre à jour et valider.

Mais rappelez-vous, dans certains cas, cela vaut la peine de le faire.

La source