X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/deec8de709a933763e7344c3a7be54ae0be5577c..13a92124bd36f972583081b234f00165111be140:/vcsh?ds=inline diff --git a/vcsh b/vcsh index 6ce5320..aa97b63 100755 --- a/vcsh +++ b/vcsh @@ -74,7 +74,7 @@ fi # Read defaults : ${VCSH_REPO_D:=$XDG_CONFIG_HOME/vcsh/repo.d} -: ${VCSH_HOOK_D:=$XDH_CONFIG_HOME/vcsh/hooks-enabled} +: ${VCSH_HOOK_D:=$XDG_CONFIG_HOME/vcsh/hooks-enabled} : ${VCSH_BASE:=$HOME} : ${VCSH_GITIGNORE:=exact} : ${VCSH_WORKTREE:=absolute} @@ -152,6 +152,7 @@ clone() { exit fi git fetch + hook pre-merge git ls-tree -r --name-only origin/master | (while read object; do [ -e "$object" ] && error "'$object' exists." && @@ -161,6 +162,7 @@ clone() { fatal "will stop after fetching and not try to merge! Once this situation has been resolved, run 'vcsh run $VCSH_REPO_NAME git pull' to finish cloning." 17 git merge origin/master + hook post-merge hook post-clone retire hook post-clone-retired @@ -173,6 +175,7 @@ commit() { export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" use git commit --untracked-files=no --quiet + VCSH_COMMAND_RETURN_CODE=$? echo done hook post-commit @@ -221,7 +224,7 @@ init() { [ ! -e "$GIT_DIR" ] || fatal "'$GIT_DIR' exists" 10 mkdir -p "$VCSH_BASE" || fatal "could not create '$VCSH_BASE'" 50 cd "$VCSH_BASE" || fatal "could not enter '$VCSH_BASE'" 11 - git init + git init --shared=0600 upgrade hook post-init } @@ -255,6 +258,7 @@ pull() { export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" use git pull + VCSH_COMMAND_RETURN_CODE=$? echo done hook post-pull @@ -267,6 +271,7 @@ push() { export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" use git push + VCSH_COMMAND_RETURN_CODE=$? echo done hook post-push @@ -293,6 +298,7 @@ run() { hook pre-run use "$@" + VCSH_COMMAND_RETURN_CODE=$? hook post-run } @@ -301,12 +307,14 @@ status() { export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" use git status --short --untracked-files='no' + VCSH_COMMAND_RETURN_CODE=$? else for VCSH_REPO_NAME in $(list); do echo "$VCSH_REPO_NAME:" export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" use git status --short --untracked-files='no' + VCSH_COMMAND_RETURN_CODE=$? echo done fi @@ -497,3 +505,4 @@ hook pre-command $VCSH_COMMAND "$@" hook post-command verbose "$VCSH_COMMAND end, exiting" +exit $VCSH_COMMAND_RETURN_CODE