]> 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:

Hide hook execution messages unless verbose
[code/vcsh.git] / vcsh
diff --git a/vcsh b/vcsh
index 194bb2151c2a94a55098d74edc16176ad07ed2fb..599d1187a899a7513742010da9b0d67c4e0b1ad6 100755 (executable)
--- a/vcsh
+++ b/vcsh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # This program is licensed under the GNU GPL version 2 or later.
-# (c) Richard "RichiH" Hartmann <richih.mailinglist@gmail.com>, 2011-2012
+# (c) Richard "RichiH" Hartmann <richih.mailinglist@gmail.com>, 2011-2013
 # For details, see LICENSE. To submit patches, you have to agree to
 # license your code under the GNU GPL version 2 or later.
 
@@ -9,9 +9,11 @@
 # explain the choice of GPLv2+ over GPLv3+.
 # The author prefers GPLv3+ over GPLv2+ but feels it's better to maintain
 # full compability with git. In case git ever changes its licensing terms,
+# which is admittedly extremely unlikely to the point of being impossible,
 # this software will most likely follow suit.
 
 SELF=$(basename $0)
+VERSION='1.2'
 
 fatal() {
        echo "$SELF: fatal: $1" >&2
@@ -90,6 +92,7 @@ help() {
    run <repo> \\
        <command>        Use this repository
    setup <repo>         Set up repository with recommended settings
+   version              Print version information
    which <substring>    Find substring in name of any tracked file
    write-gitignore \\
    <repo>               Write .gitignore.d/<repo> via git ls-files
@@ -138,7 +141,7 @@ clone() {
 delete() {
        cd "$VCSH_BASE" || fatal "could not enter '$VCSH_BASE'" 11
        use
-       info "This operation WILL DETROY DATA!"
+       info "This operation WILL DESTROY DATA!"
        files=$(git ls-files)
        echo "These files will be deleted:
 
@@ -151,7 +154,7 @@ To continue, type 'Yes, do as I say'"
        for file in $files; do
                rm -f $file || info "could not delete '$file', continuing with deletion"
        done
-       rm -r "$GIT_DIR" || error "could not delete '$GIT_DIR'"
+       rm -rf "$GIT_DIR" || error "could not delete '$GIT_DIR'"
 }
 
 enter() {
@@ -168,7 +171,7 @@ git_dir_exists() {
 hook() {
        for hook in $VCSH_HOOK_D/$1* $VCSH_HOOK_D/$VCSH_REPO_NAME.$1*; do
                [ -x "$hook" ] || continue
-               info "executing '$hook'"
+               verbose "executing '$hook'"
                "$hook"
        done
 }
@@ -284,6 +287,9 @@ if [ "$1" = 'clone' ]; then
        [ -n "$3" ] && VCSH_REPO_NAME="$3" || VCSH_REPO_NAME=$(basename "$GIT_REMOTE" .git)
        export VCSH_REPO_NAME
        export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
+elif [ "$1" = 'version' ]; then
+       echo "$SELF $VERSION"
+       exit
 elif [ "$1" = 'which' ]; then
        [ -z "$2" ] && fatal "$1: please specify a filename" 1
        [ -n "$3" ] && fatal "$1: too many parameters" 1