History of bitweaverCVS

{maketoc}

Our CVS is hosted at Sourceforge. Usage information is in Section F of their [http://sourceforge.net/docman/?group_id=1|documentation page]. If you like, take a look at our [/cvs|groovy stats]. And now, ++yellow: how Bitweaver CVS is organized:++

Our CVS tree has one ++yellow: module++ for each package. However, a virtual module is use to create three primary distributions: __bitweaver__, __bitweaverdev__ and __bitweavercore__. Every ((bitweaverRoadMap|bitweaver release)) has a CVS ++yellow: branch++ named after it. The branch is create ''after'' we have gone into schema freeze for the project. For details on __how to get code__ (checkout modules, branches, packages) please refer to ((GetCode|this page: GetCode)).


! CVS Modules

!! Main modules
* __bitweaver__ - release material. These are the packages that are ready for general distribution.
* __bitweaverdev__ - all bitweaver packages that are currently available in CVS. Contains dangerously explosive stuff. Some packages are in serious flux and are not considered ready for general consumption. Gives you an idea of what great stuff is going to be available in the near future!
* __bitweavercore__ - contains all core modules without any clutter. Basically the minimum required to get a fully working version of bitweaver without any additional functionality.
* __packages__ - packages that were developed specifically for bitweaver are prepended with _bit_. For instance, the wiki package is called ))_bit_wiki(( in cvs. Third party applications such as [http://www.phpbb.com/|phpBB] are only prepended with an underscore, so to check out phpBB you check out _phpbb.

!! 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

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 ((GetCode|this page: GetCode)).


! CVS Branches
* __R#__ - R1 is equivalent to Release 1 and symbolises a stable release branch that will not undergo any API changes or database schema changes.
* __ HEAD__ - no guarantees for stability provided. Might break at any time. There's no official support for this branch (still, you're welcome to ((ConnectingToIrc|join us on IRC)) if you have questions). Use this branch only if you are a developer.

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/HEAD
DEVELOPMENT 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:
*Branch - Comment
**Tag - Comment
**Tag - Comment

!! HEAD - Current Mainline
This is the leading edge of development.

!! ReleaseOne R1
This 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.


! Notes

!! Checkout bitweaver code
Pleaser refer to ((GetCode|this page: GetCode)).


!! Adding a package to R#
{code format="bash"}
cvs rtag -b R# <package>
e.g.: cvs rtag -b R1 _bit_calendar
{/code}

!! Including 3rd party code in CVS
Please refer to ((UsingLibrariesInCVS)). There you find an example (adoDB) for including 3rd party code in CVS.

!! Importing new packages into CVS Modules
If you you are reworking a module from or ((Features Boneyard)) to be included in bitweaver, you are importing a new package into CVS Modules:
# delete all ''CVS'' directories from the package.
# __cd__ into the package directory you wish to import
# import the package:
* {CODE}$ cvs -qz5 -d:ext:bitweaver@cvs.sf.net:/cvsroot/bitweaver import -m'IMPORT TikiPro CLYDE FINAL' _bit_sample BITWEAVER HEAD{/CODE}
# add the module and alias to CVSROOT/modules and append to modules alias __bitweaverdev__

!! Changing branch for specific CVS modules
If you move a package from HEAD into release module, you need to change branch for a specific CVS module:
# modify CVSROOT/modules that the package is in the release module __bitweaver__
# __cd__ to the module for which you want to change the branch tag
# cvs tag -R -b <branch>
# cvs up -r <branch>
# cvs commit
# to make sure it worked, you can remove the package dir and checkout the package again:
# optional: cvs co -r <branch> <cvs module>


!! How a release branch is created
{code source=bash title="In <Release> directory:"}
cvs -d:ext:..... co bitweaver
{/code}
{code source=bash title="In <Release>/bitweaver directory:"}
cvs update -dP
cvs rtag -b -D <Today's Date Plus 1 Year: YYYY-MM-DD> <Release> bitweaver
cvs rtag -r <Release> <Release>_LASTMERGE bitweaver
{/code}


!! Version Merging

!!! How merge to HEAD is done

{code format=bash title="In R1/bitweaver directory" num=true}
cvs update -dP
cvs tag -cF R1_NEXTMERGE
{/code}

{code format=bash title="In merge/HEAD directory:" num=true}
cvs -d :ext:btodoroff@bitweaver.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
{/code}

__NOTE__ about [https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_5.html#SEC64|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 Meld
Make sure you have Meld installed: __Fedora Core: # yum -y install meld__ and then get R1 and HEAD into seperate directories:

{CODE format=bash}
cvs -d :ext:<username>@bitweaver.cvs.sourceforge.net:/cvsroot/bitweaver co -d biteaver_R1 -r R1 bitweaver
cvs -d :ext:<username>@bitweaver.cvs.sourceforge.net:/cvsroot/bitweaver co -d biteaver_HEAD bitweaver
{/CODE}
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.
Page History
Date/CommentUserIPVersion
26 Mar 2008 (15:37 UTC)
spiderr66.194.217.22167
Current • Source
spiderr69.134.148.4065
View • Compare • Difference • Source
Jerry Russell66.25.205.23264
View • Compare • Difference • Source
laetzer217.83.93.21163
View • Compare • Difference • Source
xing81.223.107.22361
View • Compare • Difference • Source
dspt217.21.50.16760
View • Compare • Difference • Source
xing194.152.164.4559
View • Compare • Difference • Source
xing194.152.164.4558
View • Compare • Difference • Source
xing194.152.164.4557
View • Compare • Difference • Source
xing194.152.164.4556
View • Compare • Difference • Source
xing194.152.164.4555
View • Compare • Difference • Source
Stephan Borg218.214.1.11354
View • Compare • Difference • Source
xing194.152.164.4553
View • Compare • Difference • Source
xing194.152.164.4552
View • Compare • Difference • Source
Stephan Borg218.214.1.11351
View • Compare • Difference • Source
xing194.152.164.4549
View • Compare • Difference • Source
laetzer84.191.93.21948
View • Compare • Difference • Source
Stephan Borg218.214.1.11347
View • Compare • Difference • Source
Stephan Borg218.214.1.11346
View • Compare • Difference • Source
spiderr68.125.207.11345
View • Compare • Difference • Source
spiderr66.93.240.20444
View • Compare • Difference • Source
spiderr66.93.240.20443
View • Compare • Difference • Source
spiderr66.93.240.20442
View • Compare • Difference • Source
spiderr66.93.240.20440
View • Compare • Difference • Source
spiderr66.93.240.20439
View • Compare • Difference • Source
spiderr66.93.240.20438
View • Compare • Difference • Source