X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/e13e821ae466059640cdce8952ac14bc00fe8ee7..16640312364ca67a5b10c42df739c113c5469913:/README.md diff --git a/README.md b/README.md index 3024112..8aa3cee 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,38 @@ vcsh - Version Control System for $HOME (based on git) # Index # -1. [30 second howto](#30-second-howto) -2. [Contact](#contact) -3. [Introduction](#introduction) -4. [Overview](#overview) -5. [Getting Started](#getting-started) -6. [Usage](#usage) +1. [Introduction](#introduction) +2. [30 second howto](#30-second-howto) +3. [Overview](#overview) +4. [Getting Started](#getting-started) +5. [Usage](#usage) +6. [Contact](#contact) + + +# Introduction # + +[vcsh][vcsh] allows you to maintain several git repositories in one single +directory. They all maintain their working trees without clobbering each other +or interfering otherwise. By default, all git repositories maintained via +`vcsh` are stored in `$HOME` but you can override this setting if you want to. +All this means that you can have one repository per application or application +family, i.e. `zsh`, `vim`, `ssh`, etc. This, in turn, allows you to clone +custom sets of configurations onto different machines or even for different +users; picking and mixing which configurations you want to use where. +For example, you may not need to have your `mplayer` configuration on a server +or available to root and you may want to maintain different configuration for +`ssh` on your personal and your work machines. + +`vcsh` was designed with [mr][mr], a tool to manage Multiple Repositories, in +mind and the two integrate very nicely. `mr` has native support for `vcsh` +repositories and to `vcsh`, `mr` is just another configuration to track. +This make setting up any new machine a breeze. It takes literally less than +five minutes to go from standard installation to fully set up system + +A lot of modern UNIX-based systems offer pacakges for `vcsh`. In case yours +does not read `INSTALL.md` for install instructions or `PACKAGING.md` to create +a package, yourself. If you do end up packaging `vcsh` please let us know so we +can give you your own packaging branch in the upstream repository. # 30 second howto # @@ -23,7 +49,7 @@ Let's say you want to version control your `vim` configuration: vcsh vim add ~/.vimrc ~/.vim vcsh vim commit -m 'Initial commit of my Vim configuration' # optionally push your files to a remote - vcsh vim remote add origin REMOTE + vcsh vim add origin REMOTE vcsh vim push origin master:master If all that looks a _lot_ like standard `git`, that's no coincidence; it's @@ -34,46 +60,10 @@ into more advanced usage scenarios, especially on how to manage your `vcsh` and other repositories with [mr][mr]. -# Contact # - -There are several ways to get in touch with the author and a small but committed -community around the general idea of version controlling your (digital) life. - -* IRC: #vcs-home on irc.oftc.net - -* Mailing list: [http://lists.madduck.net/listinfo/vcs-home][vcs-home-list] - -* Pull requests or issues on [https://github.com/RichiH/vcsh][vcsh] - - -# Introduction # - -[vcsh][vcsh] allows you to maintain several git repositories in one single -directory. They all maintain their working trees without clobbering each other -or interfering otherwise. By default, all git repositories maintained via -`vcsh` are stored in `$HOME` but you can override this setting if you want to. -All this means that you can have one repository per application or application -family, i.e. `zsh`, `vim`, `ssh`, etc. This, in turn, allows you to clone -custom sets of configurations onto different machines or even for different -users; picking and mixing which configurations you want to use where. -For example, you may not need to have your `mplayer` configuration on a server -or available to root and you may want to maintain different configuration for -`ssh` on your personal and your work machines. - -`vcsh` was designed with [mr][mr] in mind so you might want to install that, as -well. - -Read `INSTALL.md` and `PACKAGING.md` for instructions specific to your operating -system. - -The following overview will try to give you an idea of the use cases and -advantages of `vcsh`. See sections 3 and 4 for detailed instructions and -examples. - ## Talks ## Some people found it useful to look at slides and videos explaining how `vcsh` -works. +works instead of working through the docs, first. They can all be found [on the author's talk page][talks]. @@ -413,6 +403,18 @@ manually. Alternatively, you could try something like this: done +# Contact # + +There are several ways to get in touch with the author and a small but committed +community around the general idea of version controlling your (digital) life. + +* IRC: #vcs-home on irc.oftc.net + +* Mailing list: [http://lists.madduck.net/listinfo/vcs-home][vcs-home-list] + +* Pull requests or issues on [https://github.com/RichiH/vcsh][vcsh] + + [mr]: http://kitenet.net/~joey/code/mr/ [talks]: http://richardhartmann.de/talks/ [vcsh]: https://github.com/RichiH/vcsh