Files
.dotfiles/.local/bin/git-root
2024-03-04 23:18:12 +01:00

15 lines
453 B
Bash
Executable File

#!/usr/bin/env bash
# git script that will return the root path of a git project, even if currently in a submodule.
# can be used to execute commands in the root directory as well.
# uses git >= 2.13 --show-superproject-working-tree
path=$(git rev-parse --show-superproject-working-tree)
[[ $? -ne 0 ]] && exit $?
if [ -z "$path" ]; then
path=$(git rev-parse --show-toplevel);
fi
if [ $# -eq 0 ]; then
echo "$path";
else
cd $path && exec "$@";
fi