]> git.donarmstrong.com Git - lilypond.git/blob - buildscripts/walk.sh
a1ffd5c1d90913dd6322236d7b9e531c93d407dd
[lilypond.git] / buildscripts / walk.sh
1 #!@SHELL@
2 # walk.sh
3 # ugh
4 # print reversed relative path to $1
5
6 function base ()
7 {
8     expr "$1" : "\(/[^/]*\)"
9 }
10
11 function unbase ()
12 {
13     expr "$1" : "/[^/]*\(.*\)"
14 }
15
16 function walk ()
17 {
18     if expr "$1" : '/' > /dev/null 2>&1; then
19         c=../
20     fi
21     from=`(cd "$1" && pwd) | sed 's://*:/:g'`
22     to=`pwd | sed 's://*:/:g'`
23     t=`base "$to"`
24     f=`base "$from"`
25     while [ -n "$t" -a "$t" = "$f" ]; do
26         to=`unbase "$to"`
27         from=`unbase "$from"`
28         t=`base "$to"`
29         f=`base "$from"`
30     done
31     i=`echo $from | sed -e 's:[^/]\+:..:g'`
32     i=`echo $i | sed -e 's:/[.][.]:..:'`
33     echo $c$i$to
34 }
35
36 walk $1
37