History of bitweaverCVS
Version 55 | Current version | |
---|---|---|
Our CVS is hosted at SourceForge Check out our groovy CVS Stats CVS IntroductionAn introduction to CVS use on SourceForge is Basic Introduction to CVS and SourceForge.net Project CVS Services.Information on usage of SourceForge CVS is in Section F of the SourceForge Docs page. How is the bitweaverCVS organizedModulesOur CVS tree has a cvs module for each package. However, a virtual CVS module is use to create our two primary distributions: bitweaver, bitweaverdev and bitweavercore. Every bitweaverRoadMap has a CVS branch named after it. The branch is create AFTER we have gone into schema freeze for the project.CVS Modules
CVS Branches
to get a reliable list of all available modules and things that are available in CVS, please check out CVSROOT and view the modules file. there you can find the various modules and what virtual modules we have available and what exaclty they contain. To get code for ReleaseOne, you want to check out the code from Sourceforge. Developer Access: If you are you a member of the bitweaver project then you should (NOTE!! Make sure you "export CVS_RSH=ssh" in your /etc/profile or CVS shell first):
General Access: If not, you can get anonymous access. Note this method users a mirrored CVS and has a 24+ code delay with the :ext: method indicated above.
To get the latest and greatest code from cvs HEAD ( currently ReleaseTwo ), don't use any tags at all:
Other modules:_adodb - the latest import and merge of the adodb library supported by bitweaver _smarty - the latest import and merge of the smarty library supported by bitweaver BranchesAs discussed in ReleaseProcess there are three active branches in cvs: STABLE, TESTING, and DEVELOPMENT. See ReleaseProcess for which branch is currently in which state.Development/HEADDEVELOPMENT is the cvs trunk also known as HEAD.Fixes in STABLE get merged into TESTING as needed. Fixes in TESTING, including those from STABLE, get merged into HEAD as needed. Several tags are maintained on DEVELOPMENT, TESTING, and STABLE to manage the merge process. In general you should simple checkout the latest version of the brach you are working on. See ReleaseProcess for what should be done where. Format:
HEAD - Current MainlineThis is the leading edge of development.ReleaseOne R1This is the version running on serveral sites and is considered stable. no database changes are made to this version and we try and maintain a stable environment.Version MergingHow merge to HEAD is done: In R1/bitweaver directory: cvs update -dP cvs tag -cF R1_NEXTMERGE In merge/HEAD directory: cvs -d :ext:btodoroff@cvs.sourceforge.net:/cvsroot/bitweaver co bitweaver cd bitweaver cvs update -j R1_LASTMERGE -j R1_NEXTMERGE cvs commit -m "Merge recent changes from R1 into HEAD" cd .. rm -rf bitweaver Back in R1/bitweaver directory: cvs tag -r R1_NEXTMERGE -F R1_LASTMERGE NOTE about the -kk option: There is one major caveat with using `-kk' on merges. Namely, it overrides whatever keyword expansion mode CVS would normally have used. In particular, this is a problem if the mode had been `-kb' for a binary file. Therefore, if your repository contains binary files, you will need to deal with the conflicts rather than using `-kk' Merging using Meldmake sure you have Meld installed:Fedora Core: # yum -y install meld and then get R1 and HEAD into seperate directories: cvs -d :ext:btodoroff@cvs.sourceforge.net:/cvsroot/bitweaver co -d biteaver_R1 -r R1 bitweaver cvs -d :ext:btodoroff@cvs.sourceforge.net:/cvsroot/bitweaver co -d biteaver_HEAD bitweaver open meld, activate the CVS text filter in the preferences window, click on the new icon and select the 2 dirs: in the compare directories tab select bitweaver_R1 as the Mine directory and the bitweaver_HEAD directory as the Original directory. merge the two, and commit to CVS i don't think any tags are needed in CVS if this method is used, but i might be mistaken. How a release branch is created In <release> directory: cvs -d:ext:..... co bitweaver In <release>/bitweaver directory: cvs update -dP cvs rtag -b -D <today date="" plus="" year:="" yyyy-mm-dd=""><release> bitweaver cvs rtag -r <release><release>_LASTMERGE bitweaver Including 3rd party code in CVSIs this the same stuff from UsingLibrariesInCVS? - wolff_borgHow merge to HEAD is done: Let's say we want to import the excellent database abstraction layer ADOdb version 4.60 into our CVS repository:
Now, we're going to check it out from CVS and fix a bug we found:
Now, we want to upgrade to version 4.62:
This command completed successfully, but reported the following: 1 conflicts created by this import. Use the following command to help the merge:
So, let's delete the imported directory:
And checkout as instructed above.
Manually resolve any conflicts that were reported. Now, let's commit our 4.60 changes into 4.62:
And finally remove our directory:
(Source: http://tikiwiki.org/tiki-index.php?page=UsingLibrariesInCVS) Importing New Packages into CVS Modules
Changing Branch for specific CVS modulesneeded to move a package from HEAD into release module.
| Our CVS is hosted at Sourceforge. Usage information is in Section F of their documentation page. If you like, take a look at our groovy stats. And now, how Bitweaver CVS is organized: Our CVS tree has one module for each package. However, a virtual module is use to create three primary distributions: bitweaver, bitweaverdev and bitweavercore. Every bitweaver release has a CVS branch named after it. The branch is created after we have gone into schema freeze for the project. For details on how to get code (checkout modules, branches, packages) please refer to this page: GetCode. CVS ModulesMain modules
Other modules
To get a reliable list of all available modules and things that are available in CVS, please check out CVSROOT and view the modules file. There you can find the various modules and what virtual modules we have available and what exaclty they contain. To get the latest and greatest code from cvs HEAD, don't use any tags at all. For details, please refer to this page: GetCode. CVS Branches
(NOTE: As of 2007-11-19, HEAD is considered stable as we have released ReleaseTwo, but have not yet created an R2 branch) As discussed in ReleaseProcess there are three active branches in CVS: STABLE, TESTING, and DEVELOPMENT. See ReleaseProcess for which branch is currently in which state. Development/HEADDEVELOPMENT is the CVS trunk also known as HEAD. Fixes in STABLE get merged into TESTING as needed. Fixes in TESTING, including those from STABLE, get merged into HEAD as needed. Several tags are maintained on DEVELOPMENT, TESTING, and STABLE to manage the merge process. In general you should simple checkout the latest version of the brach you are working on. See ReleaseProcess for what should be done where.Format:
HEAD - Current MainlineThis is the leading edge of development.ReleaseOne R1This is the version running on serveral sites and is considered stable. No database changes are made to this version and we try and maintain a stable environment.NotesCheckout bitweaver codePleaser refer to this page: GetCode.Adding a package to R#
Including 3rd party code in CVSPlease refer to UsingLibrariesInCVS. There you find an example (adoDB) for including 3rd party code in CVS.Importing new packages into CVS ModulesIf you you are reworking a module from or Features Boneyard to be included in bitweaver, you are importing a new package into CVS Modules:
Changing branch for specific CVS modulesIf you move a package from HEAD into release module, you need to change branch for a specific CVS module:
How a release branch is createdIn
In
Version MergingHow merge to HEAD is doneIn R1/bitweaver directory
In merge/HEAD directory:
NOTE about the -kk option: There is one major caveat with using `-kk' on merges. Namely, it overrides whatever keyword expansion mode CVS would normally have used. In particular, this is a problem if the mode had been `-kb' for a binary file. Therefore, if your repository contains binary files, you will need to deal with the conflicts rather than using `-kk' Merging using MeldMake sure you have Meld installed: Fedora Core: # yum -y install meld and then get R1 and HEAD into seperate directories:
Open meld, activate the CVS text filter in the preferences window, click on the new icon and select the 2 dirs: in the compare directories tab select bitweaver_R1 as the Mine directory and the bitweaver_HEAD directory as the Original directory. Merge the two, and commit to CVS. I don't think any tags are needed in CVS if this method is used, but i might be mistaken.</cvs></branch></branch></branch> |