]> git.madduck.net Git - code/vcsh.git/commitdiff

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:

Merge branch 'which'
authorRichard Hartmann <richih.mailinglist@gmail.com>
Fri, 10 Feb 2012 17:14:42 +0000 (18:14 +0100)
committerRichard Hartmann <richih.mailinglist@gmail.com>
Fri, 10 Feb 2012 17:14:42 +0000 (18:14 +0100)
README.md
doc/vcsh.1.ronn
vcsh

index f30545d1ebfd8b10c3bec43325bdb3bba0e0136e..c0585d237617259e167c1ca5670d5d4c831a9bc8 100644 (file)
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ community around the general idea of version controlling your (digital) life.
 
 * IRC: #vcs-home on irc.oftc.net
 
-* Mailing list: vcs-home@lists.madduck.net
+* Mailing list: http://lists.madduck.net/listinfo/vcs-home
 
 * Pull requests or issues on https://github.com/RichiH/vcsh
 
@@ -98,7 +98,7 @@ To illustrate, this is what a possible directory structure looks like.
 
 ### available.d ###
 
-The files you see in $XDG_CONFIG_HOME/mr/available.d are mr configuration files
+The files you see in $XDG\_CONFIG\_HOME/mr/available.d are mr configuration files
 that contain the commands to manage (checkout, update etc.) a single
 repository. vcsh repo configs end in .vcsh, git configs end in .git, etc. This
 is optional and your preference. For example, this is what a zsh.vcsh
@@ -116,7 +116,7 @@ this repository and fork your own.
 
 ### config.d ###
 
-$XDG_CONFIG_HOME/mr/available.d contains *all available* repositories. Only
+$XDG\_CONFIG\_HOME/mr/available.d contains *all available* repositories. Only
 files/links present in mr/config.d, however, will be used by mr. That means
 that in this example, only the zsh, gitconfigs, tmux and vim repositories will
 be checked out. A simple `mr update` run in $HOME will clone or update those
@@ -130,11 +130,13 @@ this:
 
     [DEFAULT]
     jobs = 5
-    include = cat $XDG_CONFIG_HOME/mr/config.d/*
+    # Use if your mr does not have vcsh support in mainline, yet
+    include = cat /usr/share/mr/vcsh
+    include = cat ${XDG_CONFIG_HOME:-$HOME/.config}/mr/config.d/*
 
 ### repo.d ###
 
-$XDG_CONFIG_HOME/vcsh/repo.d is the directory where all git repositories which
+$XDG\_CONFIG\_HOME/vcsh/repo.d is the directory where all git repositories which
 are under vcsh's control are located. Since their working trees are configured
 to be in $HOME, the files contained in those repositories will be put in $HOME
 directly.
@@ -185,10 +187,10 @@ Make sure none of the following files and directories exist for your test
 
 * ~/.gitignore.d
 * ~/.mrconfig
-* $XDG_CONFIG_HOME/mr/available.d/mr.vcsh
-* $XDG_CONFIG_HOME/mr/available.d/zsh.vcsh
-* $XDG_CONFIG_HOME/mr/config.d/mr.vcsh
-* $XDG_CONFIG_HOME/vcsh/repo.d/mr.git/
+* $XDG\_CONFIG\_HOME/mr/available.d/mr.vcsh
+* $XDG\_CONFIG\_HOME/mr/available.d/zsh.vcsh
+* $XDG\_CONFIG\_HOME/mr/config.d/mr.vcsh
+* $XDG\_CONFIG\_HOME/vcsh/repo.d/mr.git/
 
 All of the files are part of the template repository, the directory is where
 the template will be stored.
index 5e69c9a7f94118645ed4cd6ee4007533872173cc..cc66e075b9ff4b49d220ce9579c95fbce2809589 100644 (file)
@@ -107,7 +107,7 @@ an interactive user.
   Write .gitignore.d/<repo> via git ls-files.
 
 * <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>.
 
 * <repo>:
   Shortcut to run `vcsh enter <repo>`.
diff --git a/vcsh b/vcsh
index 015d47a7430be9ff270082ac7c66d008b1a99437..86e88f0ea59760abdd63bfc794d5bc77b178b14b 100755 (executable)
--- a/vcsh
+++ b/vcsh
@@ -101,7 +101,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
-       rmdir "$GIT_DIR" || error "could not delete '$GIT_DIR'"
+       rm -r "$GIT_DIR" || error "could not delete '$GIT_DIR'"
 }
 
 enter() {
@@ -228,7 +228,7 @@ if [ ! "x$VCSH_GITIGNORE" = 'xexact' ] && [ ! "x$VCSH_GITIGNORE" = 'xrecursive'
 fi
 
 if [ "$1" = 'clone' ]; then
-       [ -z $2 ] && fatal "$1: please specify a remote" 1
+       [ -z "$2" ] && fatal "$1: please specify a remote" 1
        export VCSH_COMMAND="$1"
        GIT_REMOTE="$2"
        [ -n "$3" ] && VCSH_REPO_NAME="$3" || VCSH_REPO_NAME=$(basename "$GIT_REMOTE" .git)