开发者

Creating tags/labels for daily builds

开发者 https://www.devze.com 2023-03-11 23:07 出处:网络
I am a release engineer and I just switched to a new company. As my role demands setting up the build process in the new company. We use svn for versioning here.

I am a release engineer and I just switched to a new company. As my role demands setting up the build process in the new company. We use svn for versioning here.

In my previous experience it has been a practice that e开发者_如何学JAVAvery build will be accompanied with a tag. While defining the new process here, I tried to validate if this tag is really needed for every build.

Here are some of the pros and cons I can think of

Pros:

  • Would help if we have to compare two builds
  • There is no seperate need to tag different milestone build. which will be manual process if it is not automatically created during build time.
  • This make it easier to revert to a “known good build” when things go horribly wrong or when some weird impossible to find bugs are found.

Cons:

  • In the long run the tags directory becomes cluttered and creates performance issues if the number of tag is high in a single folder.
  • Takes unnessary space in the repository(althought it is negligible in the case of svn)

Is there any other pros or cons other than the ones mentioned above ?


Actually, if you are talking about SVN, there is no such concept of TAGS. These are just another logical copies just as branches. And even if you create 'em, the old one's can be deleted anytime.

The viz-a-viz concept in Subversion is Revision.
When you are building from SVN, each tree (trunk/branch) will have a unique revision number associated with it, and with each consecutive check-in of the code anywhere in that particular branch or trunk, the revision number of the whole tree will increment by one. Thus, a particular branch/trunk for a particular revision number, will always be same

I would suggest you to append the revision number of the build to the build name. This way you would know at what revision a particular branch is built. And if a comparison is required, you just compare the current build's revision of that branch to the previous build's revision. Simple!

Thus, the Tag is actually not required.

0

精彩评论

暂无评论...
验证码 换一张
取 消