X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/2a00efaf0694408a3579fb2ac6595f5151dfd2c1..16640312364ca67a5b10c42df739c113c5469913:/README.md?ds=sidebyside diff --git a/README.md b/README.md index 4f7c27a..8aa3cee 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,40 @@ vcsh - Version Control System for $HOME (based on git) # Index # -1. [30 second howto](#30-second-howto) -2. [Introduction](#introduction) +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 # While it may appear that there's an overwhelming amount of documentation and @@ -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,27 +60,6 @@ into more advanced usage scenarios, especially on how to manage your `vcsh` and other repositories with [mr][mr]. -# 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. - - ## Talks ## Some people found it useful to look at slides and videos explaining how `vcsh`