History of bitweaverCVS

Our CVS is hosted at [http://cvs.sourceforge.net/viewcvs.py/tikipro/|SourceForge]

Check out our groovy [/cvs|CVS Stats]

{maketoc}

!CVS Introduction

An introduction to CVS use on SourceForge is [http://sourceforge.net/docman/display_doc.php?docid=14033&group_id=1|Basic Introduction to CVS and SourceForge.net Project CVS Services].
Information on usage of SourceForge CVS is in Section F of the [http://sourceforge.net/docman/?group_id=1|SourceForge Docs] page.

!How is the ))TikiProCVS(( organized

!!Modules
Our CVS tree has a cvs module for each package. However, a virtual CVS module is use to create our two primary distributions: __tikipro__ and __tikilite__. Every ((TikiProRoadMap|TikiPro release)) has a CVS branch named after it. The branch is create AFTER we have gone into schema freeze for the project.

To get code for ReleaseClyde, you want to check out the code from Sourceforge.
__Developer Access:__ If you are you a [http://sourceforge.net/project/memberlist.php?group_id=101599|member of the TikiPro project] then you should (~~#FF0000:NOTE!!~~ __Make sure__ you "export CVS_RSH=ssh" in your /etc/profile or CVS shell first):
cvs -d :ext:yourusername@cvs.sf.net:/cvsroot/tikipro co clyde
__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.
cvs -d :pserver:anonymous@cvs.sf.net:/cvsroot/tikipro co clyde


To get the latest and greatest code from cvs HEAD ( currently ReleaseClyde ), don't use any tags at all:
{code in="Bash"} cvs -d :ext:yourusername@cvs.sf.net:/cvsroot/tikipro co tikilite {code}
or
{code in="Bash"} cvs -d :ext:yourusername@cvs.sf.net:/cvsroot/tikipro co tikipro {code}




!!Other modules:

_adodb - the latest import and merge of the adodb library supported by TikiPro
adodb - same as _adodb, just placed in the lib directory.
_smarty - the latest import and merge of the smarty library supported by TikiPro
smarty - same as _smarty, just placed in the lib directory.

To update a library, here is an example for adodb:
Download and untar the latest version. cd into the adodb dir just unpacked then:
{code in="Bash"}
cvs -qz5 -d:ext:btodoroff@cvs.sourceforge.net:/cvsroot/tikipro import -I ! -m"Import adodb 4.20 from ADODB directly" _adodb ADODB ADODB_420
{code}

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

!!Bonnie - Release 2
*BONNIE - Release 2
**BONNIE_LASTMERGE - Point at which the most recent merge to HEAD took place.
**BONNIE_NEXTMERGE - Point to which the next merge to HEAD will end. (Only used for a few minutes at a time while merging)

!!AL - Release 1
*AL - Release 1 - No longer Maintained
**AL_LASTMERGE - Point at which the most recent merge to HEAD took place.
**AL_NEXTMERGE - Point to which the next merge to HEAD will end. (Only used for a few minutes at a time while merging)
**AL_RC1 - Release Candidate 1
**AL_RC2 - Release Candidate 2
*PURETIKI - Initial import of Tiki 1.8 for fork


!!Version Merging
^How merge to HEAD is done:
__In BONNIE/tikipro directory:__
cvs update -dP
cvs tag -cF BONNIE_NEXTMERGE
__In merge/HEAD directory:__
cvs -d :ext:btodoroff@cvs.sourceforge.net:/cvsroot/tikipro co tikipro
cd tikipro
cvs update -j BONNIE_LASTMERGE -j BONNIE_NEXTMERGE
cvs commit -m "Merge recent changes from BONNIE into HEAD"
cd ..
rm -rf tikipro
__Back in BONNIE/tikipro directory:__
cvs tag -r BONNIE_NEXTMERGE -F BONNIE_LASTMERGE
^
^How a release branch is created
__In <Release> directory:__
cvs -d:ext:..... co tikipro
__In <Release>/tikipro directory:__
cvs update -dP
cvs rtag -b -D <Today's Date Plus 1 Year: YYYY-MM-DD> <Release> tikipro
cvs rtag -r <Release> <Release>_LASTMERGE tikipro
^



!!Including 3rd party code in CVS
^How 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:

{code in="Bash"}
$ wget http://phplens.com/lens/dl/adodb360.tgz
$ tar xvzf adodb360.tgz
$ rm adodb360.tgz
$ cd adodb
$ cvs import -m 'Imported ADOdb 4.60' _adodb PHPLENS_COM R4_60
$ cd ..
$ rm -fr adodb
{code}

Now, we're going to check it out from CVS and fix a bug we found:

{code in="Bash"}
$ cvs checkout _adodb
$ cd _adodb
...hack, chop, whittle...
$ cvs commit -m "Fixed bug #12345: Replace doesn't use native REPLACE command, if available"
$ cd ..
$ rm -fr _adodb
{code}

Now, we want to upgrade to version 4.62:

{code in="Bash"}
$ wget http://phplens.com/lens/dl/adodb462.tgz
$ tar xvzf adodb462.tgz
$ rm adodb462.tgz
$ cd adodb
$ cvs import -m 'Imported ADOdb 4.62' _adodb PHPLENS_COM R4_62
{code}

This command completed successfully, but reported the following:

1 conflicts created by this import.
Use the following command to help the merge:

{code in="Bash"}
cvs checkout -j -jR4_62 _adodb
{code}

So, let's delete the imported directory:
{code in="Bash"}
$ cd ..
$ rm -fr adodb
{code}
And checkout as instructed above.

{code in="Bash"}
$ cvs checkout -jR4_60 -jR4_62 _adodb
{code}

Manually resolve any conflicts that were reported.

Now, let's commit our 4.60 changes into 4.62:

{code in="Bash"}
$ cvs commit -m 'Merged our 4.60 changes into 4.62'
{code}

And finally remove our directory:

{code in="Bash"}
$ rm -fr _adodb
{code}

(Source: http://tikiwiki.org/tiki-index.php?page=UsingLibrariesInCVS)
^
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