Marc Haber <mh+vcs-h...@zugschlus.de> wrote:
> Does anybody coincidentally have a working mr configuration and usage
> examples to share? I would really appreciate that.

Hi Marc,

You can check out my setup at jwhitley/vcsh-root on Github[1]. See also the 
bootstrap branch at [2].  I’ve been meaning to add README files to these (and 
have setup vcsh for it!) but haven’t actually written those out yet.  :-(

So here’s a quick primer to my setup.  Dig in, and feel free to ask questions. 
I well realize that this stuff can be a bit mazelike.

# Bootstrapping

The bootstrap branch contains the setup script (bootstrap.sh) that’s used to 
install my vcsh configuration on a new system.  This is used on new physical 
hosts as well as on VMs.  E.g. I’ll have a step in a Vagrantfile that installs 
my setup on development VMs.  The bootstrap script also handles a lot of 
initial git configuration.

The bootstrap script is purposely minimal.  Rich bootstrap logic is provided 
via vcsh hooks.  See the hooks-available and hooks-enabled directories at [3], 
and browse the hook files for details.  These are currently used to enforce 
certain git configurations on all vcsh managed repos.  For example, git’s 
sparse checkout feature is enabled so that some filenames (e.g. Vagrantfile, 
README.md) are never actually checked out.  These files are useful for per-repo 
documentation and development, but aren’t intended to be part of my homedir 
setup.

# vcsh and mr notes

This repo uses its own local copies of vcsh and mr, since they are bootstrap 
requirements and there’s no telling whether these tools are even available from 
any local package manager.  These are installed under the `~/local` hierarchy.

The mr config lives at `.config/mr`.  Pre-configured repos live at 
`.config/mr/available.d`, and are symlinked into place to enabled them on a 
given system in `.config/mr/config.d`.  The symlinks in `config.d` are 
therefore the default enabled repos.

# Testing

Both master and bootstrap branches have Vagrantfiles used for ad-hoc testing of 
the respective branch in a VM.  That is, the `master` branch Vagrantfile is 
used to test changes in the local repo.  These changes must be committed but 
not yet pushed upstream.  The `bootstrap` branch Vagrantfile likewise tests 
local changes to the bootstrap script, installing using the current *remote* 
vcsh-root repo. See the usage instructions at the top of each file.


[1] https://github.com/jwhitley/vcsh-root
[2] https://github.com/jwhitley/vcsh-root/tree/bootstrap
[3] https://github.com/jwhitley/vcsh-root/tree/master/.config/vcsh



> 
> Greetings
> Marc
> 
> -- 
> -----------------------------------------------------------------------------
> Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
> Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
> Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421
> _______________________________________________
> vcs-home mailing list
> vcs-home@lists.madduck.net
> http://lists.madduck.net/listinfo/vcs-home

_______________________________________________
vcs-home mailing list
vcs-home@lists.madduck.net
http://lists.madduck.net/listinfo/vcs-home

Reply via email to