]>
git.madduck.net Git - code/vcsh.git/blobdiff - doc/vcsh.1.ronn
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:
-vcsh(1) - manage config files in $HOME via fake bare git repositories
-=====================================================================
+vcsh(1) - Version Control System for $HOME - multiple Git repositories in $HOME
+===============================================================================
`vcsh` list-tracked-by <repo>
`vcsh` list-tracked-by <repo>
+`vcsh` pull
+
+`vcsh` push
+
`vcsh` rename <repo> <newname>
`vcsh` run <repo> <shell command>
`vcsh` rename <repo> <newname>
`vcsh` run <repo> <shell command>
+`vcsh` upgrade <repo>
+
+`vcsh` version
can have one repository per config set (zsh, vim, ssh, etc), picking and
choosing which configs you want to use on which machine.
can have one repository per config set (zsh, vim, ssh, etc), picking and
choosing which configs you want to use on which machine.
-`vcsh` is using a technique called fake bare g it repositories, keeping <$GIT_DIR>
+`vcsh` is using a technique called fake bare G it repositories, keeping <$GIT_DIR>
in a different directory from <$GIT_WORK_TREE> which is pointed to <$HOME>.
The use of symlinks is not needed in this setup, making for a cleaner setup.
in a different directory from <$GIT_WORK_TREE> which is pointed to <$HOME>.
The use of symlinks is not needed in this setup, making for a cleaner setup.
* clone:
Clone an existing repository.
* clone:
Clone an existing repository.
+ If you need to clone a bundle of repositories, look into the
+ `post-clone-retired` hook.
+
* delete:
Delete an existing repository.
* delete:
Delete an existing repository.
* list-tracked-by:
List files tracked by a repository.
* list-tracked-by:
List files tracked by a repository.
+* pull:
+ Pull from all vcsh remotes.
+
+* push:
+ Push to all vcsh remotes.
+
* rename:
Rename a repository.
* rename:
Rename a repository.
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.
-* setup:
- Set up repository with recommended settings.
+* upgrade:
+ Upgrade repository to currently recommended settings.
+
+* version:
+ Print version information.
* which <substring>:
Find <substring> in name of any tracked file.
* write-gitignore:
* which <substring>:
Find <substring> in name of any tracked file.
* write-gitignore:
- Write .gitignore.d/<repo> via git ls-files .
+ Write .gitignore.d/<repo> via `git ls-files` .
* <repo> <gitcommand>:
Shortcut to run `vcsh` on a repo. Will prepend `git` to <command>.
* <repo> <gitcommand>:
Shortcut to run `vcsh` on a repo. Will prepend `git` to <command>.
## ENVIRONMENT
As noted earlier, `vcsh` will set <$GIT_DIR> and <$GIT_WORK_TREE> to the
## ENVIRONMENT
As noted earlier, `vcsh` will set <$GIT_DIR> and <$GIT_WORK_TREE> to the
-appropriate values for fake bare g it repositories.
+appropriate values for fake bare G it repositories.
Interesting knobs you can turn:
* <$VCSH_GITIGNORE>:
Interesting knobs you can turn:
* <$VCSH_GITIGNORE>:
- Can be either <exact> or <recursiv e>.
+ Can be <exact>, <recursive>, or <non e>.
- <exact> will seed the repo-specific <.gitignore> with all file and directory
+ <exact> will seed the repo-specific ignore file with all file and directory
names which `git ls-files` returns.
<recursive> will descend through all directories recursively additionally to
the above.
names which `git ls-files` returns.
<recursive> will descend through all directories recursively additionally to
the above.
+ <none> will not write any ignore file.
+
Defaults to <exact>.
Less interesting knobs you could turn:
Defaults to <exact>.
Less interesting knobs you could turn:
is mandatory, though.
Available hooks are <pre-enter>, <post-enter>, <pre-run>, <post-run>,
is mandatory, though.
Available hooks are <pre-enter>, <post-enter>, <pre-run>, <post-run>,
-<pre-setup>, and <post-setup >. If you need more, vcsh is trivial to patch,
+<pre-upgrade>, and <post-upgrade >. If you need more, vcsh is trivial to patch,
but please let upstream know so we can ship them by default.
## DETAILED HOWTO AND FURTHER READING
but please let upstream know so we can ship them by default.
## DETAILED HOWTO AND FURTHER READING
-If you rely on `git submodule`, use `git` 1.7.12 or later. Earlier versions
-do not clean internal variables properly before descending into a submodule.
+If you rely on `git submodule` use `git` 1.7.12 or later. Earlier versions
+do not clean internal variables properly before descending into submodules,
+resulting in unhappy end users.
## HISTORY
Like most people, the author initially made do with a single repository for all
config files, all of which were soft-linked into <$HOME>.
## HISTORY
Like most people, the author initially made do with a single repository for all
config files, all of which were soft-linked into <$HOME>.
-Martin F. Krafft aka madduck came up with the concept of fake bare g it
+Martin F. Krafft aka madduck came up with the concept of fake bare G it
repositories.
vcsh was initally written by madduck. This version is a re-implementation from
repositories.
vcsh was initally written by madduck. This version is a re-implementation from
-Copyright 2011-2012 Richard Hartmann <richih.mailinglist@gmail.com>
+Copyright 2011-2013 Richard Hartmann <richih.mailinglist@gmail.com>
Licensed under the GNU GPL version 2 or higher.
Licensed under the GNU GPL version 2 or higher.