Skip to content
Snippets Groups Projects
Commit ce36573b authored by Richard Hartmann's avatar Richard Hartmann
Browse files

Make INSTALL easy to use by way of templating

parent 4f3d36f9
No related branches found
Tags v1.20130614-1
No related merge requests found
=The template way=
==Prerequisites==
Make sure none of those files/diretories exist for your test (user). If they do, move them away for now:
~/.gitignore
~/.mrconfig
~/.config/mr/available.d/mr.vcsh
~/.config/mr/available.d/zsh.vcsh
~/.config/mr/config.d/mr.vcsh
~/.config/vcsh/repo.d/mr.git/
All of the files are part of the template repo, the directory is where the template will be stored
apt-get install mr # this is optional, but highly recommended
==Clone the template==
mkdir -p ~/work/git
cd !$
git clone git://github.com/RichiH/vcsh.git vcsh
cd vcsh
ln -s vcsh /usr/local/bin
cd
vcsh clone git://github.com/RichiH/vcsh_mr_template.git mr.vcsh
==Enable your test repository==
mv ~/.zsh ~/zsh.bak
mv ~/.zshrc ~/zsh.bak
cd ~/.config/mr/config.d/
ln -s ../available.d/mr.vcsh .
cd
mr up
==Set up your own repos==
Now, it's time to edit the template config and fill it with your own remotes:
vim .config/mr/available.d/mr.vcsh
vim .config/mr/available.d/zsh.vcsh
And then create your own stuff
vcsh init foo
vcsh run foo git add -f bar baz quux
vcsh run foo git remote add origin git://quuux
vcsh run foo git commit
vcsh run foo git push
cp .config/mr/available.d/mr.vcsh .config/mr/available.d/foo.vcsh
vim .config/mr/available.d/foo.vcsh # add your own repo
Done!
==Daily use==
This is the beauty of it all. Once you are set up, just run:
mr up
mr push
Neat.
=The manual way=
# This is how my setup looks. Adapt to your style or copy mine verbatim, both is fine. # This is how my setup looks. Adapt to your style or copy mine verbatim, both is fine.
# Create workspace # Create workspace
mkdir -p ~/work/git mkdir -p ~/work/git
cd !$ cd !$
# Clone vcsh and make it available # Clone vcsh and make it available
git clone git://github.com/RichiH/vcsh.git vcsh git clone git://github.com/RichiH/vcsh.git vcsh
PATH+=":$HOME/work/git/vcsh" PATH+=":$HOME/work/git/vcsh"
export PATH export PATH
# Grab my mr config. see below for details on how I set this up # Grab my mr config. see below for details on how I set this up
~/work/git/vcsh/vcsh clone ssh://<remote>/mr.git ~/work/git/vcsh/vcsh clone ssh://<remote>/mr.git
cd ~/.config/mr/config.d/ cd ~/.config/mr/config.d/
ln -s ../available.d/* . ln -s ../available.d/* .
# make vcsh work by default. Adapt for Bash etc as needed # make vcsh work by default. Adapt for Bash etc as needed
cd cd
zsh ~/work/git/vcsh/vcsh clone ssh://<remote>/zsh.git zsh ~/work/git/vcsh/vcsh clone ssh://<remote>/zsh.git
ln -s ~/work/git/vcsh/vcsh .zsh/functions ln -s ~/work/git/vcsh/vcsh .zsh/functions
zsh zsh
...@@ -27,15 +95,15 @@ zsh ...@@ -27,15 +95,15 @@ zsh
# mr # mr
~ % cat ~/.mrconfig ~ % cat ~/.mrconfig
[DEFAULT] [DEFAULT]
include = cat ~/.config/mr/config.d/* include = cat ~/.config/mr/config.d/*
~ % echo $XDG_CONFIG_HOME ~ % echo $XDG_CONFIG_HOME
/home/richih/.config /home/richih/.config
~ % ls $XDG_CONFIG_HOME/mr/available.d # random selection of my repos ~ % ls $XDG_CONFIG_HOME/mr/available.d # random selection of my repos
git-annex gitk.vcsh git.vcsh ikiwiki mr.vcsh reportbug.vcsh snippets.git wget.vcsh zsh.vcsh git-annex gitk.vcsh git.vcsh ikiwiki mr.vcsh reportbug.vcsh snippets.git wget.vcsh zsh.vcsh
~ % ~ %
# then simply ln -s whatever you want on your local machine from # then simply ln -s whatever you want on your local machine from
# $XDG_CONFIG_HOME/mr/available.d to $XDG_CONFIG_HOME/mr/config.d # $XDG_CONFIG_HOME/mr/available.d to $XDG_CONFIG_HOME/mr/config.d
~ % cd ~ % cd
~ % mr -j 5 up ~ % mr -j 5 up
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment