Revision fc188a36c55e3aa61f325b5ecfa1c3d28908cf9e authored by Jeff Bezanson on 26 July 2018, 22:48:35 UTC, committed by Jeff Bezanson on 27 July 2018, 19:16:32 UTC
1 parent e0cf3db
relative_path.sh
#!/bin/sh
# This file is a part of Julia. License is MIT: https://julialang.org/license
# both $1 and $2 are absolute paths beginning with /
# returns relative path to $2/$target from $1/$source
relpath () {
[ $# -ge 1 ] && [ $# -le 2 ] || return 1
current="${2:+"$1"}"
target="${2:-"$1"}"
[ "$target" != . ] || target=/
target="/${target##/}"
[ "$current" != . ] || current=/
current="${current:="/"}"
current="/${current##/}"
appendix="${target##/}"
relative=''
while appendix="${target#"$current"/}"
[ "$current" != '/' ] && [ "$appendix" = "$target" ]; do
if [ "$current" = "$appendix" ]; then
relative="${relative:-.}"
echo "${relative#/}"
return 0
fi
current="${current%/*}"
relative="$relative${relative:+/}.."
done
relative="$relative${relative:+${appendix:+/}}${appendix#/}"
echo "$relative"
}
relpath "$@"
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...