comment créer une copie locale de la distance dépôt svn?
J'ai à distance référentiel svn. Je veux faire le check-out (avec historique) et ensuite l'utiliser dans Visual Studio réguliers du référentiel. Après un certain temps, je vais présenter (changements de commit) de dépôt local pour dépôt distant (et aussi les fichiers de mise à jour le cas échéant).
De sorte qu'il semble que j'ai juste besoin de deux copies du dépôt svn et j'ai besoin de la capacité à les synchroniser.
Comment faire?
OriginalL'auteur javapowered | 2012-01-19
Vous devez vous connecter pour publier un commentaire.
Qui va à l'encontre de ce que SVN est. Ce qu'il sonne comme vous voulez, c'est un DVCS comme Git ou Mercurial, donc pourquoi de nombreux développeurs ont déménagé à quelque chose comme ça.
Je voudrais utiliser git; et l'utilisation de la git-svn pont pour être en mesure de communiquer avec votre serveur SVN.
Git conserve une copie complète du référentiel lorsque vous cloner à partir de SVN (ce qui signifie que le clone initial peut prendre un long temps depuis qu'il a besoin pour passer à la caisse à chaque révision). Il vous faudra alors s'engager localement dans votre dépôt Git; et dcommit (push) revenir à votre dépôt SVN.
Je ne sais pas du tout propres façons de le faire en utilisant SVN seul. Un flux de travail typique pourrait être:
Si vous êtes un homme magasin; de garder votre espace de stockage sur un lecteur flash USB (et assurez-vous qu'il est sauvegardé en quelque sorte, au cas où vous perdre; il devient défectueux).
Pour SVN; oui, il n'est pas simple du tout. Combien de personnes attendez-vous à travailler sur ce projet?
Je suis le seul utilisateur de ce référentiel 🙂
vous pouvez trouver cet article intéressant: subversionee.blogspot.com/2007/04/...
qu'en est
pull
&push
exemplesOriginalL'auteur vcsjones
Comme d'autres réponses ont indiqué, vous ne pouvez pas avoir 2 repo SVN avec synchronisation bidirectionnelle. Pour SVN SVN paire, vous ne pouvez construire qu' un moyen de synchronisation RO SVN-miroir.
Pour un repo qui permet l'échange avec centrale, vous devez utiliser DVCS. Il n'y a aucun moyen de le faire directement avec SVN, pas à l'aide d'un auxiliaire DVCS. Si vous ne voulez pas Git, vous pouvez utiliser Mercurial avec hgsubversion, Bazar... mais c'est de toute façon supplémentaire de SCM.
Pour solo de travail (si vous avoir à travailler de cette façon), il serait préférable de branche sur le serveur. Il suffit de ne pas oublier de faire régulièrement de fusion tronc à votre succursale; cela vous aidera à éviter une "fusion des maux de tête."
Vidage de pensions, de la charge à nouveau. Répétez l'opération pour les pensions, lorsque vous revenez en arrière en ligne
+1, j'aime bien le "droit immédiat" de cette réponse.
OriginalL'auteur Lazy Badger
Comme vsjones répondu, vous pouvez utiliser git-svn checkout d'un dépôt Subversion, l'utiliser comme un dépôt Git local, puis l'envoyer en arrière jusqu'à, il. Vous pouvez même utiliser le Microsoft Source De Git Fournisseur De Contrôle De pour vous permettre d'intégrer Git avec VisualStudio.
CEPENDANT, je voudrais vous demander pourquoi vous voulez le faire. Il semble que vous pourriez être ce que nous en CM langage d'appel de Ramper dans Votre Grotte.
De ramper dans Votre Grotte signifie qu'au lieu de travailler avec tout le monde, vous allez faire votre travail dans le privé sans surveillance. Vous voulez obtenir votre code doit être absolument parfait. Vous souhaitez un chef-d'œuvre d'un code informatique. Ensuite, vous allez découvrir le monde sans méfiance qui seront impressionnés par vos compétences de codage. Vous serez salué un génie, et peut-être même l'occasion de parler à une fille.
Bien sûr, le problème est que le codage toujours meilleur quand il est dans la vue du public. La révision du Code ne sont pas seulement pour code terminé. C'est aussi pour le code alors qu'il est en cours d'écriture. Avant d'aller trop loin et aveugle trail.
Un autre problème est une tendance pour les développeurs de mordre plus que ce qu'ils peuvent mâcher. Si j'ai besoin de vérifier dans mon travail sur le même tronc, comme tout le monde, je suis plus susceptible de prendre de plus petites bouchées de code. (Oui j'aurais pu faire un jeu de mots sur octets, mais je vais essayer d'être sérieux). Je vais faire un changement, peut-être ajouter un peu de méthodes, de test et de validation. Ensuite, faire plus de changements, de test et de validation.
- Je utiliser pour être un administrateur ClearCase. Dans ClearCase, chaque développeur dispose de son propre développement stream. Vous code sur votre flux de données, puis de fusionner votre travail dans l'intégration de flux. (En gros, tout le monde a leur propre branche, et vous fusionnées vos changements dans le tronc). Dans le cadre de mon travail, je voudrais tracas développeurs pour vérifier leurs modifications. J'ai couru les rapports de la dernière fois qu'un développeur livré code. J'ai constamment eu à gérer de fusion questions. Je me sentais comme un flic sur un beat.
Ensuite, j'ai eu un travail où tout le monde a utilisé CVS. Dans le CVS, la ramification est une douleur, donc tout le monde travaille sur la même branche. Je ne pouvais pas imaginer comment cela pourrait fonctionner. Comment peut-trois douzaine de développeurs travaillent tous sur la même branche? Pourtant, au fil du temps, j'ai commencé à réaliser que non seulement tout le monde pourrait travailler sur la même branche, mais il y avait moins de problèmes. Je n'était plus le rythme de la cop, et au lieu de s'assurer que tous les développeurs suivi les règles, je pourrais faire d'autres CM de fonctions que je n'ai jamais eu le temps de le faire. Ma relation avec les développeurs changé. Je n'étais plus le gars qui est venu et leur a dit quoi faire. Au lieu de cela, j'étais quelqu'un qui pourrait l'aider.
Alors, soyez prudent au sujet de faire votre travail dans votre propre référentiel et puis la livraison du produit fini à votre équipe. Si vous faites des travaux importants qui nécessiteront le développement à long terme qui pourraient briser la construction alors que vous le faites, vous demander votre propre branche dans la Subversion. De cette façon, tout le monde va voir ce que vous faites.
Ce n'est pas à dire qu'il n'est pas un motif légitime pour l'utilisation de git svn. Personnellement, j'aime la vérification dans mon code, toutes les quelques minutes. Cela me donne la possibilité de rétablir un fichier qu'il y a cinq ou dix minutes avant j'ai commencé à faire un gâchis. Je continue à prendre de petites bouchées, et je vérifie dans mon code quand je suis fait. Je vais en moyenne d'environ 3 à 4 commits par jour à notre dépôt principal. J'ai trop l'utilisation de svn à git, mais pas si je peux ramper dans ma grotte, mais ont une durée de vie de la corde que je peux utiliser pour me sortir d'un désordre de codage de la situation.
Donc, jetez un oeil à git svn, mais s'il vous plaît ne pas utiliser l'excuse que vous avez votre propre référentiel pour se cacher du reste de votre groupe. Vous pouvez utiliser le MS Git Fournisseur (ou [SVN fournisseur de AnkhSVN).
OriginalL'auteur David W.
Clone SVN Repo à un autre SVN Site
Il y a un moyen de cloner un dépôt SVN à un autre SVN site avec tout ou partie de l'histoire. Il est aussi facile que l'exécution de la commande ci-dessous dans bash.
J'ai passé très peu de temps pour atteindre ce but et a écrit un script de sorte qu'il est automatisé et documentés pour les autres. Le script utilise git derrière la scène, mais c'résumés git loin de l'utilisateur (sauf si quelque chose se passe mal bien sûr).
GitHub: clone-svn2svn
Mise à jour du Référentiel SVN
Il y a aussi des instructions sur la façon de mettre à jour le référentiel de la source après qu'il a été cloné. Vous pouvez les trouver sur le Page GitHub. Malheureusement, je n'ai pas écrit un script pour cela et vous devez obtenir vos mains sales avec git en ligne de commande. Il peut également être automatisée.
OriginalL'auteur evpo