Ce qui est un bon, non distribués, alternative à la subversion qui a une excellente ramification et de la fusion de soutien?
Je suis malade et fatigué de suivi manuel de mes branches et fusionne en travers de mon référentiel! C'est trop enclins à faire des erreurs. Dans un monde où tout le monde semble avoir l'idée de réduire les doubles emplois et de tout automatiser, à la subversion de branchement/fusion se sent comme il est de gauche au cours des années 80. Ce qui est une bonne alternative à la subversion qui a une excellente ramification et la fusion d'un soutien sans ajouter de la complexité d'une SCM de paradigme? Idéalement, il serait libre, mais si je dois débourser de l'argent j'ai peut-être tendance, si elle est assez bonne.
- Juste par curiosité, pourquoi voulez-vous un système centralisé sur une distribué? Vous pouvez configurer certains dvcs pour émuler un système centralisé de flux de travail. Git et le Bazar printemps à l'esprit pour cela.
Vous devez vous connecter pour publier un commentaire.
Avez-vous mis à niveau vers la Subversion 1.5? Il comprend automatisé de suivi de fusion. Cela peut résoudre votre problème. On dirait que vous vous êtes déjà familier avec l'outil lui-même et c'est gratuit. Donc, si vous mettez à niveau votre solution actuelle de 1.5 vous aurez pratiquement aucune courbe d'apprentissage et de coût zéro - de plus, vous n'aurez pas à passer par la douleur de portage de votre code existant à un nouveau système de contrôle de code source.
Avez-vous regardé dans le contrôle de version distribué, tel que Git? Chaque "checkout" est essentiellement une branche... c'est un assez différente façon de penser au sujet de contrôle de code source.
Git est libre, créé par Linus Torvalds, et utilisé pour Linux (parmi de nombreux autres projets, bien sûr).
Perforce est un excellent outil, mais au-delà de 2 utilisateurs, il ne vous coûtera que c'est destiné à des professionnels. Nous l'utilisons avec un assez lourd schéma de branchement (1 branche par fonction au cours de l'principales de développement) et il fonctionne bien. Une sorte de "toile d'Araignée" de branchement utilisé par Microsoft (qui a utilisé une version modifiée de l'ancienne version de Perforce), mais je ne trouve pas l'histoire en ligne maintenant.
J'ai été aussi malade de ces limitations dans les anciennes versions de Subversion. Pourtant, personne d'autre dans mon entreprise utilise le branchement et la fusion. Chacun d'entre eux, lorsque vous essayez une nouvelle fonctionnalité, vous avez une autre caisse, hack-hack-hack et de s'en débarrasser était si mauvais commettre lorsque bien. Juste, parfois, ils ont commis quelque chose de mal 😉
J'ai donc commencé à utiliser git + svn. Sens: j'ai svn checkout et dans ce répertoire, j'ai commencé à git. Maintenant, j'ai rapide la fusion et la ramification et je n'ai pas interrompre les autres. Si j'ai besoin d'essayer la nouvelle fonction de X, juste de la branche/checkout/hack-hack. Si j'ai besoin maintenant de prendre quelques mise à jour cruciale de notre repo SVN: git stash, git checkout master, svn update, git commit-a, git checkout fonction-X, git rebase, git stash apply (tout cela parce que git-svn ne fonctionne pas sur Windows).
Ressemble à beaucoup d'opérations, mais ils sont rapides. Je veux dire, vraiment rapide. Et de me donner de la flexibilité dont j'ai besoin (voir mon article sur git + visual studio).
Je pense Bazar peuvent faire les mêmes choses et pourrait être meilleur à une chose: il peut facilement prendre en charge non-distribués, centre-référentiel de développement à base de.
Une des solutions distribuées. Git, mercurial, etc. Ma préférence serait git.
Je suis venu à partir d'un Perforce magasin en une Subversion de la boutique et a raté la grande ramification et de la fusion de soutien que Perforce est. Donc, Perforce serait ma première recommandation, mais il coûte de l'argent :).
Subversion 1.5 semble prometteur pour la fusion et le suivi de l'appui, mais il est marqué comme fondamentale, et ne ressemble pas à elle aura un minimum de fusion et de soutien que je suis prêt à accepter (c'est à dire Perforce-like) en tout temps bientôt.
Donc, je me suis penché vers un VCS distribués, plus précisément Bazar:
Vous devriez vérifier Accurev. Il n'est point et cliquez sur création de nouveaux flux (comme les branches, mais mieux OMI), et l'ensemble du concept de code qui coule à travers des cours d'eau rend la fusion de beaucoup moins douloureuses et fréquentes d'une tâche. Il est très simple à administrer, a un 3-utilisateur licence libre, et a beaucoup d'outils de visualisation intégré.
git
Je suis tombé en amour avec elle.
Avez-vous jamais demandez-vous pourquoi vous avez tant de branche/les opérations de fusion? Est-il possible de simplifier votre processus de développement?
Subversion, à mon humble avis, est une bonne application du KISS (Keep it simple, stupid) principe. Traduction: Dans mon expérience, vous obtiendrez une bien plus grande augmentation de la productivité de la rationalisation de vos processus de développement que d'obtenir un outil plus complexe.
J'ai utilisé Clearcase beaucoup. Tant que vous faites votre fusionne souvent, il peut être assez facile et il est également possible de fusionner des travaux en cours d'exécution en arrière-plan. Vous êtes amenés à intervenir si il y a un conflit de fusion.
Cependant, il est cher et il peut être difficile de trouver qualifiés Clearcase administrateurs.
Perforce est gratuit jusqu'à 2 utilisateurs.
Je ne suis pas certain à 100% sur ce que vous attendez peut/doit être automatisé,
mais perforce est de très haute qualité. Vous pouvez facilement créer et gérer
les branches, et vous pouvez fusionner facilement. Il est assez facile de cherry pick
les modifications spécifiques que vous avez fait dans une seule direction, et les fusionner en un autre
la direction, avec un haut degré d'automatisation.
Une chose qui n'a pas encore été mentionnés, c'est qu'il est parfaitement possible d'utiliser git dans le même manière centralisée que vous avez l'habitude de avec Subversion. C'est vraiment une pièce exceptionnelle du logiciel.
Plastique SCM est tout au sujet de la ramification et la fusion... facile. Vérifier son interface graphique et de comparer avec les autres solutions de rechange.
git - http://git.or.cz/ ( je suis assez friand de git, grand @ ramification et de développement distribué) - http://github.com/ est un excellent exemple de travail.
Git, Mercurial, Bazaar, Darcs
Je vais probablement être flammé pour cela, mais si vous n'êtes pas pour un produit gratuit MS Team Foundation Server vaut le coup d'oeil. Contrairement à d'autres produits MS qui restera sans nom de la source de contrôle est solide et entièrement fonctionnel. Combinez cela avec l'IDE de l'intégration, de construction automatique /moteur de test et de travail des fonctionnalités de gestion et c'est assez impressionnant. Bien sûr, elle est destinée à des entreprises et des prix adaptés.
Remarque: je ne vous embêtez pas avec cela si vous n'avez pas de développer principalement dans Visual Studio.
C'est encadrée en termes de solutions de rechange à CVS, plutôt que de SVN, mais peu importe - il des listes de plusieurs solutions de rechange, y compris d'autres non distribués autres. http://better-scm.berlios.de/alternatives/
Alors que des alternatives à la subversion peut être agréable, subversion avec le rouge à lèvres peut faire tout aussi bien. Voici une revue de l'extrémité avant de la subversion qui s'exécutent sur Mac: http://www.geocities.com/~karlvonl/blog/2006/03/daddy-needs-new-subversion-gui.html
Bazar, par les créateurs de Ubuntu.
http://bazaar-vcs.org/
Pourquoi Choisir Bazar?
http://bazaar-vcs.org/BzrWhy
Juste en ajoutant à DarenW - Pour windows il y a un très beau serveur Subversion produit qui est gratuit et fait de la vie un rêve - VisualSVN Serveur. Ce colis au plus tard à la Subversion de construire dans un seul programme d'installation MSI et ajoute dans un très utile de la console de gestion.
Que pensez-vous est complexe sur DVCS comme GIT? C'est plus simple à certains égards: pas de client/serveur, pas de pensions de titres dans un seul endroit, avec de travail dir dans un autre lieu, la gestion des utilisateurs n'est pas intégré (utiliser ssh si vous en avez besoin). Comme Jim Puls dit, vous pouvez utiliser DVCS, comme la non-distribués si vous le souhaitez. J'utilise GIT pour un homme de projets, même ceux qui ne durent que quelques semaines. Il n'y a rien exactement comme la Tortue, mais gitk, qgit, et git-gui sont mieux pour les fonctions que j'en ai vu avec SVN. Je préfère les interfaces graphiques, mais maintenant, je suis assez friand de git en ligne de commande - mais de vérifier easygit pour certains improvents.