scmproj: testing project: bzr.exe.project as bzr.exe building workspace

Alexander Belchenko bialix at ukr.net
Mon Dec 22 15:35:51 GMT 2008


Hi all, and especially Mark Hammond.

This is second mail about scmproj announcing.

I've prepared testing bzr.exe.project based on
bzr.dev/tools/win32/build_release.py script.

This project provide the way to recreate build environment for bzr.exe
and also introduce new separate component: separate branch with build scripts.
It's intended to keep all build scripts required for bzr.exe separately
from bzr and tbzr sources itself. (Actually there is no real scripts today,
it just shows possible project layout).

To obtain local copy of the bzr.exe.project you need to get scmproj plugin first
(there is no setup.py but I think people do know how to run devel branch
of plugin). Even if someone don't plan to build bzr.exe you can use it
as example anyway.

Here is sequence of commands to recreate project checkout:

mkdir bzr.exe.project && cd bzr.exe.project
bzr project-get http://bzrdev.bialix.com/bzr.exe.project

bzr project-fetch
bzr project-checkout

When you're executed all this commands you will end up with working copies for
bzr itself, tbzr, bzrtools, qbzr and bzr-svn in the bzr.exe.project directory.
In the project root you'll find another working copy -- it's intended for build
scripts.

Some notes:

1) command project-get put the local copy of the project in the current directory.
I think it should be fixed to conform typical bzr behavior when branch clone
created (by default) in the subdirectory named with basename of branch URL.

2) project-fetch will try to get local copies of component branches from LP.
Because bzr source branch has very big history (about 80MB in the repository)
you can use your local mirror to pull it first time (I'm sure many of people
here keep local mirrors of bzr.dev). To cut down the path you can use following
options of the command:

bzr pfetch bzr --source-branch=/path/to/bzr.dev/local/mirror

This command will pull the bzr source branch from specified location.

3) Project configuration has 2 alts defined: DEFAULT is trunk, it allow you
to work with trunk branches of all components. Another one is "1.9", it
allows you to recreate environment used for 1.9 release (I've created it based
on data from build_release.py script).

4) Building scripts branch is simple temporary branch from lp:~bialix/junk/bzr.exe.scripts
If you want to make your changes in it -- they will be committed to local
branch copy. You cannot push to my branch at LP, so you'll need to tweak
project config correspondingly.

If you have a questions about this testing project -- I'll happy to answer.
If you think it's not worth any effort to try it -- I'm OK. As I said in first mail
I need scmproj for my work. Testing bzr.exe.project is just example how one can use
my plugin.

Alexander.




More information about the bazaar mailing list