I have been using StarTeam for version control for some time, but am transitioning to Subversion. I read the Subversion book and it seems that one of the main functions that StarTeam does not have that Subversion does not do is the concept of shortcuts. I know that Subversion has labels, but they mean something different in StarTeam. In StarTeam, I can mark a set of files as “ready to build,” and then just check them and include them in a specific release. Then I can create a frozen label indicating which files were included in this version (similar to the Subversion tag, except in those specific versions, and not in all directories).
Is there a way to get this functionality in Subversion? I know that you can indicate which version is for the tag, but what happens when you have the code and are going to release and find an error, or someone decides that a particular change should not be included. I know that you can create a tag based on the repository and your local working copy, but this includes checking for specific file changes that should not be included, and creating the tag. With the readiness to create a “tag,” you would not put this tag on the head version of files that you do not need. There is no automatic way to specify some changes to build in Subversion. This is not the case when a new function should be developed in a branch, but more if the revision is in the trunk (or wherever you send the tag), but should not be included. Perhaps it does not need to be returned - the change may be appropriate, but in a future release, and not in this current one. If you do not have a specific version with the exact version of the file, you need to have to manually mix and match the data from the repository and your working copy.
In a similar situation, if you have files in Subversion that are not part of the release and do not need to be tagged. In StarTeam, you will not attach assembly-ready tags to them, but in Subversion everything seems to be in a directory. Is there any way to exclude such files from assembly and tag? Is that for svndumpfilter exclude for?
In short, is there a way to include only certain changes to some files in a tag, or should it be either a specific revision in the repository, or a manual combination of the files in the repository and your working copy?
source share