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

Rename `vcsh seed-gitignore` to `vcsh write-gitignore`
authorRichard Hartmann <richih.mailinglist@gmail.com>
Mon, 5 Dec 2011 10:26:10 +0000 (11:26 +0100)
committerRichard Hartmann <richih.mailinglist@gmail.com>
Mon, 5 Dec 2011 10:26:10 +0000 (11:26 +0100)
_vcsh
doc/vcsh.1.ronn
vcsh

diff --git a/_vcsh b/_vcsh
index f5ab347a4ced8c3fa98dc78c30dd9f9220e463ac..89588e4b23c5dc389f94dd827ab80cebbd781551 100644 (file)
--- a/_vcsh
+++ b/_vcsh
@@ -12,7 +12,7 @@ _arguments \
                list-tracked-by\:"list files tracked by a repo"
                rename\:"rename repo"
                run\:"run command on repo"
                list-tracked-by\:"list files tracked by a repo"
                rename\:"rename repo"
                run\:"run command on repo"
-               seed-gitignore\:"seed .gitignore.d/foo from git ls-files"
                setup\:"set up repo with recommended settings"
                setup\:"set up repo with recommended settings"
+               write-gitignore\:"write .gitignore.d/foo via git ls-files"
                \<REPO\>\:"Run git command directly"
        ))'
                \<REPO\>\:"Run git command directly"
        ))'
index 77e3fec75a081b367d7ed2d33bb26bc08d79b9e8..67557682bd3dc6690d64f6597cb2cb8a284b0351 100644 (file)
@@ -23,10 +23,10 @@ vcsh(1) - manage and sync config files via git
 
 `vcsh` run <repo> <command>
 
 
 `vcsh` run <repo> <command>
 
-`vcsh` seed-gitignore <repo>
-
 `vcsh` setup <repo>
 
 `vcsh` setup <repo>
 
+`vcsh` write-gitignore <repo>
+
 `vcsh` <repo> <gitcommand>
 
 `vcsh` <repo>
 `vcsh` <repo> <gitcommand>
 
 `vcsh` <repo>
@@ -94,12 +94,12 @@ an interactive user.
   This is needed to support mr and other scripts properly and of no concern to
   an interactive user.
 
   This is needed to support mr and other scripts properly and of no concern to
   an interactive user.
 
-* seed-gitignore:
-  Seed .gitignore.d/<repo> from git ls-files.
-
 * setup:
   Set up repository with recommended settings.
 
 * setup:
   Set up repository with recommended settings.
 
+* write-gitignore:
+  Write .gitignore.d/<repo> via git ls-files.
+
 * <repo> <gitcommand>:
   Shortcut to run `vcsh` on a repo. Will prepend `git` to <command> by itself.
 
 * <repo> <gitcommand>:
   Shortcut to run `vcsh` on a repo. Will prepend `git` to <command> by itself.
 
diff --git a/vcsh b/vcsh
index 1d38101861b3afd625cb683b50f4f44ab31f6044..0a9e52dc64fe8bf0fc98fc039858473fd6b8f640 100755 (executable)
--- a/vcsh
+++ b/vcsh
@@ -23,13 +23,13 @@ help() {
           <newname>     Rename repository
    run <repo> \\
        <command>        Use this repository
           <newname>     Rename repository
    run <repo> \\
        <command>        Use this repository
-
-   seed-gitignore \\
-   <repo>               Seed .gitignore.d/<repo> from git ls-files
    setup                Set up repository with recommended settings
    setup                Set up repository with recommended settings
+   write-gitignore \\
+   <repo>               Write .gitignore.d/<repo> via git ls-files
 
    <repo> <git command> Special command that allows you to run git commands
                         directly without having to type so much ;)" >&2
 
    <repo> <git command> Special command that allows you to run git commands
                         directly without having to type so much ;)" >&2
+   <repo>               Special command that enters a repository
 }
 
 debug() {
 }
 
 debug() {
@@ -141,7 +141,21 @@ run() {
        $VCSH_EXTERNAL_COMMAND
 }
 
        $VCSH_EXTERNAL_COMMAND
 }
 
