Thomas Dudziak wrote:
> I have a somewhat unusual tagging problem and checkout/update/merge
> are giving me grief.
> For reference, this is on Ubuntu 6.06 server with svn 1.3.1.
> In short, I need to create tags for older revisions of files, and if
> possible, based on each other (e.g. tag 2.1 is based on 2.0). Since
> the tags are not from trunk and the files in them come from different
> revisions, I cannot use a simple a svn copy command to create them.
> Rather, in order to avoid generating thousands of revsions (one svn
> copy for each file), the tags are generated via this procedure:
> * checkout the individual files into the working directory, each at
> the specific revision (i.e. svn co -r <rev> <url>)
> * checkin the whole working directory as a new tag
> For example, let's assume trunk contains files A, B, C, all at
> revision 5. Now, tag 1 should contain A at revision 1, B and C at
> revisions 2. The commands then would be
> svn mkdir <repo url>/tags/1
> svn co <repo url>/tags/1 <work dir>
> svn copy -r 1 <repo url>/trunk/A <work dir>/A
> svn copy -r 2 <repo url>/trunk/B <work dir>/B
> svn copy -r 2 <repo url>/trunk/C <work dir>/C
> svn ci <work dir>
> While this works (and generates only one revision per tag), the tag is
> not based on the previous one but instead generated from trunk
> directly. The benefit of generating a tag from the previous one would
> be that only few files have changed in between tags, and so the whole
> process would be faster.
Can't you check out the earliest or latest version of the project trunk
that makes sense as a starting point, and update (backdate) the specific
files in question to the revisions you want together in a tag, then copy
the working copy to the tag? If you reuse the same working copy as you
cycle through the combinations you want it should go fairly quickly and
will be one repository revision per tag.
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Mon Jul 16 18:22:37 2007