X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/a0a5e21206fb737a14ed7e37616bbfede1a64df8..80ebb8dcdf12f32873670c8adcdd8d49ca2c7b01:/doc/vcsh.1.ronn?ds=inline

diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn
index 26615f6..f9a849f 100644
--- a/doc/vcsh.1.ronn
+++ b/doc/vcsh.1.ronn
@@ -1,5 +1,5 @@
-vcsh(1) - manage and sync config files via git
-==============================================
+vcsh(1) - manage config files in $HOME via fake bare git repositories
+=====================================================================
 
 ## SYNOPSIS
 
@@ -15,16 +15,22 @@ vcsh(1) - manage and sync config files via git
 
 `vcsh` list
 
+`vcsh` list-tracked
+
+`vcsh` list-tracked-by <repo>
+
 `vcsh` rename <repo> <newname>
 
 `vcsh` run <repo> <command>
 
-`vcsh` seed-gitignore <repo>
-
 `vcsh` setup <repo>
 
+`vcsh` write-gitignore <repo>
+
 `vcsh` <repo> <gitcommand>
 
+`vcsh` <repo>
+
 
 ## DESCRIPTION
 
@@ -42,7 +48,8 @@ The use of symlinks is not needed in this setup, making for a cleaner setup.
 vcsh. That being said, you can easily use `vcsh` without `mr` if you prefer.
 
 A sample configuration for `vcsh` and `mr` can be found at
-*https://github.com/RichiH/vcsh_mr_template*
+*https://github.com/RichiH/vcsh_mr_template* and used with `vcsh clone
+https://github.com/RichiH/vcsh_mr_template mr`.
 
 Please note that you can always use a path instead of a name for <repo>.
 This is needed to support mr and other scripts properly and of no concern to
@@ -68,6 +75,12 @@ an interactive user.
 * list:
   List all local vcsh repositories.
 
+* list-tracked:
+  List all files tracked by vcsh.
+
+* list-tracked-by:
+  List files tracked by a repository.
+
 * rename:
   Rename a repository.
 
@@ -75,24 +88,68 @@ an interactive user.
   Run command with <$GIT_DIR> and <$GIT_WORK_TREE> set. Allows you to run any
   and all commands without any restrictions. Use with care.
 
-* seed-gitignore:
-  Seed .gitignore.d/<repo> from git ls-files.
+  Please note that there is a somewhat magic feature for run. Instead of <repo>
+  it accepts <path>, as well. Anything that has a slash in it will be assumed to
+  be a path. `vcsh run` will then operate on this directory instead of the one
+  normally generated from the repository's name.
+  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.
 
+* 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>:
+  Shortcut to run `vcsh enter <repo>`.
+
 ## ENVIRONMENT
 
 As noted earlier, `vcsh` will set <$GIT_DIR> and <$GIT_WORK_TREE> to the
 appropriate values for fake bare git repositories.
 
+## HOOK SYSTEM
+
+`vcsh` provides a hook system. Hook scripts must be executable and should be
+placed in <$XDG_CONFIG_HOME/vcsh/hooks-available>. From there, they can be
+soft-linked into <$XDG_CONFIG_HOME/vcsh/hooks-enabled>; `vcsh` will only
+execute hooks that are in this directory.
+
+Hooks follow a simple format. <pre-run> will be run before anything is run.
+If you want to have more than one script for a certain hook, just append
+any kind of string to order them. A system of <pre-run>, <pre-run.10>,
+<pre-run.20> etc is suggested; other options would be <pre-run-10> or
+<pre-run.sh>. A dot after the hook name is optional.
+
+If you want to create hooks for a specific <vcsh> repository, simply prepend
+the repository's name, followed by a dot, i.e. <zsh.pre-run>. Otherwise, the
+same rules as above apply. The dot between the repository's name and the hook
+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,
+but please let upstream know so we can ship them by default.
+
+## DETAILED HOWTO AND FURTHER READING
+
+Man pages are intended to be short and thus often useless to glean best
+practices from. This software comes with a file called <README.md>. It contains
+various approaches to setting up and using vcsh. You can view the file it as
+plain text or render it into various other formats via Markdown.
+
+On Debian-based systems, this file can be found in </usr/share/doc/vcsh>.
+
 ## SECURITY CONSIDERATIONS
 
 `vcsh` allows you to execute arbitrary commands via `vcsh` run. For example,
-speaking, adding a `sudo`(8) rule for `vcsh` would be pretty stupid.
+adding a `sudo`(8) rule for `vcsh` would be pretty stupid.
+
+Additionally, vcsh will source, i.e. execute, <$XDG_CONFIG_HOME/vcsh/config>.
+You can put any and all commands into this config file and they will be executed.
 
 ## BUGS
 
@@ -116,7 +173,7 @@ This manpage and `vcsh` itself were written by Richard "RichiH" Hartmann.
 
 ## COPYRIGHT
 
-Copyright 2011 Richard Hartmann <richih.mailinglist@gmail.com>
+Copyright 2011-2012 Richard Hartmann <richih.mailinglist@gmail.com>
 
 Licensed under the GNU GPL version 3 or higher.