diff options
| author | srdusr <trevorgray@srdusr.com> | 2023-04-10 22:58:35 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2023-04-10 22:58:35 +0200 |
| commit | 9620cd63ead3d53125a343981941669bf438eefe (patch) | |
| tree | ef194e07cce4399a368b3653d2ee88e126039d9b | |
| parent | 966e0a6ff081aebc6a578f5f14bdff5a876a33a5 (diff) | |
| download | dotfiles-9620cd63ead3d53125a343981941669bf438eefe.tar.gz dotfiles-9620cd63ead3d53125a343981941669bf438eefe.zip | |
Set bare dotfiles repository git environment variables dynamically
| -rw-r--r-- | .config/zsh/.zshrc | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index e27e0bf..28017b3 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -370,10 +370,29 @@ extract () { ### Dotfiles alias config='git --git-dir=$HOME/.cfg --work-tree=$HOME' +### Set bare dotfiles repository git environment variables dynamically +function set_git_env_vars() { + local git_dir="$(git rev-parse --git-dir -C . 2>/dev/null)" + if [[ -n "$git_dir" ]]; then + local is_bare="$(git -C "$git_dir" rev-parse --is-bare-repository 2>/dev/null)" + if [[ "$is_bare" == "true" ]]; then + export GIT_DIR="$HOME/.cfg" + #export GIT_WORK_TREE="$HOME" + export GIT_WORK_TREE=$(realpath $(eval echo ~)) + #export GIT_WORK_TREE="$HOME/$(basename "$(git rev-parse --show-toplevel)")" + else + unset GIT_DIR + unset GIT_WORK_TREE + fi + else + export GIT_DIR="$HOME/.cfg" + #export GIT_WORK_TREE="$HOME" + export GIT_WORK_TREE=$(realpath $(eval echo ~)) + #export GIT_WORK_TREE="$HOME/$(basename "$(git rev-parse --show-toplevel)")" + fi +} +set_git_env_vars -#alias cfg='config subtree pull --prefx' -#alias gsp="git subtree push --prefix=_site git@github.com:mertnuhoglu/blog_datascience.git" -#alias gsp="git subtree push.local/bin/scripts https://github.com/srdusr/scripts.git main --squash function gsp { # Config file for subtrees |
