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
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
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
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
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