X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/c1ec3331f1246f76261c9d41ee2a23b7557c83da..ab60947be1d3050fbdd22b0226e294d5361e2f9f:/doc/vcsh.1.ronn diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn index 77e3fec..bcea71c 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 @@ -23,10 +23,10 @@ vcsh(1) - manage and sync config files via git `vcsh` run -`vcsh` seed-gitignore - `vcsh` setup +`vcsh` write-gitignore + `vcsh` `vcsh` @@ -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. -* seed-gitignore: - Seed .gitignore.d/ from git ls-files. - * setup: Set up repository with recommended settings. +* write-gitignore: + Write .gitignore.d/ via git ls-files. + * : Shortcut to run `vcsh` on a repo. Will prepend `git` to by itself. @@ -111,10 +111,40 @@ an interactive user. 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. + +## 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 . 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 . + ## 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