]>
git.madduck.net Git - code/vcsh.git/blobdiff - vcsh
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
# Read defaults
: ${VCSH_REPO_D:=$XDG_CONFIG_HOME/vcsh/repo.d}
# 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}
: ${VCSH_BASE:=$HOME}
: ${VCSH_GITIGNORE:=exact}
: ${VCSH_WORKTREE:=absolute}
- for object in $(git ls-tree -r origin/master | awk '{print $4}'); do
+ hook pre-merge
+ git ls-tree -r --name-only origin/master | (while read object; do
[ -e "$object" ] &&
error "'$object' exists." &&
VCSH_CONFLICT=1
done
[ -e "$object" ] &&
error "'$object' exists." &&
VCSH_CONFLICT=1
done
- [ "$VCSH_CONFLICT" = '1' ] &&
+ [ "$VCSH_CONFLICT" = '1' ]) &&
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
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-clone
retire
hook post-clone-retired
hook post-clone
retire
hook post-clone-retired
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
use
git commit --untracked-files=no --quiet
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
echo
done
hook post-commit
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
use
git pull
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
use
git pull
+ VCSH_COMMAND_RETURN_CODE=$?
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
use
git push
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
use
git push
+ VCSH_COMMAND_RETURN_CODE=$?
+ VCSH_COMMAND_RETURN_CODE=$?
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
use
git status --short --untracked-files='no'
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'
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=$?
if [ "$VCSH_COMMAND" = 'clone' ]; then
[ -z "$2" ] && fatal "$VCSH_COMMAND: please specify a remote" 1
GIT_REMOTE="$2"
if [ "$VCSH_COMMAND" = 'clone' ]; then
[ -z "$2" ] && fatal "$VCSH_COMMAND: please specify a remote" 1
GIT_REMOTE="$2"
- [ -n "$3" ] && VCSH_REPO_NAME="$3" || VCSH_REPO_NAME=$(basename "$GIT_REMOTE " .git)
+ [ -n "$3" ] && VCSH_REPO_NAME="$3" || VCSH_REPO_NAME=$(basename "${GIT_REMOTE#*:} " .git)
[ -z "$VCSH_REPO_NAME" ] && fatal "$VCSH_COMMAND: could not determine repository name" 1
export VCSH_REPO_NAME
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
[ -z "$VCSH_REPO_NAME" ] && fatal "$VCSH_COMMAND: could not determine repository name" 1
export VCSH_REPO_NAME
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
$VCSH_COMMAND "$@"
hook post-command
verbose "$VCSH_COMMAND end, exiting"
$VCSH_COMMAND "$@"
hook post-command
verbose "$VCSH_COMMAND end, exiting"
+exit $VCSH_COMMAND_RETURN_CODE