[Inx] Collaborative INX Development using VirtualBox, Bazaar and Launchpad

David Symons david.symons at liberatedcomputing.net
Tue May 13 04:53:49 PDT 2008

Hi all,

[Sent to both lists, sorry for the double-up for many.]

This is how I've set up my development environment for INX using
VirtualBox, Bazaar and Launchpad.  Very terse, and terminology-rich
but hopefully useful.

Requirements: VirtualBox running the INX image from
http://inx.maincontent.net/devel/vbox-development-files/ and accessing
the internet.

1. Start up the VirtualBox image.
2. Log into INX, and hit X to exit.  Ignore the chastisement :-) .

Install Bazaar:
3. sudo apt-get update
4. sudo apt-get install bzr

Set up the development environment.
5. cd /home/inx
6. bzr init-repo scriptsandfunctions
7. cd scriptsandfunctions
8. bzr branch lp:inx trunk         (the lp: means get the branch from Launchpad)
9. bzr branch trunk mybranch
So there are two branches, one is a local copy of the main INX code
(trunk) and the other is a branch of that (mybranch).  This means that
merges from the main branch are quicker because they are done locally
(from local 'trunk' to mybranch).

Reconfigure so that INX will use mybranch when you run it:
10. sudo mv /usr/local /usr/oldlocal
11. sudo ln -s /home/inx/scriptsandfunctions/mybranch /usr/local

No you can make changes inside mybranch and they will apply when you
run inx.  Commit them using:
12. bzr commit

Publishing mybranch on Launchpad:
13. Go to http://code.launchpad.net/~YourLaunchpadID
14. Click on Register Branch
15. Project: inx, Name: YourBranchName, Branch type: Hosted, Title:
<OptionalButGoodToHaveOne>, Status: New
16. Click on the Register Branch button.
17. Take note of the text after "Update this branch":  bzr push
18. Go back to the VirtualBox Image
19. cd /home/inx/scriptsandfunctions/mybranch
20. bzr push lp:~YourLaunchpadID/inx/YourBranchName
Your changes will be published to Launchpad where Peter and others can
see them and merge them if they like.

Keeping up to date.
21. cd /home/inx/scriptsandfunctions/trunk
22. bzr pull       (this pulls down any updates to the main INX code
on Launchpad)
23. cd ../mybranch
24. bzr merge ../trunk   (this merges those changes into mybranch)
25. bzr commit -m "Merged from trunk."

Post to the list or try me in #inx on Freenode (my nick is "bimberi")
if anything is unclear or troublesome.

Cheers, Dave.
David Symons
Armidale NSW Australia

More information about the Inx mailing list