Revision aba8e906508bfd21692f4546a66e30524e535e6f authored by Tony Kelman on 26 January 2016, 07:17:06 UTC, committed by Tony Kelman on 26 January 2016, 07:20:09 UTC
This reverts commit dfba26bde58b9b9fae66001b136c67391243c394. This is a detail of the out of tree builds which only exist on master. Any backport that relies on this was not resolved correctly for release-0.4.
1 parent 57fc0bc
relative_path.sh
#!/usr/bin/env bash
# This file is a part of Julia. License is MIT: http://julialang.org/license
# both $1 and $2 are absolute paths beginning with /
# returns relative path to $2/$target from $1/$source
# Source copied from http://stackoverflow.com/a/12498485/230778
source=$1
target=$2
if [[ ! "$source" == /* ]] || [[ ! "$target" == /* ]]; then
echo "ERROR: paths must be absolute paths, they must start with a forward slash!"
exit 1
fi
common_part=$source # for now
result="" # for now
while [[ "${target#$common_part}" == "${target}" ]]; do
# no match, means that candidate common part is not correct
# go up one level (reduce common part)
common_part="$(dirname $common_part)"
# and record that we went back, with correct / handling
if [[ -z $result ]]; then
result=".."
else
result="../$result"
fi
done
if [[ $common_part == "/" ]]; then
# special case for root (no common path)
result="$result/"
fi
# since we now have identified the common part,
# compute the non-common part
forward_part="${target#$common_part}"
# and now stick all parts together
if [[ -n $result ]] && [[ -n $forward_part ]]; then
result="$result$forward_part"
elif [[ -n $forward_part ]]; then
# extra slash removal
result="${forward_part:1}"
fi
echo $result
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...