Branching

Channel9 did a video about branching with Brian Keller, of Team Foundation Server.

http://channel9.msdn.com/Showpost.aspx?postid=278226 

Thinking about branching raised some questions for me about managing a project with semi-regular releases. I didn’t come up with any firm conclusions yet, but here are some quick notes I made to myself while watching the video.

Isolation Spaces

1) if you are working on v2 and v3 simultaneously, you want to branch
if you will finish v2, then do v3, you don’t need to create a branch

2) working by teams is another isolation space

don’t want code base to diverge too far from each other

3) features – build a feature but you don’t know when you will want to have it

continuous integration: always making sure that your check-ins will allow the system to build

“feature complete” vs. “code comlete:” before you merge back into the main branch, it must be feature complete. This means that the coding, testing, and documentation are complete and the feature is ready to ship.

They create a main release branch.

Three different branch models:

1) Branch by release
2) Branch by team
3) Branch by purpose

Advertisements

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: