From: Richard Hartmann Date: Wed, 30 Nov 2011 02:44:14 +0000 (+0100) Subject: Merge branch 'master' of github.com:RichiH/vcsh X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/881deb41fb7c5af8c5feedd075c780f3ce94df99?hp=5314563bc7d91f82d74478d42a100ffdd399ceb2 Merge branch 'master' of github.com:RichiH/vcsh Conflicts: vcsh --- diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn index e06c5f9..0ea9428 100644 --- a/doc/vcsh.1.ronn +++ b/doc/vcsh.1.ronn @@ -3,7 +3,7 @@ vcsh(1) - manage and sync config files via git ## SYNOPSIS -`vcsh` clone [] +`vcsh` clone [] `vcsh` delete @@ -44,6 +44,10 @@ vcsh. That being said, you can easily use `vcsh` without `mr` if you prefer. A sample configuration for `vcsh` and `mr` can be found at *https://github.com/RichiH/vcsh_mr_template* +Please note that you can always use a path instead of a name for . +This is needed to support mr and other scripts properly and of no concern to +an interactive user. + ## OPTIONS * clone: diff --git a/vcsh b/vcsh index 665c61a..8ca079a 100755 --- a/vcsh +++ b/vcsh @@ -199,15 +199,7 @@ elif [ "$1" = 'delete' ] || export VCSH_REPO_NAME="$2" export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git" [ "$VCSH_COMMAND" = 'rename' ] && export GIT_DIR_NEW="$VCSH_BASE/$3.git" - if [ "$VCSH_COMMAND" = 'run' ]; then - shift 2 - export VCSH_EXTERNAL_COMMAND="$*" - # Did we receive a directory instead of a name? Mangle the input to fit normal operation! - if echo $VCSH_REPO_NAME | grep -q '/'; then - export GIT_DIR=$VCSH_REPO_NAME - export VCSH_REPO_NAME=$(basename $VCSH_REPO_NAME .git) - fi - fi + [ "$VCSH_COMMAND" = 'run' ] && shift 2 && export VCSH_EXTERNAL_COMMAND="$*" [ "$VCSH_COMMAND" = 'seed-gitignore' ] elif [ "$1" = 'list' ]; then export VCSH_COMMAND="$1" @@ -223,6 +215,14 @@ else help && exit fi +# Did we receive a directory instead of a name? +# Mangle the input to fit normal operation. +if echo $VCSH_REPO_NAME | grep -q '/'; then + export GIT_DIR=$VCSH_REPO_NAME + export VCSH_REPO_NAME=$(basename $VCSH_REPO_NAME .git) +fi + + for check_directory in "$VCSH_BASE" "$HOME/.gitignore.d" do if [ ! -d "$check_directory" ]; then