+\fBvcsh\fR \- manage config files in $HOME via fake bare git repositories
+\fBvcsh\fR \- manage config files in $HOME via fake bare git repositories
+.
+.
+.SH "SYNOPSIS"
+.SH "SYNOPSIS"
+\fBvcsh\fR [\fIoptions\fR] \fIcommand\fR
+.
+.P
+\fBvcsh\fR clone \fIurl\fR [\fIrepo\fR]
+\fBvcsh\fR clone \fIurl\fR [\fIrepo\fR]
+.
+.
+.P
+.P
...
@@ -58,12 +61,15 @@ Index: vcsh/vcsh.1
...
@@ -58,12 +61,15 @@ Index: vcsh/vcsh.1
+\fBvcsh\fR rename \fIrepo\fR \fInewname\fR
+\fBvcsh\fR rename \fIrepo\fR \fInewname\fR
+.
+.
+.P
+.P
+\fBvcsh\fR run \fIrepo\fR \fIcommand\fR
+\fBvcsh\fR run \fIrepo\fR \fIshell command\fR
+.
+.
+.P
+.P
+\fBvcsh\fR setup \fIrepo\fR
+\fBvcsh\fR setup \fIrepo\fR
+.
+.
+.P
+.P
+\fBvcsh\fR version
+.
+.P
+\fBvcsh\fR which \fIsubstring\fR
+\fBvcsh\fR which \fIsubstring\fR
+.
+.
+.P
+.P
...
@@ -96,6 +102,20 @@ Index: vcsh/vcsh.1
...
@@ -96,6 +102,20 @@ Index: vcsh/vcsh.1
+.SH "OPTIONS"
+.SH "OPTIONS"
+.
+.
+.TP
+.TP
+\-c
+Source \fIfile\fR prior to other configuration files
+.
+.TP
+\-d
+Enable debug mode
+.
+.TP
+\-v
+Enable verbose mode
+.
+.SH "COMMANDS"
+.
+.TP
+clone
+clone
+Clone an existing repository\.
+Clone an existing repository\.
+.
+.
...
@@ -143,6 +163,10 @@ Index: vcsh/vcsh.1
...
@@ -143,6 +163,10 @@ Index: vcsh/vcsh.1
+Set up repository with recommended settings\.
+Set up repository with recommended settings\.
+.
+.
+.TP
+.TP
+version
+Print version information\.
+.
+.TP
+which \fIsubstring\fR
+which \fIsubstring\fR
+Find \fIsubstring\fR in name of any tracked file\.
+Find \fIsubstring\fR in name of any tracked file\.
+.
+.
...
@@ -161,6 +185,77 @@ Index: vcsh/vcsh.1
...
@@ -161,6 +185,77 @@ Index: vcsh/vcsh.1
+.SH "ENVIRONMENT"
+.SH "ENVIRONMENT"
+As noted earlier, \fBvcsh\fR will set \fI$GIT_DIR\fR and \fI$GIT_WORK_TREE\fR to the appropriate values for fake bare git repositories\.
+As noted earlier, \fBvcsh\fR will set \fI$GIT_DIR\fR and \fI$GIT_WORK_TREE\fR to the appropriate values for fake bare git repositories\.
+.
+.
+.SH "CONFIG"
+There are several ways to turn the various knobs on \fBvcsh\fR\. In order of ascending precedence, they are:
+.
+.IP "\(bu" 4
+\fBVARIABLE=foo vcsh\fR
+.
+.IP "\(bu" 4
+</etc/vcsh/config>
+.
+.IP "\(bu" 4
+<$XDG_CONFIG_HOME/vcsh/config>
+.
+.IP "\(bu" 4
+\fBvcsh \-c <file>\fR
+.
+.IP "" 0
+.
+.P
+Please note that those files are sourced\. Any and all commands will be executed in the context of your shell\.
+.
+.P
+Interesting knobs you can turn:
+.
+.TP
+\fI$VCSH_GITIGNORE\fR
+Can be either \fIexact\fR or \fIrecursive\fR\.
+.
+.IP
+\fIexact\fR will seed the repo\-specific <\.gitignore> with all file and directory names which \fBgit ls\-files\fR returns\.
+.
+.IP
+\fIrecursive\fR will descend through all directories recursively additionally to the above\.
+.
+.IP
+Defaults to \fIexact\fR\.
+.
+.P
+Less interesting knobs you could turn:
+.
+.TP
+\fI$VCSH_DEBUG\fR
+Enter debug mode\.
+.
+.TP
+\fI$XDG_CONFIG_HOME\fR
+As specified in the \'XDG Base Directory Specification\', see \fIhttp://standards\.freedesktop\.org/basedir\-spec/basedir\-spec\-latest\.html\fR
+.
+.IP
+Defaults to <$HOME/\.config>\.
+.
+.TP
+\fI$VCSH_REPO_D\fR
+The directory where repositories are read from and stored\.
+.
+.IP
+Defaults to <$XDG_CONFIG_HOME/vcsh/repo\.d>\.
+.
+.TP
+\fI$VCSH_HOOK_D\fR
+The directory where hooks are read from\.
+.
+.IP
+Defaults to <$XDG_CONFIG_HOME/vcsh/hooks\-enabled>\.
+.
+.TP
+\fI$VCSH_BASE\fR
+The directory where repositories are checked out to\.
+.
+.IP
+Defaults to \fI$HOME\fR\.
+.
+.SH "HOOK SYSTEM"
+.SH "HOOK SYSTEM"
+\fBvcsh\fR 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>; \fBvcsh\fR will only execute hooks that are in this directory\.
+\fBvcsh\fR 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>; \fBvcsh\fR will only execute hooks that are in this directory\.
+.
+.
...
@@ -174,20 +269,26 @@ Index: vcsh/vcsh.1
...
@@ -174,20 +269,26 @@ Index: vcsh/vcsh.1
+Available hooks are \fIpre\-enter\fR, \fIpost\-enter\fR, \fIpre\-run\fR, \fIpost\-run\fR, \fIpre\-setup\fR, and \fIpost\-setup\fR\. If you need more, vcsh is trivial to patch, but please let upstream know so we can ship them by default\.
+Available hooks are \fIpre\-enter\fR, \fIpost\-enter\fR, \fIpre\-run\fR, \fIpost\-run\fR, \fIpre\-setup\fR, and \fIpost\-setup\fR\. If you need more, vcsh is trivial to patch, but please let upstream know so we can ship them by default\.
+.
+.
+.SH "DETAILED HOWTO AND FURTHER READING"
+.SH "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\.
+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\.
+.
+.P
+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\.
+.
+.
+.P
+.P
+On Debian\-based systems, this file can be found in </usr/share/doc/vcsh>\.
+On Debian\-based systems, this file can be found in </usr/share/doc/vcsh>\.
+.
+.
+.SH "SECURITY CONSIDERATIONS"
+.SH "SECURITY CONSIDERATIONS"
+\fBvcsh\fR allows you to execute arbitrary commands via \fBvcsh\fR run\. For example, adding a \fBsudo\fR(8) rule for \fBvcsh\fR would be pretty stupid\.
+\fBvcsh\fR allows you to execute arbitrary commands via \fBvcsh run\fR\. For example, adding a \fBsudo\fR(8) rule for \fBvcsh\fR would be pretty stupid\.
+.
+.
+.P
+.P
+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 \fICONFIG\fR\. You can put any and all commands into these config files and they will be executed\.
+.
+.
+.SH "BUGS"
+.SH "BUGS"
+None are known at this time, but reports and/or patches are more than welcome\.
+None are known at this time, but reports and/or patches are more than welcome\.
+.
+.
+.SH "INTEROPERABILITY"
+If you rely on \fBgit submodule\fR use \fBgit\fR 1\.7\.12 or later\. Earlier versions do not clean internal variables properly before descending into submodules, resulting in unhappy end users\.
+.
+.SH "HISTORY"
+.SH "HISTORY"
+Like most people, the author initially made do with a single repository for all config files, all of which were soft\-linked into \fI$HOME\fR\.
+Like most people, the author initially made do with a single repository for all config files, all of which were soft\-linked into \fI$HOME\fR\.