It seems to me that all it does is add an extra layer
Yes indeed. And that's a good thing, because it allows you to commit often and very granularly. I read that you were preparing everything for a committing one big change to Subversion.
The Git workflow is a bit different.
In Git you would:
 - create a branch for your new feature
- commit often (e.g. you fixed that nullpointer that you forgot to check for > commit; you updated some docs > commit; etc.) - when the code is ready for your teammates to chime in, you push the branch (most of the time with multiple commits) - when the feature is ready, you merge the feature branch into the 'dev' branch and push that

In Subversion you cannot commit until your code is ready to share. In Git you can. This granular way of comitting allows you to better dig through the logs later on; roll back possible small mistakes; merge only small fixes; etc.
You can even select specific lines in a file to commit.

As a side effect because all the branching and committing happens locally, everything happens a thousand times faster than with Subversion. Especially with a large code-bases like Flex'. I wouldn't even want to think about creating a feature branch for the Apache Flex repo in Subversion. But in Git I would.

Max

Reply via email to