Skip to content
Snippets Groups Projects
Commit 6622b565 authored by Mike McQuaid's avatar Mike McQuaid Committed by GitHub
Browse files

Merge pull request #801 from MikeMcQuaid/git-shim-realpath

scm/git: make --homebrew=print-path use realpath.
parents 7b2798cb 408ac608
No related branches found
No related tags found
No related merge requests found
......@@ -17,10 +17,7 @@ source "$HOMEBREW_LIBRARY/Homebrew/utils/lock.sh"
git() {
if [[ -z "$GIT_EXECUTABLE" ]]
then
GIT_EXECUTABLE_RELATIVE="$("$HOMEBREW_LIBRARY/Homebrew/shims/scm/git" --homebrew=print-path)"
GIT_EXECUTABLE_BASE="$(basename "$GIT_EXECUTABLE_RELATIVE")"
GIT_EXECUTABLE_DIR="$(cd "$(dirname "$GIT_EXECUTABLE_RELATIVE")" && pwd)"
GIT_EXECUTABLE="$GIT_EXECUTABLE_DIR/$GIT_EXECUTABLE_BASE"
GIT_EXECUTABLE="$("$HOMEBREW_LIBRARY/Homebrew/shims/scm/git" --homebrew=print-path)"
fi
"$GIT_EXECUTABLE" "$@"
}
......
......@@ -9,15 +9,23 @@ quiet_safe_cd() {
cd "$1" >/dev/null || { echo "Error: failed to cd to $1" >&2; exit 1; }
}
absdir() {
quiet_safe_cd "${1%/*}/" && pwd -P
}
dirbasepath() {
local dir="$1"
local base="${2##*/}"
echo "$dir/$base"
}
realpath() {
local path="$1"
local dir
local base
local dest
dir="$(quiet_safe_cd "${path%/*}/" && pwd -P)"
base="${path##*/}"
path="$dir/$base"
dir="$(absdir "$path")"
path="$(dirbasepath "$dir" "$path")"
while [[ -L "$path" ]]
do
......@@ -28,9 +36,8 @@ realpath() {
else
path="$dir/$dest"
fi
dir="$(quiet_safe_cd "${path%/*}/" && pwd -P)"
base="${path##*/}"
path="$dir/$base"
dir="$(absdir "$path")"
path="$(dirbasepath "$dir" "$path")"
done
echo "$path"
......@@ -58,7 +65,9 @@ safe_exec() {
fi
if [[ "$HOMEBREW" = "print-path" ]]
then
echo "$arg0"
local dir="$(quiet_safe_cd "${arg0%/*}/" && pwd)"
local path="$(dirbasepath "$dir" "$arg0")"
echo "$path"
exit
fi
exec "$@"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment