flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Smith <gosm...@adobe.com>
Subject RE: SVN to Git migration in progress
Date Tue, 12 Mar 2013 17:39:10 GMT
Sorry, this kind of description makes no sense to people who are new to Git like me and don't
understand how multiple copies of the entire repository get used.

For example, when you say "Create a branch for your new feature", what repository am I creating
a branch in? The master repo? (Is that on an Apache server or on a server at GitHub?) My local
copy of the repo? The copy of the repo that another email said I'm supposed to make on the
server?

"Commit often." To which repo?

"Push the branch." Within one of the three repos? Between one repo and another? Which ones?

"Merge the feature branch into the 'dev' branch" Within one of the three repos? Between one
repo and another? Which ones?

- Gordon


-----Original Message-----
From: RIAstar [mailto:maxime@riastar.net] 
Sent: Tuesday, March 12, 2013 5:52 AM
To: dev@flex.apache.org
Subject: Re: SVN to Git migration in progress

> 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

Mime
View raw message