Connecting Kits to Mercurial
From Symbian Developer Community
This page describes how to connect package source code delivered in a zip file into a proper working connection to the live Mercurial repository. You will need to install the Mercurial software - we recommend version 1.3.1 or later.
Step 1 - Find the Repository
The repository structure generally matches the source structure - code in /sf/os/kernelhwsrv in a kit comes from a repository with a URL that ends in /sf/os/kernelhwsrv. There are two elements in the URL before "/sf", and these are less obvious
- License type - "oss" for Open Source, "sfl" for Symbian Foundation License
- Codeline - "FCL" for development codelines writable by everyone, "MCL" for the controlled codelines which only committers can update
For the rest of this page, let's assume that you are working with the Kernel Taster Kit, in which case the code is all Open Source (hurrah!) and you probably want to use the FCL codeline so that you can make contributions. The three repositories you will need are
- https://developer.symbian.org/oss/FCL/sf/adaptation/qemu
- https://developer.symbian.org/oss/FCL/sf/adaptation/beagleboard
- https://developer.symbian.org/oss/FCL/sf/os/kernelhwsrv
Note that the server is case sensitive, so FCL must be in capitals and everything else must be in lowercase. (Note also that we used to use "interim/QEMU" before the qemu package was formally adopted - that repository is still there, but please ignore it.)
Step 2 - Clone the Repository into your source tree
The Kernel Taster Kit was derived from version 3.0.b of the Symbian PDK, so that tag is used in these examples to pinpoint the revision of the source to connect with.
If you don't mind discarding the files you unzipped from the kit, then the easy way to do it is just
cd \sf\adaptation
rmdir /s/q beagleboard
hg clone --rev PDK_3.0.b https://developer.symbian.org/oss/FCL/sf/adaptation/beagleboard
hg pull --repository beagleboard
If you want to keep what you've done (that is, if you've already made some changes to the source that came with the kit) the instructions change slightly: you clone the main repository to a temporary location, then inject the Mercurial internal data into the existing source tree.
cd \sf\adaptation
hg clone --rev PDK_3.0.b https://developer.symbian.org/oss/FCL/sf/adaptation/beagleboard temp
move temp\.hg beagleboard\.hg
rmdir /s/q temp
hg pull --repository beagleboard
The .hg directory contains all of the Mercurial change history, and also records which versions of each file have been extracted into the workspace. The commands above will mean that Mercurial believes that your changes have been done against the version of the source that was used in PDK 3.0.b, i.e. the code from the Kernel Taster Kit.
Step 3 - Check for Updates
From now on it's Mercurial business as usual.
- hg status - show which files are different from the originals, whats been added or deleted etc.
- hg diff - show the diffs between the originals and the current files
- hg commit - check in the changes to make a new Mercurial changelist
- hg pull --rebase - get updates from the server
- hg push - publish your changes to the server
Please remember to mention the Bugzilla bug IDs in your commit descriptions - Symbian's Mercurial server will detect "Bug nnn" in the text, and create a note on that bug in Bugzilla with a link to your change.
Comments
Sign in to comment…

