1
0
Files
dotfiles/.config/dotfiles/gen-gitignore.sh
2024-02-20 09:35:47 +03:00

33 lines
653 B
Bash
Executable File

#!/bin/sh
set -ef
path_gitignore='.config/dotfiles/gitignore'
gen_gitignore() {
git rev-parse --git-dir >/dev/null 2>&1
touch "$1"
{
echo '*'
git ls-files | sed -E 's:^:!/:'
} > "$1"
exit 0
}
me=$(readlink -e "$0")
topdir=$(printf '%s' "${me}" | sed -E 's:/[^/]+/[^/]+/[^/]+$::')
cd "${topdir}"
export GIT_OPTIONAL_LOCKS=0
dir="${me%/*}/repo.git"
if [ -d "${dir}" ] ; then
## end-point installation
GIT_DIR="${dir}"
GIT_WORK_TREE="${topdir}"
export GIT_DIR GIT_WORK_TREE
gen_gitignore "${GIT_WORK_TREE}/${path_gitignore}"
else
## development tree
gen_gitignore "${path_gitignore}"
fi