-seed_gitignore() {
+setup() {
+       use
+       git config core.worktree     "$GIT_WORK_TREE"
+       git config core.excludesfile ".gitignore.d/$VCSH_REPO_NAME"
+       git config vcsh.vcsh         'true'
+       [ -e "$HOME/.gitignore.d/$VCSH_REPO_NAME" ] && git add -f "$HOME/.gitignore.d/$VCSH_REPO_NAME"
+}
+
+use() {
+       git_dir_exists
+       export GIT_WORK_TREE="$(git config --get core.worktree)"
+       export VCSH_DIRECTORY="$VCSH_REPO_NAME"
+}
+
+write_gitignore() {
        use
        cd "$HOME" || fatal "could not enter '$HOME'" 11
        gitignores=$(for file in $(git ls-files); do
        use
        cd "$HOME" || fatal "could not enter '$HOME'" 11
        gitignores=$(for file in $(git ls-files); do
@@ -170,20 +184,6 @@ seed_gitignore() {
                fatal "could not move '$tempfile' to '$HOME/.gitignore.d/$VCSH_REPO_NAME'" 53
 }
 
                fatal "could not move '$tempfile' to '$HOME/.gitignore.d/$VCSH_REPO_NAME'" 53
 }
 
-setup() {
-       use
-       git config core.worktree     "$GIT_WORK_TREE"
-       git config core.excludesfile ".gitignore.d/$VCSH_REPO_NAME"
-       git config vcsh.vcsh         'true'
-       [ -e "$HOME/.gitignore.d/$VCSH_REPO_NAME" ] && git add -f "$HOME/.gitignore.d/$VCSH_REPO_NAME"
-}
-
-use() {
-       git_dir_exists
-       export GIT_WORK_TREE="$(git config --get core.worktree)"
-       export VCSH_DIRECTORY="$VCSH_REPO_NAME"
-}
-
 if [ "$1" = 'clone' ]; then
        [ -z $2 ] && fatal "$1: please specify a remote" 1
        export VCSH_COMMAND="$1"
 if [ "$1" = 'clone' ]; then
        [ -z $2 ] && fatal "$1: please specify a remote" 1
        export VCSH_COMMAND="$1"
@@ -197,8 +197,8 @@ elif [ "$1" = 'delete' ] ||
      [ "$1" = 'list-tracked-by' ] ||
      [ "$1" = 'rename' ] ||
      [ "$1" = 'run' ] ||
      [ "$1" = 'list-tracked-by' ] ||
      [ "$1" = 'rename' ] ||
      [ "$1" = 'run' ] ||
-     [ "$1" = 'seed-gitignore' ] ||
-     [ "$1" = 'setup' ]; then
+     [ "$1" = 'setup' ] ||
+     [ "$1" = 'write-gitignore' ]; then
        [ -z $2 ]                      && fatal "$1: please specify repository to work on" 1
        [ "$1" = 'rename' -a -z "$3" ] && fatal "$1: please specify a target name" 1
        [ "$1" = 'run' -a -z "$3" ]    && fatal "$1: please specify a command" 1
        [ -z $2 ]                      && fatal "$1: please specify repository to work on" 1
        [ "$1" = 'rename' -a -z "$3" ] && fatal "$1: please specify a target name" 1
        [ "$1" = 'run' -a -z "$3" ]    && fatal "$1: please specify a command" 1
@@ -207,7 +207,7 @@ elif [ "$1" = 'delete' ] ||
        export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git"
        [ "$VCSH_COMMAND" = 'rename' ]         && export GIT_DIR_NEW="$VCSH_BASE/$3.git"
        [ "$VCSH_COMMAND" = 'run' ] && shift 2 && export VCSH_EXTERNAL_COMMAND="$*"
        export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git"
        [ "$VCSH_COMMAND" = 'rename' ]         && export GIT_DIR_NEW="$VCSH_BASE/$3.git"
        [ "$VCSH_COMMAND" = 'run' ] && shift 2 && export VCSH_EXTERNAL_COMMAND="$*"
-       [ "$VCSH_COMMAND" = 'seed-gitignore' ]
+       [ "$VCSH_COMMAND" = 'write-gitignore' ]
 elif [ "$1" = 'list' ] ||
      [ "$1" = 'list-tracked' ]; then
        export VCSH_COMMAND="$1"
 elif [ "$1" = 'list' ] ||
      [ "$1" = 'list-tracked' ]; then
        export VCSH_COMMAND="$1"