views:

70

answers:

3

Hi, I have to develop a patch for the linux kernel (2.6) for an university course I'm attending. I have to develop this patch with a friend of mine and we need to edit the same files on our computers (2-3 PCs). So, we want to use something like a collaborative editor and/or a version control system. The problem is that we never used something like that and that we cannot release our software as open source till we take the exam. Obviously, we're using linux. I'm here to ask you suggestions in order to manage our work in the best way. Thank you

+3  A: 

You'll definitely want to use a version control system.

Linux kernel itself is developed with Git version control system. You'll probably find tons of resources for how to use Git in kernel development.

If you are looking for more traditional version control software, the Subversion is a safe bet.

With both system you can host git or subversion on your computers, and nobody else could access it. This way you do not need to publish to code before you are ready.

There are also hosting services (for example Github) that provide hosting for vcs repositories. However, in case of github, if you want a private repository, then you need pay for it.

Juha Syrjälä
+1 for git, no reason to use another SCM with kernel development.
Paul Nathan
Ok, but the only way to do that is to buy a paid account on github. I think there's no other way since our computers are not in the same LAN...
Raffo
@Raffo, you could host the git yourself if you can connect the computers via Internet. There is no requirement to use same LAN.
Juha Syrjälä
A: 

I personally use Subversion, I pay for a host (http://versionshelf.com) which gives me the option of creating and managing Subversion or Mercurial repositories through a web interface with ease.

I've not looked into Mercurial much but it seems to be very well supported and has lots of IDE integration and GUI clients (http://mercurial.selenic.com/wiki/OtherTools).

Steven Jackson
A: 

Ask your professor or university IT department what version control systems are installed on the computers. Use whatever they have installed, they're all pretty much serve the same purpose.

When I was in school the computers had CVS installed, so I set a repository for myself and team members in my home directory.

As Juha said, if you want to stay linux-y use the distributed version control system Git. I think you'll be able to use git without a central "head" repository server by pulling patches.

Stephen