2010-06-02 16 views
3

Je suis en mode de démarrage Lean, travaillant sur une application de téléphone simple qui sera publié initialement comme une application iThingy et une application Android avec, éventuellement, des versions Blackberry et Symbian à suivre . Je suis sur le point de passer d'un référentiel à un référentiel central qui partagera jusqu'à 4 ressources à temps partiel. Deux d'entre nous n'ont pas d'arrière-plan de contrôle de version, un a utilisé Subversion, et j'ai utilisé la plupart des principaux systèmes VCS centralisés. Je ne vais pas pousser les limitations techniques de tout VCS pendant longtemps; Je suis sûr que l'un des principaux systèmes fonctionnerait bien. Et les comptes d'hébergement que j'ai regardés semblent raisonnables. Donc, je suis vraiment concentré sur la minimisation des risques baissiers. C'est-à-dire que j'aimerais trouver une configuration stable, facile à apprendre en général, facile à utiliser depuis Windows/Eclipse, et qui ne me dépeindra pas dans les coins évidents pour les 12 prochains mois.DCVS + hébergement pour une application commerciale de téléphone multiplateforme de démarrage

Une recherche rapide sur le web m'a amené à considérer les paires suivantes de DVCS et un service d'hébergement, avec ce que je pense que j'entends que leurs forces et leurs faiblesses (pour mes besoins):

Bazaar/Launchpad - Mon choix initial puisque je dois me familiariser avec cette paire pour le mentorat Google Summer of Code que je suis en train de faire. Mais, quels que soient les mérites techniques, un non-démarreur pour moi car ils sont purement open source, aucun référentiel privé ne prévoit d'acheter ce que je peux voir.

Git/GitHub - Git: Rapide, léger, finalement flexible, mais relativement moins convivial pour Windows, plugin Eclipse (eGit) disponible mais relativement jeune, GitHub: largement utilisé, le prix est correct. Mercurial/BitBucket - Mercurial: un peu moins flexible, un peu plus convivial pour Windows, le plugin Eclipse semble un peu plus mature, BitBucket: largement utilisé, le prix est correct, inclut un wiki et un tracker de problème que nous pourrions être capable d'utiliser à la place de quelque chose comme BaseCamp, au moins pendant un certain temps. Mercurial/BitBucket semble être la paire gagnante jusqu'à présent pour ma situation particulière; Au moins deux d'entre nous vont certainement travailler principalement à partir d'Eclipse sur Windows et réduire ma propre courbe d'apprentissage est une priorité. ;-)

Mais j'ai deux questions précises:

  1. que je me trompe Bazaar/Launchpad et est-il un moyen viable, sûr de les utiliser pour le code propriétaire?
  2. Une raison de penser que la paire Mercurial/Bitbucket va finir par être un casse-tête pour mon développeur Mac, bientôt, ou pour les développeurs Blackberry ou Symbian un peu plus tard?
+0

Une raison pour laquelle Kiln ne figure pas dans votre liste? – jan

+0

Question raisonnable. Kiln est sur mon écran radar mais pas la liste. Le tutoriel de Joel's Hg (http://hginit.com/) m'a permis de progresser sur la courbe d'apprentissage de DVCS par rapport à CVS et j'ai noté le lien du produit Kiln. Mais je suis juste à la recherche de la prochaine étape du sentier le plus simple qui marchera. Je pense que je peux gérer les revues de code à la main pour le moment et je n'ai pas (encore) besoin de quelque chose comme l'intégration de FogBuz. Aussi, juste vérifié pour la première fois - les points de prix sont complètement différents. Je devrais percevoir beaucoup plus de valeur pour faire de Kiln l'argent supplémentaire. –

Répondre

3

Je suis un développeur Mercurial donc je vais (bien sûr) supporter le choix de Mercurial et Bitbucket :-) Cela étant dit, les trois systèmes sont bons. Ma préférence pour Mercurial réside dans le fait qu'il vous donne la même puissance que Git, mais avec moins d'arêtes vives à surveiller.

