|
@@ -0,0 +1,54 @@
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+from=`(cd $1 > /dev/null && ${PWD_CMD-pwd} || echo $1) 2>/dev/null | sed 's,//*,/,g;s,/*$,,'`
|
|
|
+target=`(cd $2 > /dev/null && ${PWD_CMD-pwd} || echo $2) 2>/dev/null | sed 's,//*,/,g;s,/*$,,'`
|
|
|
+
|
|
|
+case $from in /* | "") ;; *) from=`${PWD_CMD-pwd}`/$from ;; esac
|
|
|
+case $target in /* | "") ;; *) target=`${PWD_CMD-pwd}`/$target ;; esac
|
|
|
+
|
|
|
+case $target in
|
|
|
+"$from" | "$from/"*)
|
|
|
+ dots=`echo $from | sed s,.,.,g`
|
|
|
+ echo $target | sed "s,^$dots/*,,;s,[^/]$,&/,"
|
|
|
+ exit 0
|
|
|
+ ;;
|
|
|
+esac
|
|
|
+
|
|
|
+case $from in
|
|
|
+"$target/"*)
|
|
|
+ dots=`echo $target | sed s,.,.,g`
|
|
|
+ echo $from/ | sed "s,^$dots/*,,;s,[^/]$,&/,;s,[^/]*/*,../,g;s,[^/]$,&/,"
|
|
|
+ exit 0
|
|
|
+ ;;
|
|
|
+esac
|
|
|
+
|
|
|
+prefix=`echo $from///$target | sed 's,\(\(/[^/]*\)*\).*///\1.*,\1,'`
|
|
|
+dots=`echo $prefix | sed s,.,.,g`
|
|
|
+from=`echo $from | sed "s,^$dots,,"`
|
|
|
+target=`echo $target | sed "s,^$dots,,"`
|
|
|
+
|
|
|
+from=`echo $from | sed 's,[^/][^/]*,..,g;s,.$,&/,'`
|
|
|
+echo ${from}$target/
|
|
|
+
|
|
|
+exit 0
|