Track your changes to an open-source project with git
REQUIREMENTS
I am poking my toe in the ocean of <a href="http://mythtv.org">mythtv</a> development, and my first requirement for my development environment (after getting mythtv svn to compile) was pretty simple:
- access to the code in the svn development branch
- my own branch off of the svn development branch
- ability to overlay the latest svn changes on top of changes in my branch
Notice how simple this is - I'm not even asking to commit anything yet. These are fundamental requirements that any developer on a non-trivial open-source project would have. You need to do this if you are going to bang on an open-source project.
Now let's add one more requirement. I'm going to have this code on at least three different machines, so I need to be able to have a common repository for my changes.
- ability to work from several locations, pushing/pulling my changes to a central repo
Another basic source control requirement.
But try to meet this set of requirements with CVS or subversion (SVN). No longer simple. I started looking into better ways to solve my problem, and ran into Linus Torvald's solution (git).
It's definitely a change to think in distributed terms when you're used to using CVS/SVN centralized repos