A propos Mercurial, permettez-moi d'ajouter que:

  • MercurialEclipse est soutenue par une compagnie appelée Intland et ils ont mis beaucoup d'efforts dans l'amélioration du plugin car ils utilisent eux-mêmes pour leur développement.
  • MacHg vous donne une belle interface native Mac pour Mercurial. Il vient avec sa propre version groupée de Mercurial, donc vous devriez être bon à faire.
+0

Merci pour les détails sur Eclipse et le Mac. Je me penche très fort vers Mercurial/BitBucket mais je dois encore regarder Bazaar/Launchpad avant de sauter. –

+0

AG: Oui, vous devriez regarder les deux systèmes et voir ce qui vous semble le plus logique. Lorsque vous regardez Bazaar, vous remarquerez qu'ils parlent beaucoup de différents flux de travail alors que Mercurial peut sembler plus simple. À mon avis, c'est parce que Mercurial fait la même chose en utilisant de meilleures primitives: nous avons des clones (avec et sans copie de travail) et nous pouvons avoir un nombre quelconque de branches dans un clone. Bazaar a un grand nombre de concepts pour cela: arbres autonomes, dépôts partagés, branches empilées, caisses légères. Je trouve cela assez confus par rapport à ce que je suis habitué avec Mercurial. –

+0

enfin après tout ce temps, j'accepte votre réponse. Vraiment, je l'ai accepté dans la pratique il y a des années mais je n'avais pas réalisé que le SO Way était de le marquer comme accepté. FWIW, à la fin, je suis allé avec Mercurial/BitBucket, mais après environ un an, je suis passé à Git/BitBucket. Le modèle économique de BitBucket est un énorme avantage sur GitHub mais, pour des raisons que je ne peux pas vraiment expliquer, Git en tant qu'outil fonctionne mieux dans la main. –

0

Je hasardent rarement dans le monde Windows, mais je msysGit pour synchroniser mes documents de dossiers sur mon Mac, Linux et Windows portables sans problème pour un an (jusqu'à ce que je frappe une limite de taille de fichier de 2 Go sur la boîte de Windows).

Nous utilisons GitHub pour le développement interne à source fermée et nous en sommes très heureux. Nous n'avons trouvé aucun problème majeur dans les plugins eclipse Git ou IntelliJ (que nous utilisons actuellement), sauf que la fonctionnalité fournie est parfois maladroite dans notre workflow spécifique (je veux dire que la boîte de dialogue propose les mauvais paramètres par défaut).

La plupart des manipulations git sont effectuées sur la ligne de commande car c'est la plus simple et la plus rapide de toute façon et les EDI semblent faire face aux changements.

Mes 3 caractéristiques les plus appréciées sont sa vitesse, la prise en charge de la révision de code dans github et la fonctionnalité "stash".

2

Launchpad offre un hébergement privé. Voir: https://launchpad.net/+tour/join-launchpad Je ne peux pas commenter beaucoup car je n'ai pas essayé la partie d'hébergement privé mais j'aime beaucoup launchpad. Quand j'utilisais bzr pour des choses privées, je l'utilisais avec mon hébergeur et bzr + ssh. bzr supporte aussi d'autres protocoles comme sftp (qui est plus lent que bzr + ssh). Il est trivial d'utiliser bzr avec votre propre serveur comme bzr a un purback python. Donc, je devais juste untar bzr tarball sur le serveur et l'ajouter au chemin. Pour le suivi des bugs, etc. J'utilisais trac. Il y a aussi un plugin trac-bzr mais je ne l'ai pas utilisé moi-même. Avec bzr, vous pouvez commencer à héberger votre propre serveur et plus tard, si vous décidez d'utiliser un plan de lancement, vous pouvez toujours y insérer vos repos.

+0

Merci pour le pointeur vers la bonne page du Launchpad; Je suis sûr que je n'y suis pas allé tout seul. Je vais regarder dans un peu plus. Il est intéressant, cependant, que bien que les $$ impliqués dans leur abonnement annuel soient essentiellement les mêmes que les frais mensuels des autres hébergeurs, cela semble être une affaire plus importante à payer d'avance, d'autant plus que leurs caractéristiques commerciales sont encore en développement. . –