X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/d2af0bfbf6fbdebc0dc94887786768643398e083..9d09f3e23ef8381223e95dd589f2b18c6623327b:/doc/vcsh.1.ronn?ds=sidebyside

diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn
index 76ae2a5..f286dc0 100644
--- a/doc/vcsh.1.ronn
+++ b/doc/vcsh.1.ronn
@@ -3,6 +3,8 @@ vcsh(1) - manage config files in $HOME via fake bare git repositories
 
 ## SYNOPSIS
 
+`vcsh` [<options>] <command>
+
 `vcsh` clone <url> [<repo>]
 
 `vcsh` delete <repo>
@@ -21,7 +23,7 @@ vcsh(1) - manage config files in $HOME via fake bare git repositories
 
 `vcsh` rename <repo> <newname>
 
-`vcsh` run <repo> <command>
+`vcsh` run <repo> <shell command>
 
 `vcsh` setup <repo>
 
@@ -29,7 +31,7 @@ vcsh(1) - manage config files in $HOME via fake bare git repositories
 
 `vcsh` write-gitignore <repo>
 
-`vcsh` <repo> <gitcommand>
+`vcsh` <repo> <git command>
 
 `vcsh` <repo>
 
@@ -59,6 +61,17 @@ an interactive user.
 
 ## OPTIONS
 
+* -c:
+  Source <file> prior to other configuration files
+
+* -d:
+  Enable debug mode
+
+* -v:
+  Enable verbose mode
+
+## COMMANDS
+
 * clone:
   Clone an existing repository.
 
@@ -117,6 +130,59 @@ an interactive user.
 As noted earlier, `vcsh` will set <$GIT_DIR> and <$GIT_WORK_TREE> to the
 appropriate values for fake bare git repositories.
 
+## CONFIG
+
+There are several ways to turn the various knobs on `vcsh`. In order of
+ascending precedence, they are:
+
+* `VARIABLE=foo vcsh`
+* </etc/vcsh/config>
+* <$XDG_CONFIG_HOME/vcsh/config>
+* `vcsh -c <file>`
+
+Please note that those files are sourced. Any and all commands will be
+executed in the context of your shell.
+
+Interesting knobs you can turn:
+
+* <$VCSH_GITIGNORE>:
+  Can be either <exact> or <recursive>.
+
+  <exact> will seed the repo-specific <.gitignore> with all file and directory
+  names which `git ls-files` returns.
+
+  <recursive> will descend through all directories recursively additionally to
+  the above.
+
+  Defaults to <exact>.
+
+Less interesting knobs you could turn:
+
+* <$VCSH_DEBUG>:
+  Enter debug mode.
+
+* <$XDG_CONFIG_HOME>:
+  As specified in the 'XDG Base Directory Specification', see
+  <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>
+
+  Defaults to <$HOME/.config>.
+
+* <$VCSH_REPO_D>:
+  The directory where repositories are read from and stored.
+
+  Defaults to <$XDG_CONFIG_HOME/vcsh/repo.d>.
+
+* <$VCSH_HOOK_D>:
+  The directory where hooks are read from.
+
+  Defaults to <$XDG_CONFIG_HOME/vcsh/hooks-enabled>.
+
+* <$VCSH_BASE>:
+  The directory where repositories are checked out to.
+
+  Defaults to <$HOME>.
+
+
 ## HOOK SYSTEM
 
 `vcsh` provides a hook system. Hook scripts must be executable and should be
@@ -141,25 +207,34 @@ 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
+Manpages are often short and sometimes useless to glean best practices from.
+While the author tried to avoid this in this case, manpages can not cover
+detailed howtos.
+
+This software also 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,
+`vcsh` allows you to execute arbitrary commands via `vcsh run`. For example,
 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.
+Additionally, vcsh will source, i.e. execute, all files listed in <CONFIG>.
+You can put any and all commands into these config files and they will be
+executed.
 
 ## BUGS
 
 None are known at this time, but reports and/or patches are more than welcome.
 
+## INTEROPERABILITY
+
+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.
+
 ## HISTORY
 
 Like most people, the author initially made do with a single repository for all