This project has moved. For the latest updates, please go here.

About versioning

Sep 10, 2010 at 8:18 PM


a question about versioning paragraph in TFS_Branching_Guide_Main_2010_v1.pdf.

It would be helpfull if this part would be described in more detail.

I have a few questions:

1. What does versioning mean: labeling? a version number within team build? versioning assemblies?

2. The difference between build number and revision number is not clear to me. What is the best practice?

At a first glance I would say that the build number is increased with 1 each time a build has been made. But that's not true of course. When a developer does a build on his machine the build number shouldn't be increased. So it would be logical to say that only the build machine can increase the build number. The buildnumber can be set using the Build Number Format within Team build. You can use the token $(Rev:.rr) to auto-increment the value. For example 1.1.$(Rev:.rr). By doing so you set the third part of the version (<major>.<minor>.<build>.<revision>). But then I don't use the fourt part (revision). What is the meaning of revision?   

3. question about the example in the guide:


MAIN build

Dev_team1 build


So the Build Number Format used for main is: 1.0.$(Rev:.rr)

And dev: 1.0.25

For main this does make sense. But dev? Why isn't any number auto generated. The third part does make sense as the guide says: you can see how much the dev branch is out of sync with Main. But by not making the dev version dynamic, version numbers don't differ for each build within dev. Therefore I would set the Build Number Format in dev to 1.0.25.$(Rev:.rr)

Does this make any sense?