X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/1eae6a64aebc01623fef3c6abc6230ff728551a1..6480c1913a9853176fe527079680242dbf4d40a4:/doc/vcsh.1.ronn?ds=sidebyside diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn index 352d91a..4138c23 100644 --- a/doc/vcsh.1.ronn +++ b/doc/vcsh.1.ronn @@ -1,5 +1,5 @@ -vcsh(1) - Version Control System for $HOME (based on git) -========================================================= +vcsh(1) - Version Control System for $HOME - multiple Git repositories in $HOME +=============================================================================== ## SYNOPSIS @@ -21,10 +21,16 @@ vcsh(1) - Version Control System for $HOME (based on git) `vcsh` list-tracked-by +`vcsh` pull + +`vcsh` push + `vcsh` rename `vcsh` run +`vcsh` status [] + `vcsh` upgrade `vcsh` version @@ -77,6 +83,12 @@ an interactive user. * clone: Clone an existing repository. + If you need to clone a bundle of repositories, look into the + `post-clone-retired` hook. + +* commit: + Commit in all repositories + * delete: Delete an existing repository. @@ -98,6 +110,12 @@ an interactive user. * 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. @@ -112,6 +130,9 @@ an interactive user. This is needed to support mr and other scripts properly and of no concern to an interactive user. +* status: + Show statuses of all/one vcsh repositories. + * upgrade: Upgrade repository to currently recommended settings. @@ -150,17 +171,37 @@ executed in the context of your shell. Interesting knobs you can turn: +* <$VCSH_GITATTRIBUTES>: + Can be , or any other value. + + will not maintain Git attributes in a special location. + + If set to any other value, repo-specific gitattributes files will be maintained. + + Defaults to . + * <$VCSH_GITIGNORE>: - Can be either or . + Can be , , or . - will seed the repo-specific <.gitignore> with all file and directory + will seed the repo-specific ignore file with all file and directory names which `git ls-files` returns. + will not write any ignore file. + will descend through all directories recursively additionally to the above. Defaults to . +* <$VCSH_VCSH_WORKTREE>: + Can be , or . + + will set an absolute path; defaulting to <$HOME>. + + will set a path relative to <$GIT_DIR>. + + Defaults to . + Less interesting knobs you could turn: * <$VCSH_DEBUG>: @@ -206,9 +247,30 @@ the repository's name, followed by a dot, i.e. . Otherwise, the same rules as above apply. The dot between the repository's name and the hook is mandatory, though. -Available hooks are , , , , -, and . If you need more, vcsh is trivial to patch, -but please let upstream know so we can ship them by default. +Available hooks are , , , +, , , , , +, , , , , , +, , and . +If you need more, vcsh is trivial to patch, but please let upstream know so +we can ship them by default. + +## OVERLAY SYSTEM + +`vcsh` also provides an overlay system. Similar to hooks, the recommended +locations are <$XDG_CONFIG_HOME/vcsh/overlays-available> and +<$XDG_CONFIG_HOME/vcsh/overlays-enabled>. + +Overlays follow the same rules as hooks and you are free to overwrite any +and all functions. Same as hooks, you can use global or repository-specific +overlays by using either <$VCSH_OVERLAY_D/$VCSH_COMMAND> or +<$VCSH_OVERLAY_D/$VCSH_REPO_NAME.$VCSH_COMMAND>. + +Please note that nothing stops you from, e.g. overwriting `status()` in +<$VCSH_OVERLAY_D/commit>. As the overlays will be sourced and you are +replacing arbitrary functions, any and all features may stop working, or you +may even lose data. + +You have been warned. ## DETAILED HOWTO AND FURTHER READING @@ -259,7 +321,7 @@ This manpage and `vcsh` itself were written by Richard "RichiH" Hartmann. ## COPYRIGHT -Copyright 2011-2012 Richard Hartmann +Copyright 2011-2013 Richard Hartmann Licensed under the GNU GPL version 2 or higher.