Skip to main content
Sign in
Snippets Groups Projects
Commit 4424028c authored by Richard Hartmann's avatar Richard Hartmann
Browse files

Introduce `vcsh enter`

parent e73e39bb
Branches
Tags
No related merge requests found
...@@ -5,6 +5,7 @@ _arguments \ ...@@ -5,6 +5,7 @@ _arguments \
clone\:"clone from repo" clone\:"clone from repo"
help\:"display help" help\:"display help"
delete\:"delete repo" delete\:"delete repo"
enter\:"Enter repo; spawn new \$SHELL"
exit\:"Exit repo; unset" exit\:"Exit repo; unset"
init\:"init & clone from repo" init\:"init & clone from repo"
list\:"list all repos" list\:"list all repos"
... ...
......
...@@ -7,6 +7,8 @@ vcsh(1) - manage and sync config files via git ...@@ -7,6 +7,8 @@ vcsh(1) - manage and sync config files via git
`vcsh` delete <repo> `vcsh` delete <repo>
`vcsh` enter <repo>
`vcsh` exit `vcsh` exit
`vcsh` help `vcsh` help
...@@ -50,8 +52,11 @@ A sample configuration for `vcsh` and `mr` can be found at ...@@ -50,8 +52,11 @@ A sample configuration for `vcsh` and `mr` can be found at
* delete: * delete:
Delete an existing repository. Delete an existing repository.
* enter:
Enter repository; spawn new <$SHELL>.
* exit: * exit:
Exit repository; unset ENV Exit repository; unset ENV.
* help: * help:
Display help. Display help.
...@@ -70,7 +75,7 @@ A sample configuration for `vcsh` and `mr` can be found at ...@@ -70,7 +75,7 @@ A sample configuration for `vcsh` and `mr` can be found at
Seed .gitignore.d/<repo> from git ls-files. Seed .gitignore.d/<repo> from git ls-files.
* use: * use:
Use repository; set ENV Use repository; set ENV.
* <repo> <gitcommand>: * <repo> <gitcommand>:
Shortcut to run `vcsh` on a repo. Will prepend `git` to <command> by itself. Shortcut to run `vcsh` on a repo. Will prepend `git` to <command> by itself.
... ...
......
...@@ -21,6 +21,7 @@ help() { ...@@ -21,6 +21,7 @@ help() {
[<repo>] Clone from an existing repository [<repo>] Clone from an existing repository
help Display this help text help Display this help text
delete Delete an existing repository delete Delete an existing repository
enter Enter repository; spawn new $SHELL
exit Exit repository; unset ENV exit Exit repository; unset ENV
init <repo> Initialize a new repository init <repo> Initialize a new repository
list List all repositories list List all repositories
...@@ -89,6 +90,7 @@ if [ "$1" = 'clone' ]; then ...@@ -89,6 +90,7 @@ if [ "$1" = 'clone' ]; then
export VCSH_REPO_NAME export VCSH_REPO_NAME
export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git" export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git"
elif [ "$1" = 'delete' ] || elif [ "$1" = 'delete' ] ||
[ "$1" = 'enter' ] ||
[ "$1" = 'init' ] || [ "$1" = 'init' ] ||
[ "$1" = 'run' ] || [ "$1" = 'run' ] ||
[ "$1" = 'seed-gitignore' ] || [ "$1" = 'seed-gitignore' ] ||
...@@ -177,6 +179,13 @@ To continue, type \"Yes, do as I say\"" ...@@ -177,6 +179,13 @@ To continue, type \"Yes, do as I say\""
cd "$old_dir" cd "$old_dir"
verbose "delete end" verbose "delete end"
elif [ "$VCSH_COMMAND" = 'enter' ]; then
verbose "enter begin"
use || return $?
$SHELL
leave
verbose "enter end"
elif [ "$VCSH_COMMAND" = 'exit' ]; then elif [ "$VCSH_COMMAND" = 'exit' ]; then
verbose "exit begin" verbose "exit begin"
# if [ -n "$ZSH_VERSION" ] && [ "$VCSH_NO_IGNORE_EOF" = '1' ]; then # if [ -n "$ZSH_VERSION" ] && [ "$VCSH_NO_IGNORE_EOF" = '1' ]; then
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment