J'ai un référentiel git principal pour un projet OpenSource P>
Je veux refléter tous les engagements à un référentiel SVN (sur le code.google.com), est-ce possible? P>
5 Réponses :
Avez-vous vérifié http://git-scm.com/docs/git-svn Je ne sais pas si cela résoudra votre problème ou non, mais c'est un moyen de synchroniser Git et SVN. P>
-cj p>
Oui, c'est possible. Utilisez Fonctionnalités SVN de GIT à importer dans un référentiel. Vous pouvez ensuite repousser de là. Vous constaterez que pour la plupart, cependant, que Git peut montrer efficacement une histoire SVN mieux que SVN peut montrer une histoire de GIT. P>
Si votre historique GIT est linéaire, vous pouvez essayer d'utiliser GIT-SVN. J'essaierais d'utiliser "Clone Git Svn" pour importer le référentiel SVN existant (vide) dans GIT, puis rebase votre historique de git existant sur cela et "git svn dcommit". P>
Si votre histoire GIT n'est pas linéaire (contient des branches et des fonts), vous ne pourrez pas le représenter correctement dans SVN. Dans ce cas, je vous suggère fortement d'utiliser une solution d'hébergement basée sur GIT à la place (par exemple, github.com). P>
J'ai fait face à cette situation dans mon travail actuel. Notre référentiel GIT principal a une historique non linéaire afin que la solution sélectionnée doit gérer cela. Solution qui semble fonctionner jusqu'à présent est basée sur le référentiel de proxy Gitsvn. J'ai un crochet post-réception installé dans le référentiel de git primaire qu'à son noyau a quelque chose comme ceci:
export GIT_DIR=$GITSVN_PROXY_DIR/.git git pull -Xtheirs file://$GIT_PRIMARY_DIR master git svn dcommit
Seriez-vous prêt à partager le piratage GIT que vous mentionnez dans votre dernier paragraphe?
Je doute que c'est possible avec code.google.com, mais vous pouvez configurer votre propre référentiel Subversion et installer Subgit . p>
Dès que l'installation est terminée, vous avez une paire de dépôts de subversion et de git lié. Chaque modification de tout référentiel déclenche un crochet de sous-agit qui convertit automatiquement toutes les modifications nécessaires. P>
Pour plus d'informations Veuillez vous reporter à Documentation et comparaison git-svn . p>
Subgit est un produit commercial, mais pour des projets open-source, vous pouvez obtenir une licence gratuite. P>