I want to use Subversion with a script based development system, and was wondering what to do differently to my usual situation (C#/.NET).
The normal day-to-day update/commit cycle will work fine, as will change tracking and comparison of revisions. Where I'd like some advice is around handling of deployment.
With this script system, there's no distinct build step involved - instead, deployment involves uploading a selected script directly into the host application.
Changes to a script aren't necessarily included in the next release - they may be destined for the release after that, or the one after that.
In an ideal world, I'd like to be able to allocate a script into a given release, say the "September 2009" release, once it's been tested, and then pull out all the scripts for that release with a single command.
Update
As far as I can tell, neither Tags nor ChangeLists are going to be the answer.
ChangeLists aren't persistent (don't exist in the repository) and I need a solution that will allow review much later on.
Tags are effectively the same as branches - they contain all files by default, and you just get to choose which revisions.
I'm hoping for an approach that would start off with an empty branch into which specific file revisions could be placed as required.
Update 2
Two examples, showing how I can meet this situation with featues in other tools. Note that I'm not trying to promote these tools at all, as I want to use subversion, I'm just trying to work out how.
With QVCS, I can achieve my desired result by applying a label to a specific revision of a file. That label would stay in place, attached to that revision of that file. At any time, I could do a clean checkout, into an empty directory, and specify that only files with the specified label should be copied down.
Similarly, with StarTeam, I can apply a label to a file revision and check out only files with that label.