[EMAIL PROTECTED] wrote: > > What's a good way to do the following via CVS, > if it can be done at all. By "good" I mean > straight-forward and efficient. Just wondering > if someone has done this before. > > I have a proj, with subdirs. Say for now each > subdir contains a set of files that produce an > executable. I want to be able to "version" each > executable independently, while ALSO versioning > the entire project. > > ../proj/subdir1/exec1 > ../proj/subdir2/exec2 > > Currently, I just tag my project branch at a > certain point, and call that my project version. > So project version may be rel-041206. But exec1 > may be v2.0, exec2 at v2.9 for example. So now > I release project version rel-041210. I want it > to have exec v2.0 (same as before) but exec1 > version v3.0. >
assumptions 1) you can write some scripts to automate some of this. cvs checkout proj #with options to get exec1 at v2.0 code echo "appropriate data indicating tag v2_0 indicates version v2.0"\ >> proj/subdir1/versionlist.txt cvs commit -m "version to v2_0" \ >> proj/subdir1/versionlist.txt cvs tag v2_0 proj/subdir1/ cvs release -d proj #I would have a script to do the above, lets call it VersionSub1 cvs checkout proj #with options to get exec2 at v2.9 code echo "appropriate data indicating tag v2_9 indicates version v2.9"\ >> proj/subdir2/versionlist.txt cvs commit -m "version to v2_9" \ >> proj/subdir2/versionlist.txt cvs tag v2_9 proj/subdir2/ cvs release -d proj #I would have a script to do the above, lets call it VersionSub2 cvs checkout -rv2_0 proj/subdir1/ cvs checkout -rv2_9 proj/subdir2/ echo "appropriate data indicating rel-041206 is being made" \ >> proj/versionlist.txt cvs commit -m "rel-041206 being made of exec1 v2.0 and exec2 v2.9"\ >> proj/versionlist.txt cvs tag rel-041206 proj cvs release -d proj cvs checkout proj #with options to get exec1 at v3.0 code #I prefer to do these checkout+tag when the HEAD is the version, #and use clue-bats where appropriate to keep people out while I am doing it. #I also know that is not always possible. VersionSub1 3.0 #script will mangle version to fit local conventions cvs checkout -rv3_0 proj/subdir1/ cvs checkout -rv2_9 proj/subdir2/ echo "appropriate data indicating rel-041210 is being made" \ >> proj/versionlist.txt cvs commit -m "rel-041210 being made of exec1 v3.0 and exec2 v2.9"\ >> proj/versionlist.txt cvs tag rel-041206 proj cvs release -d proj #I would probably even have a script that could do most of #the above when passed something like "MakeRelease 041206 exec1_3_0 exec2_2_9" It all becomes more straight-forward and efficient the better you write your scripts and procedures. -- Todd Denniston Crane Division, Naval Surface Warfare Center (NSWC Crane) Harnessing the Power of Technology for the Warfighter _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/info-cvs
