X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/86f23d0b17a90028f230248c85e068da596fe666..980fcd4e555f9d7508db067b424aa84258c2ec83:/README.md diff --git a/README.md b/README.md index 5257753..f13a959 100644 --- a/README.md +++ b/README.md @@ -15,26 +15,40 @@ 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 +* Mailing list: [http://lists.madduck.net/listinfo/vcs-home][vcs-home-list] -* Pull requests or issues on https://github.com/RichiH/vcsh +* Pull requests or issues on [https://github.com/RichiH/vcsh][vcsh] # 2 Introduction # -vcsh allows you to have several git repositories, all maintaining their working -trees in $HOME without clobbering each other. That, in turn, means you can have -one repository per config set (zsh, vim, ssh, etc), picking and choosing which -configs you want to use on which machine. - -vcsh was designed with [mr] [1] in mind so you might want to install that, as +[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 that 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 for detailed setup instructions. +Read `INSTALL.md` and `PACKAGING` 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 +advantages of `vcsh`. See sections 3 and 4 for detailed instructions and examples. +## 2.1 Talks ## + +Some people found it useful to look at slides and videos explaining how `vcsh` +works. +They can all be found [on the author's talk page][talks]. + # 3 Overview ## 3.1 Comparison to Other Solutions ## @@ -130,6 +144,8 @@ this: [DEFAULT] jobs = 5 + # Use if your mr does not have vcsh support in mainline, yet + include = cat /usr/share/mr/vcsh include = cat ${XDG_CONFIG_HOME:-$HOME/.config}/mr/config.d/* ### repo.d ### @@ -195,19 +211,48 @@ the template will be stored. apt-get install mr -#### 4.1.2 Clone the Template #### +#### 4.1.2 Install vcsh #### + +#### 4.1.2.1 Debian #### + +If you are using Debian Squeeze, you will need to enable backports + + apt-get install vcsh + +#### 4.1.2.2 Arch Linux #### + +vcsh is availabe via [AUR](https://aur.archlinux.org/packages.php?ID=54164) +and further documentation about the use of AUR is available +[on Arch's wiki](https://wiki.archlinux.org/index.php/Arch_User_Repository). + + cd /var/abs/local/ + wget https://aur.archlinux.org/packages/vc/vcsh-git/vcsh-git.tar.gz + tar xfz vcsh-git.tar.gz + cd vcsh-git + makepkg -s + pacman -U vcsh*.pkg.tar.xz + +#### 4.1.2.3 From source #### +If your version of mr is older than version 1.07, make sure to put + + include = cat /usr/share/mr/vcsh + +into your .mrconfig . + + # choose a location for your checkout cd $HOME mkdir -p ~/work/git - git clone git://github.com/RichiH/vcsh.git vcsh - # make sure 'include = cat /usr/share/mr/vcsh' points to an exiting file - vim .mrconfig + git clone git://github.com/RichiH/vcsh.git cd vcsh ln -s vcsh /usr/local/bin # or add it to your PATH cd + +#### 4.1.3 Clone the Template #### + vcsh clone git://github.com/RichiH/vcsh_mr_template.git mr -#### 4.1.3 Enable Your Test Repository #### +#### 4.1.4 Enable Your Test Repository #### mv ~/.zsh ~/zsh.bak mv ~/.zshrc ~/zshrc.bak @@ -216,7 +261,7 @@ the template will be stored. cd mr up -#### 4.1.4 Set Up Your Own Repositories #### +#### 4.1.5 Set Up Your Own Repositories #### Now, it's time to edit the template config and fill it with your own remotes: @@ -337,8 +382,8 @@ manually. Alternatively, you could try something like this: vcsh run $repo git pull; done ----------- - -mr can be found at: [http://kitenet.net/~joey/code/mr/][1] -[1]: http://kitenet.net/~joey/code/mr/ (http://kitenet.net/~joey/code/mr/) +[mr]: http://kitenet.net/~joey/code/mr/ +[talks]: http://richardhartmann.de/talks/ +[vcsh]: https://github.com/RichiH/vcsh +[vcs-home-list]: http://lists.madduck.net/listinfo/vcs-home