RE: Doing builds with subversion
From: Olivier Dagenais <olivier.dagenais_at_formark.com>
Date: 2007-05-28 23:36:47 CEST
> I have a two part question regarding doing our product builds.
I will answer the first part. I'm sure someone else will chime in for the second.
> The first one deals with the tagging process for a build/release.
I can see where you are coming from, as we also used to use VSS. The good news is that you can base you build on a particular revision of the repository and developers can then continue committing since it will not affect whatever revision you started your build on. This is really easy if you use the post-commit hook, you can queue a build for the particular revision number. (it's one of the parameters provided to you by Subversion)
If the build is successful, you can create a tag of the trunk at the same revision the build was generated from. If not, no harm done, since there's no tagging.
Actually, the second part is sort of related; don't commit intermediate files (i.e. resource files) to your repository, because if you follow the method outlined above, you won't have a single revision from which you can tag your build anymore. If the build script modifies some files, that's fine as long as it does so predictably. What I mean is create your build script such that if you ever lost your built version, you could just re-run the build script with the same parameters (say, a path in Subversion and a repository revision number) and you will get exactly the same output. At the same time, it means the developers won't see these files constantly be updated with version number changes. (which is good)
This is an archived mail posted to the Subversion Users mailing list.