DCVS +托管一个启动商业多平台手机应用程序

时间:2010-06-02 04:10:34

标签: git mercurial dvcs bazaar

我处于精简启动模式,正在制作一个简单的手机应用程序,该应用程序最初将作为iThingy应用程序和Android应用程序发布,可能还有Blackberry和Symbian版本。我即将从没有存储库转到需要一个中央存储库,最多可以共享4个非常兼职的资源。我们两个人没有版本控制背景,一个使用过Subversion,我使用了大多数主要的集中式VCS系统。

我不会长期推动任何VCS的技术限制;我确信任何主要系统都可以正常工作。我看过的托管帐户看起来很合理。所以我真的专注于尽量减少下行风险。也就是说,我想找到一个稳定的设置,一般易于学习,易于在Windows / Eclipse中使用,并且在接下来的12个月左右不会让我进入任何明显的角落。

快速搜索网络让我考虑以下对DVCS和托管服务,我认为我听到的是他们的优点和缺点(为了我的目的):

Bazaar / Launchpad - 我最初的选择,因为我需要更加熟悉这对我正在做的Google Summer of Code指导。但是,无论技术优点如何,对我来说都不是首发,因为它们纯粹是开源的,没有私人存储库计划购买,我可以看到。

Git / GitHub - Git:快速,轻便,最终灵活,但相对较少的Windows友好,Eclipse插件(eGit)可用,但相对年轻,GitHub:广泛使用,定价很好。

Mercurial / BitBucket - Mercurial:灵活性稍差,Windows友好一点,Eclipse插件看起来有点成熟,BitBucket:广泛使用,定价很好,包括维基和问题跟踪器,我们可能能够使用而不是像BaseCamp这样的东西,至少暂时使用。

到目前为止,Mercurial / BitBucket看起来像是我的特殊情况;我们中至少有两个肯定会主要从Windows上的Eclipse工作,减少我自己的学习曲线是一个优先事项。 ; - )

但我有两个具体问题:

  1. 我对Bazaar / Launchpad有误吗?是否有一种可行,安全的方式将它们用于专有代码?
  2. 任何理由认为Mercurial / Bitbucket对很快就会成为我的Mac开发人员的头疼,或者稍后会为Blackberry或Symbian开发人员带来麻烦?

3 个答案:

答案 0 :(得分:3)

我是一名Mercurial开发人员,所以我(当然)会支持Mercurial和Bitbucket的选择:-)话虽这么说,但这三个系统都很好。我对Mercurial的偏好在于它为你提供了与Git相同的能力,但是它的锋利边缘更少。

关于Mercurial,让我补充一点:

  • MercurialEclipse由一家名为Intland的公司提供支持,他们付出了很多努力来改进插件,因为他们自己使用它来进行所有开发。
  • MacHg为Mercurial提供了一个很棒的原生Mac前端。它有自己的Mercurial捆绑版本,所以你应该好好去。

答案 1 :(得分:2)

Launchpad确实提供私人托管服务。请参阅:https://launchpad.net/+tour/join-launchpad 我不能对此发表评论,因为我没有尝试过私人托管部分,但我确实喜欢启动板。

当我使用bzr作为一些私人内容时,我将它用于我的网络主机和bzr + ssh。 bzr还支持其他协议,如sftp(比bzr + ssh慢)。将bzr与你自己的服务器一起使用作为bzr是微不足道的,它有一个纯粹的python后备。所以我只需要在服务器上解压缩bzr tarball并将其添加到路径中。对于错误跟踪等我使用trac。还有一个trac-bzr插件,但我自己没有使用它。

使用bzr,你可以开始托管你自己的服务器,如果你决定使用启动板计划,你可以随时将你的回购推送到那里。

答案 2 :(得分:0)

我很少冒险进入Windows世界,但我使用msysGit在我的Mac,Linux和Windows便携式计算机上同步我的文档文件夹一年没有问题(直到我在Windows机器上达到2GB文件大小限制)。

我们使用GitHub进行内部封闭式源代码开发,对此非常满意。我们在eclipse Git插件或IntelliJ(我们目前使用的)中没有发现任何重大问题,除了在我们的特定工作流程中提供的功能有时很笨拙(我的意思是对话框提出'错误的'默认值)。

大多数git操作都是在命令行上完成的,因为它最简单,最快速,并且IDE似乎可以优雅地应对这些更改。

我最喜欢的3个功能是它的SPEED,github中的代码审查支持和“存储”功能。