RT contributor framework

Intoduction:
I was searching a way of using CVS or Aegis to manage mine RT
contributions for some time. May be because of lack of knowledge in VSs
technologies or something else, but I didn’t find solutions to solve
next problems:
- have no rights to commit in mainline;
- easy resolve conflicts on merging own repository with mainline;
- need more then one repository for different subprojects;
- save change sets in CVS instead of changes for particular files;
- get Aegis full clone of RT3.0.0 project from Best Practical web;
Tasks:
1) setup mainline repository that consistent with Best Practical
current version
2) setup repository for fixes/changes that should be included in
mainline
3) setup repository for stable(currently working) version of RT
4) setup other repositories for subprojects(contributions)
5) write this article
6) and many other tasks

Solutions:
I’ve stop my searches on BitKeeper(www.bitkeeper.com) with Single
User/Host license. I know that this license have restrictions on using
some good stuffs, but allowed tools solve most of described problems.
Everthing that you need to install bk on your machine you could find at
its site. I mentioned only one problem, after installation bk doesn’t
start under root login with complaints about ‘wm’.
Now we need to do initial import of RT source tree in bk repository:
- cd /tmp
- wget http://fsck.com/pub/rt/release/rt-3-0-4.tar.gz
- tar -zxvf rt-3-0-4.tar.gz
- cd /to/where/you/want/to/create/your/bk/repository
- bk setuptool bp_current
following GUI instructions of Setup Tool
- bk import -F -tCVS -A /tmp/rt-3-0-4 bp_current

We have got  new bk  branch  without parent under bp_current dir. 

It would be our clone off mainline. We should never push changes in it.
It’s only for import latest changes from Best Practical.
I’ve started writing of script that automagically pull changes from
aegis history
page(http://fsck.com/aegis/aegis.cgi?file@proj_hstry+project@rt.3.0),
but it still in development state. Script attached to this email.
Coution!!! Be easy! Don’t run it right now :slight_smile: (It’s still under
development). This tool uses ChangeSets comments for last delta number
identification. You must do “cd bp_current; bk comments -y’152/201
Bumping to RT 3.0.4’” before starting this script. BUGS: Script skips
deltas which creates new files and deletes old one. A lot of output
to STDOUT and more other .

Any help with script are wellcome.

Let forget about dirty script. And do some imort by hands.
    - cd bp_current
    - bk -r edit
    - wget -q -O - 

http://fsck.com/aegis/aegis.cgi/rt.3.0.C195.patch?file@aepatch+project@rt.3.0+change@195
| gunzip -c | patch -p0
- bk -r ci -y’153/195 #3042: Make max inline body size
configurable’
- bk commit -d -y’153/195 #3042: Make max inline body size
configurable’
Now we have commited new changeset from aegis. This also skip new
files, I found only next solution:
- find . -type f | xargs bk ci -i -y’New files’

To be continued:
Any sugestions and comments are wellcome.
Is it interesting for somebody or may be it’s useful only for me?

Best regards. Ruslan.

ae2bk.pl (3.45 KB)

Intoduction:
I was searching a way of using CVS or Aegis to manage mine RT
contributions for some time. May be because of lack of knowledge in VSs
technologies or something else, but I didn’t find solutions to solve
next problems:
- have no rights to commit in mainline;
- easy resolve conflicts on merging own repository with mainline;
- need more then one repository for different subprojects;
- save change sets in CVS instead of changes for particular files;
- get Aegis full clone of RT3.0.0 project from Best Practical web;
Tasks:
1) setup mainline repository that consistent with Best Practical
current version
2) setup repository for fixes/changes that should be included in
mainline
3) setup repository for stable(currently working) version of RT
4) setup other repositories for subprojects(contributions)
5) write this article
6) and many other tasks

Solutions:
I’ve stop my searches on BitKeeper(www.bitkeeper.com) with Single
User/Host license. I know that this license have restrictions on using
some good stuffs, but allowed tools solve most of described problems.
Everthing that you need to install bk on your machine you could find at
its site. I mentioned only one problem, after installation bk doesn’t
start under root login with complaints about ‘wm’.
Now we need to do initial import of RT source tree in bk repository:
- cd /tmp
- wget http://fsck.com/pub/rt/release/rt-3-0-4.tar.gz
- tar -zxvf rt-3-0-4.tar.gz
- cd /to/where/you/want/to/create/your/bk/repository
- bk setuptool bp_current
following GUI instructions of Setup Tool
- bk import -F -tCVS -A /tmp/rt-3-0-4 bp_current

We have got  new bk  branch  without parent under bp_current dir. 

It would be our clone off mainline. We should never push changes in it.
It’s only for import latest changes from Best Practical.
I’ve started writing of script that automagically pull changes from
aegis history
page(http://fsck.com/aegis/aegis.cgi?file@proj_hstry+project@rt.3.0),
but it still in development state. Script attached to this email.
Coution!!! Be easy! Don’t run it right now :slight_smile: (It’s still under
development). This tool uses ChangeSets comments for last delta number
identification. You must do “cd bp_current; bk comments -y’152/201
Bumping to RT 3.0.4’” before starting this script. BUGS: Script skips
deltas which creates new files and deletes old one. A lot of output
to STDOUT and more other .

Any help with script are wellcome.

Let forget about dirty script. And do some imort by hands.
    - cd bp_current
    - bk -r edit
    - wget -q -O - 

http://fsck.com/aegis/aegis.cgi/rt.3.0.C195.patch?file@aepatch+project@rt.3.0+change@195
| gunzip -c | patch -p0
- bk -r ci -y’153/195 #3042: Make max inline body size
configurable’
- bk commit -d -y’153/195 #3042: Make max inline body size
configurable’
Now we have commited new changeset from aegis. This also skip new
files, I found only next solution:
- find . -type f | xargs bk ci -i -y’New files’

To be continued:
Any sugestions and comments are wellcome.
Is it interesting for somebody or may be it’s useful only for me?

Best regards. Ruslan.

ae2bk.pl (3.45 KB)