tags:

views:

256

answers:

2

I have a new project starting up, and I was planning to use git as the version control mechanism to learn it a bit better. Since it's a two-person project, the fully-distributed model of pushing your changes to your public repository and asking the other guy to pull from it and vice versa is a bit overkill.

So, I'd prefer a single shared server approach, using git more like SVN on steroids. There's a nice publicly accessible server I could use. The problem is that the server setup instructions assume you're root and can add users or can enable DAV in Apache, neither of which applies in that case.

I can, however, setup CGI programs to be run on that server (and use htpassword for access control). Is it possible to set up git as a CGI program so that one can push as well as pull from it?

I know there are public hosting options, but as far as I know, private hosting is not free. Due to the nature of the project, I'd like to keep it under wraps until the end of the year or so (after that it can be published on the front page of a newspaper for all I care :)

A: 

This is directly supported by git, there's a number of protocols to use (rsync, http(s), git and ssh). So if DAV is giving you problems, then ssh will work fine. You're still each going to have to use local repositories for your changes, but when you want to work with the 'central' repo, use the git push and pull commands.

Dana the Sane
SSH is a problem because I can't create user accounts for the other guy in the project.
Lasse
+1  A: 

If all you need is <200mb of data and only 2 users, http://unfuddle.com/ can provide free git hosting.

If your project isn't likely to exceed 100mb of data in version control, http://www.indefero.net/ is a decent free git hosting option as well while allowing more than 2 users (if anyone else ever joins the project).

Amber
Thanks, I'll have a look at those.
Lasse
Indefero was more approachable, so I picked that. While this didn't answer the actual question, it answered my needs. Thanks.
Lasse