BerlinRoofNetRepository

From
Jump to navigation Jump to search

Description of the BerlinRoofNet repository

The repository of the BerlinRoofNet project is located at svn://brn-svn.sar.informatik.hu-berlin.de/BerlinRoofNet. You can also use the web interface http://brn-svn.sar.informatik.hu-berlin.de to get a first expression.

The structures is as follows (starting at BerlinRoofNet):

  • trunk
  • tags
  • branches

In the trunk folder you find the current version. Later we will point out the things to consider, when working with this it. The tags folder keeps released versions. These are releases known to work. Taking a release from there may be a good starting point, if you have trouble getting trunk to work. The branches folder keeps versions separated from trunk to develop major features.

The trunk is always the most recent version. You find a short discription of each folder in parentheses.

  • trunk
    • click (Everything referring to click)
      • click-core (Click framework based on cvs.pdos.csail.mit.edu /click/release/one [1])
      • configurations (click configurations files running on our mesh nodes (*.click, *.kclick, *.nsclick))
        • main (main configuration for our mesh nodes)
        • misc (other click scripts, we may use for testing)
      • packages (packages we developed)
        • arp (Robert's ARP implementation using dht) TODO
        • brn (mainly our dsr => we should separate this package more fine-grained)
        • dhcp (Robert's DHCP implementation using dht) TODO
        • dht (Robert's dht) TODO
        • gateway (Jens' gateway using dht)
        • sdp (Bernhard's SDP) TODO
    • madwifi (contains the different madwifi drivers)
    • platform (Everything referring to platforms we support, e.g. toolchains, kernels)
      • wgt634u (Netgear WGT634U)
          • linux-kernel-2.6.12-rc3
      • meshnode (Saxonia NETWORKS's meshnode)
          • linux-2.6.13.2-meshnode
    • simulation (Everything referring to simulations)
      • ns2 (The network simulator)
        • ns-2.29 (The version 2.29)
        • ns-2.29-click (ns-2.29 patched to embed click)
        • ns-2.29-click-scheduler (ns-2.29-click patched with scheduler patch)
      • JiST+SWANS (The JiST simulator) TODO
        • JiST+SWANS??? (the basic version)
        • Jist+SWANS-MCExOR (Implementation of MCExOR)
    • tools (Tools needed for whole BerlinRoofNet)
      • CruiseControl (CruiseControl configuration files)

As already mentioned, released version are just tags, you find in the tags folder.

Things to consider, when working with trunk:

  • Always commit compiling sources (Others don't like fixing your errors).

When working on click please comsider the following things:

  • The click configurations found in click/configurations/main should run on any node (both kernel and userlevel) (and in ns2)

You find a shell script in BerlinRoofNet called do_env.sh, which checkouts a toolchain and the trunk from the repository. (TODO: The toolchain needs to be added.) Beware, the repository is quite huge (about 2 GB after checkout). You may consider checking out only the sources you need.

Switching from old repository to the new

Before we start, do a backup of your working copy. If we run into problems, we may need it. If you made changes to a checked out version of BRN stuff from the old repository, the following steps should change your working copy to the new one. This works only for the changes you didn't commit to the old repository.

  • Type "svn info" in your working directory.
Pfad: .
URL: svn://brn-svn/brn/platform/wgt634u/brn
Projektarchiv UUID: 05e77afc-b0ef-0310-ae1e-ccf042a76f7d
Revision: 1966
Knotentyp: Verzeichnis
Plan: normal
Letzter Autor: sombrutz
Letzte geänderte Rev: 1920
Letztes Änderungsdatum: 2006-02-14 18:10:47 +0100 (Di, 14 Feb 2006)

You can see that I'm working on the old repository's brn package.

  • To switch execute
svn switch --relocate svn://brn-svn/brn/platform/wgt634u/brn svn://brn-svn/BerlinRoofNet/trunk/click/packages/brn/

I read that executing "switch svn://brn-svn/BerlinRoofNet/trunk/click/packages/brn/" may be enough, but what's the difference to the above. This will relocate your working copy from svn://brn-svn/brn/platform/wgt634u/brn (copy this svn-URL from svn info's output) to svn://brn-svn/BerlinRoofNet/trunk/click/packages/brn/, which is the new place for the brn package. To find the proper place, consider using the web interface http://brn-svn.sar.informatik.hu-berlin.de to browse the repository. The structure is quite self-explaining.

  • Execute "svn ci" to commit you changes to the new repository.

This way you can check in all the changes you made to your "old" working copy.

After migrating your changes, you should check out the new repository and work with the new one. But keep in mind, that the entire repository is quite huge. Consider checking out only the sources you are working with, if you are on a slow connection or having little storage.

To copy changes (made after revision 1981) from the old revision to the new read the chapter about "Branching and Merging" [2]. The complete SVN book is available at http://svnbook.red-bean.com/.