History of bitweaverCVS

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

Check out our groovy [/cvs|CVS Stats]


!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 ))bitweaverCVS(( organized

Our CVS tree has a cvs module for each package. However, a virtual CVS module is use to create our two primary distributions: __bitweaver__ and __tikilite__. Every ((bitweaverRoadMap|bitweaver 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 ReleaseOne, 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 bitweaver project] then you should (~~#FF0000:NOTE!!~~ __Make sure__ you "export CVS_RSH=ssh" in your /etc/profile or CVS shell first):
{code in="Bash"} cvs -d :ext:yourusername@cvs.sf.net:/cvsroot/bitweaver co -r R1 bitweaver{code}
__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.
{code in="Bash"} cvs -d :pserver:anonymous@cvs.sf.net:/cvsroot/bitweaver co -r R1 bitweaver{code}

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

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

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

*Branch - Comment
**Tag - Comment
**Tag - Comment

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

!!Bonnie - Release 2
*R1 - Release 2
**R1_LASTMERGE - Point at which the most recent merge to HEAD took place.
**R1_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 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:__

__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:
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's Date Plus 1 Year: YYYY-MM-DD> <Release> bitweaver
cvs rtag -r <Release> <Release>_LASTMERGE bitweaver

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

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

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

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

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

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

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'

And finally remove our directory:

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

(Source: http://tikiwiki.org/tiki-index.php?page=UsingLibrariesInCVS)
!Importing New Packages into CVS Modules
# If you are importing a module from TikiPro, firstly delete all ''CVS'' directories from the package.
# __cd__ into the package directory you wish to import.
# Use the following to 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
needed to move a package from HEAD into release 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:
## cvs co -r <branch> <cvs module>
Page History
26 Mar 2008 (15:37 UTC)
Current • Source
View • Compare • Difference • Source
Jerry Russell66.25.205.23264
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
Stephan Borg218.214.1.11354
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
Stephan Borg218.214.1.11351
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
Stephan Borg218.214.1.11347
View • Compare • Difference • Source
Stephan Borg218.214.1.11346
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source