To display the SVN repository tree, you can use the following commands:
svn list svn+ssh://yuki@scm.gforge.inria.fr/svnroot/gecos -R | egrep "/$"
svn list --username my_username https://scm.gforge.inria.fr/anonscm/my_username/svn/gecos/ -R | egrep "/$"
tree.py
script. You can install it with the following commands:sudo yum install python
sudo apt-get install python
or from the sources here
Download the following archive and extract it in the folder of you choice with the command:
tar -zxvf scripts.tar.gz
Go in the script folder created and give yourself permission to execute those scripts with the command:
chmod u+x lookup.sh tree.py
The only script you need to run is lookup.sh
. The script takes two parameters:
Let's say that we are interested in looking at the code of the function CDTFrontend(proj)
that generate the GeCoS IR from a C source file and that we have a hint that it might be located under trunk/gecos/ sub-repository. We can then call the script as follow:
./lookup.sh CDTFrontend "trunk/gecos/"
which should return the following output after a few seconds:
Final location is : /svn/gecos/trunk/gecos/core-emf/fr.irisa.cairn.gecos.model.cdtfrontend/src/fr/irisa/cairn/gecos/model/cdtfrontend/CDTFrontEnd.java
If you don't have any clue about the function location, you can look it up from a more distant location from trunk/ instead, which will give the same results but take more time (around 3-4 minutes for this example, up to 6-7 minutes for some other functions):
./lookup.sh CDTFrontend "trunk/"
You can also search over all SVN branchs by calling the script without a third parameter, but be ready for a very long search time. What's more the script will stop at the first matching result, for efficiency purposes.