

Ask HN: Best way for a small (3 person) team to collaborate with source code? - billclerico

SVN seems a little too overbearing just yet - any clever solutions with dropbox or the like?
======
saikat
Mercurial with bitbucket is great. Bitbucket offers one private repository (I
think this is a new thing, but I'm not sure) for free, so it seems fine for
use with closed-source code, if you need that.

We also used mercurial for a while in conjunction with dropbox (just set up
our central repository in dropbox). Mercurial is a lot less overbearing than
SVN (very easy to setup repositories), so I recommend it highly for a small
team. Git is also a great option, but I haven't used it myself (and it doesn't
seem like github offers free repositories yet unless you are an open source
project).

------
nostrademons
Headless git repository, hosted on a machine that you all have SSH access to?

You really want a real version control system. Trying to hack one up from
backup systems is just asking for pain. VCS gives you much more than just a
central off-site repository - you get commit logs, conflict resolution, diffs,
rollbacks, branches, etc.

Oh, +1 for GitHub too. They're great.

------
FraaJad
bitbucket.org allows you to host One private mercurial repository for free.
You might want to go with mercurial because it's arguably as good as git while
having a better tool support on windows. Of course, it works excellently on
linux and mac.

If you prefer git, you can set up your own git repository with little effort
by following this tutorial: [http://scie.nti.st/2007/11/14/hosting-git-
repositories-the-e...](http://scie.nti.st/2007/11/14/hosting-git-repositories-
the-easy-and-secure-way)

I have used this tutorial to set up repos at work and a private repo.

AFAIK, github does not provide any private repositories for free.

~~~
uggedal
I started with one free private repository on bitbucket. After I started a
second venture last week I signed up for their basic account ($5, 5 private
repositories, 500GB). I use both git and mercurial, so I could just as well
have signed up with github.com.

The reason for choosing bitbucket? Stability and speed. I've encountered 50+
error pages on github and on several occasions their servers were down when I
needed access to some code. I also feel their site it a little slow at times
(it was pretty snappy in their invite only beta days though). Bitbucket on the
other hand have never failed me (user for ~1 year) and the UI is very
responsive.

------
stevejohnson
Mercurial+BitBucket and Git+Github are almost interchangeable. If a team
member is on Windows, go with Mercurial+BitBucket, as it has much better
cross-platform support. Otherwise, use Git+Github because it has a great
community, good documentation (both have this), and many pretty charts to look
at.

~~~
Confusion
Google recentely opted for Mercurial (partly) for that exact reason:
<http://code.google.com/p/support/wiki/DVCSAnalysis>

------
khangtoh
I don't feel SVN is a little overbearing for a 3 person team. If you just
don't want the trouble of hosting the SVN server yourself, there're a few
options for SVN hosting.

Unfuddle seems like a reliable and popular choice.

<http://unfuddle.com/about/tour/plans>

------
Zarathu
Github.com

I'd use it for a 2-person team. It's incredible.

(No. Use a repository.)

------
bbuffone
Formal source control is always a good idea, even if you are working on a
project yourself. A three person shop will have some overlapping development
of resources. So being able to undo changes and resolve conflicts will be
necessary. As the team grows putting in other policies on checkin comments and
ensuring not to break the build will become necessary.

Lots of people are using github.com, I have been using unfuddle.com and it has
worked out well.

I also make sure I install a SVN server on everyone of my development machines
as soon as I get it. Takes minutes to do and will keep my projects and files
save.

------
tdupree
I have been happy using Beanstalk for SVN hosting. The free version is working
out nicely for my team of three. <http://beanstalkapp.com>

------
cgbrown
I work at ProjectLocker (<http://www.projectlocker.com>), and we have free
plans for Subversion or Git that would suit your team, and paid plans with
more space and/or users for as low as $25 per year or $5 per month.

Source control, even for just one person, is useful and doesn't have to be
heavyweight. Even single developers may need to roll back in time or read
notes from a few months ago about why they made an obscure change. It's worth
the minimal overhead to have the protection, historical data, and in a multi-
user scenario, to know who's doing what so you don't step on each other's
toes.

Whatever solution you choose, go hosted; it's straightforward, secure, and
saves you the trouble of having to manage disaster recovery, network issues,
and so on. Compare us to the competition and pick the one that's best for you.
Good luck!

------
8-bit_Blaster
If you don't mind open sourcing your code I'd suggest using Google Code to
host your project.

Google Code was my first experience with code repositories and using it with
the TortoiseSVN right-clicky GUI software made things that much easier to
manage. (I used the Windows XP version of TortoiseSVN.)

Google Code: <http://code.google.com/p/support/wiki/GettingStarted>
TortoiseSVN: <http://tortoisesvn.tigris.org/>

Simple, no command line stuff, and did exactly what I needed it to do. :)

------
davidmathers
github

~~~
apsurd
+1 to github.

Yes you can use git for free if you know how to set it up, but for $12/month
in your case ($7 in mine), I just like the convenience of having someone else
continually worry and work on all that stuff.

It's also important to think like an entrepreneur. Focus on what you are good
at, delegate everything else to people good at those things.

Git specifically:

I knew absolutely nothing about version control when I started looking into
it. (about a month ago). My project will soon be open source so i know I
needed to start thinking in terms of version control. I picked git over svn
very simply because git was made by Linus. Git seems (to me) to have a better
quality following as of now. I like being in the best company (it's bound to
rub off).

This tutorial was/is very helpful to me:
<http://hoth.entp.com/output/git_for_designers.html>

I am still a huge beginner when it comes to git, but I find the core commands
mentioned in the tutorial to be simple and very effective.

Best of luck.

~~~
davidw
Any hacker ought to be able to set up git, it's so simple. I might consider
recommending github if someone doesn't have a server somewhere, but aside from
that, it's just too simple to set up.

svn isn't really that much harder.

------
catone
I'll just throw Codebase into the mix: <http://www.codebasehq.com/>

It's my friend Adam's app (he's an admin at Rails Forum). I've never used it
personally, but from what I have seen it is pretty nice and I know anything
Adam is involved with must be solid. So, just presenting it as another option.

It's sort of like Basecamp + Git with a little Lighthouse thrown in for good
measure (or something like that). ;)

------
zacharydanger
Actually, you're onto something with Dropbox. Currently, I keep a copy of my
Git repository in my dropbox and set it up as a named remote. Then I can just:

    
    
      git push dropbox
    

You _can_ run into issues if two people push to the Dropbox before the files
get fully sync'd between computers, if that's the case, you need a hosted
solution see the gitosis project for rolling your own or github.com for a
slick paid solution.

------
paulgb
Subversion is a fair bit less overbearing if you ignore the branches/merging
stuff, which you probably don't need in a 3 person team anyway (yet).

I would stick to svn if the team is already familiar with it but not with git.
Otherwise, +1 to github.

------
dryicerx
Svn would be perfect for you

Our personal setup: linode with svn, redmine as issue tracker, wiki, and
discussions). I went with our own server because I know for sure our data is
private, and fine grain control.

------
carterschonwald
I like using darcs with the each person having a local repo and a shared one
using dropbox

------
psyklic
Wow just a year or two ago everyone would have said SVN/CVS!

------
Dobbs
Look up git.

------
billclerico
thanks all

