From: Richard Hartmann Date: Wed, 10 Jul 2013 10:53:04 +0000 (+0200) Subject: vcsh: Fix `vcsh rename` X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/b505b12474d422c623d31691822bea11f169262a?ds=sidebyside;hp=--cc vcsh: Fix `vcsh rename` Based on report and work by Alexander Skurikhin. GitHub: fixes 54 --- b505b12474d422c623d31691822bea11f169262a diff --git a/vcsh b/vcsh index e64ca0b..c3d90db 100755 --- a/vcsh +++ b/vcsh @@ -251,6 +251,12 @@ rename() { [ -d "$GIT_DIR_NEW" ] && fatal "'$GIT_DIR_NEW' exists" 54 mv -f "$GIT_DIR" "$GIT_DIR_NEW" || fatal "Could not mv '$GIT_DIR' '$GIT_DIR_NEW'" 52 + # Now that the repository has been renamed, we need to fix up its configuration + # Overwrite old name.. + GIT_DIR="$GIT_DIR_NEW" + $VCSH_REPO_NAME="$VCSH_REPO_NAME_NEW" + # ..and clobber all old configuration + upgrade } run() { @@ -348,7 +354,8 @@ elif [ "$1" = 'delete' ] || export VCSH_COMMAND="$1" export VCSH_REPO_NAME="$2" export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" - [ "$VCSH_COMMAND" = 'rename' ] && export GIT_DIR_NEW="$VCSH_REPO_D/$3.git" + [ "$VCSH_COMMAND" = 'rename' ] && { export VCSH_REPO_NAME_NEW="$3"; + export GIT_DIR_NEW="$VCSH_REPO_D/$VCSH_REPO_NAME_NEW.git" } [ "$VCSH_COMMAND" = 'run' ] && shift 2 [ "$VCSH_COMMAND" = 'write-gitignore' ] elif [ "$1" = 'list' ] ||