X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/fbb76b4ff54910ef43bbbf08571a95ab3f6398ea..d0507b82cab5e5fb4dda1ee4fc6445acd2344787:/README.md diff --git a/README.md b/README.md index c58810b..0fc717a 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ vcsh - Version Control System for $HOME - multiple Git repositories in $HOME # Index -1. [30 second howto](#30-second-howto) +1. [30 Second How-to](#30-second-how-to) 2. [Introduction](#introduction) -3. [Usage Exmaples](#usage-examples) +3. [Usage Examples](#usage-examples) 4. [Overview](#overview) 5. [Getting Started](#getting-started) 6. [Contact](#contact) -# 30 second howto +# 30 Second How-to While it may appear that there's an overwhelming amount of documentation and while the explanation of the concepts behind `vcsh` needs to touch a few gory @@ -121,10 +121,17 @@ myrepos is just another set of files that you cat track with `vcsh` like any other. This makes setting up any new machine a breeze. It can take literally less than five minutes to go from standard installation to fully set up system. -We suggest using [myrepos][myrepos] to manage both `vcsh` and other repositories. The -`mr` utility takes care of pulling in and pushing out new data for a variety of -version control systems. While the use of myrepos is technically optional, it will -be an integral part of the proposed system that follows. +We suggest using [myrepos][myrepos] to manage both `vcsh` and other +repositories. The `mr` utility takes care of pulling in and pushing +out new data for a variety of version control systems. While the use +of myrepos is technically optional, it will be an integral part of the +proposed system that follows. For instance, you can use +[myrepos][myrepos] to track repositories in home such as `.emacs.d`, +which `mr` can clone and update for you automatically. To do this, +just add a `mr` configuration file to `availabile.d` with a `checkout` +command to clone the repo, and set the [title] to the desired +location, e.g. `$HOME/.emacs.d`. Try the `mr register` command in an +existing repository, then view `~/.mrconfig` for an example. ## Default Directory Layout @@ -174,12 +181,15 @@ repository. This is for demonstration, only. Of course, you are more than welcome to clone from this repository and fork your own. [$XDG_CONFIG_HOME/vcsh/repo.d/zsh.git] - checkout = vcsh clone 'git://github.com/RichiH/zshrc.git' zsh + checkout = vcsh clone 'git://github.com/RichiH/zshrc.git' 'zsh' update = vcsh zsh pull push = vcsh zsh push status = vcsh zsh status gc = vcsh zsh gc + [$HOME/.emacs.d] + checkout = vcsh clone 'git://github.com/andschwa/emacs.git' '.emacs.d' + ### config.d $XDG\_CONFIG\_HOME/mr/available.d contains *all available* repositories. Only @@ -248,26 +258,26 @@ Below, you will find a few different methods for setting up vcsh: Make sure none of the following files and directories exist for your test (user). If they do, move them away for now: -* ~/.gitignore.d -* ~/.mrconfig -* $XDG\_CONFIG\_HOME/mr/available.d/mr.vcsh -* $XDG\_CONFIG\_HOME/mr/available.d/zsh.vcsh -* $XDG\_CONFIG\_HOME/mr/config.d/mr.vcsh -* $XDG\_CONFIG\_HOME/vcsh/repo.d/mr.git/ +* `~/.gitignore.d` +* `~/.mrconfig` +* `$XDG\_CONFIG\_HOME/mr/available.d/mr.vcsh` +* `$XDG\_CONFIG\_HOME/mr/available.d/zsh.vcsh` +* `$XDG\_CONFIG\_HOME/mr/config.d/mr.vcsh` +* `$XDG\_CONFIG\_HOME/vcsh/repo.d/mr.git/` All of the files are part of the template repository, the directory is where the template will be stored. - apt-get install myrepos - ### Install vcsh #### Debian -If you are using Debian Squeeze, you will need to enable backports. -From Wheezy onwards, you can install it directly: +If you are using Debian Squeeze, you will need to enable backports and the +package name for myrepos will be 'mr'. - apt-get install vcsh +From Wheezy onwards, you can install both directly: + + apt-get install myrepos vcsh #### Gentoo @@ -275,28 +285,49 @@ To install vcsh in Gentoo Linux just give the following command as root: emerge dev-vcs/vcsh +Note the portage package for myrepos still has the old project name: + + emerge dev-vcs/mr + #### 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). +vcsh is available via this [AUR](https://aur.archlinux.org/packages/vcsh/) +package. Likewise myrepos is available [here](https://aur.archlinux.org/packages/myrepos/). +You may install both useing your favorite AUR helper. e.g. with yaourt: + + yaourt -Sya myrepos vcsh + +Or you can do it yourself manually using the documentation on installing AUR packages +[on Arch's wiki](https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages). + +If you prefer to use the devel package that installs the git HEAD version it +is available [here](https://aur.archlinux.org/packages/vcsh-git/). - 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 +#### Mac OS X + +Formulas are available for vcsh as well as git and myrepos through [homebrew](http://brew.sh). The +vcsh formula is set to depend on myrepos, so you only need one install command: + + brew install vcsh #### From source +To install the latest version from git: + # choose a location for your checkout mkdir -p ~/work/git cd ~/work/git git clone git://github.com/RichiH/vcsh.git cd vcsh - sudo ln -s vcsh /usr/local/bin # or add it to your PATH - cd + sudo ln -s vcsh /usr/local/bin # or add it to your PATH + +For myrepos: + + # use checkout location from above + cd ~/work/git + git clone git://myrepos.branchable.com/ myrepos + cd myrepos + make install #### Clone the Template @@ -364,12 +395,10 @@ Grab my myrepos config. see below for details on how I set this up ln -s ../available.d/* . -myrepos is used to actually retrieve configs, etc +[myrepos][myrepos] is used to actually retrieve configs, etc. ~ % cat ~/.mrconfig [DEFAULT] - # adapt /usr/share/mr/vcsh to your system if needed - include = cat /usr/share/mr/vcsh include = cat $XDG_CONFIG_HOME/mr/config.d/* ~ % echo $XDG_CONFIG_HOME /home/richih/.config