All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
1 # Getting started with vcsh #
3 Below you will find three methods for setting up vcsh:
6 2. The steal-from-template way
9 # 1. The template way #
13 Make sure none of the following files/diretories exist for your test (user). If they do, move them away for now:
17 * ~/.config/mr/available.d/mr.vcsh
18 * ~/.config/mr/available.d/zsh.vcsh
19 * ~/.config/mr/config.d/mr.vcsh
20 * ~/.config/vcsh/repo.d/mr.git/
22 All of the files are part of the template repository, the directory is where the template will be stored.
24 apt-get install mr # this is optional, but highly recommended
26 ## Clone the template ##
30 git clone git://github.com/RichiH/vcsh.git vcsh
32 ln -s vcsh /usr/local/bin # or add it to your PATH
34 vcsh clone git://github.com/RichiH/vcsh_mr_template.git mr.vcsh
36 ## Enable your test repository ##
39 mv ~/.zshrc ~/zshrc.bak
40 cd ~/.config/mr/config.d/
41 ln -s ../available.d/zsh.vcsh . # link, and thereby enable, the zsh repository
45 ## Set up your own repositories ##
47 Now, it's time to edit the template config and fill it with your own remotes:
49 vim .config/mr/available.d/mr.vcsh
50 vim .config/mr/available.d/zsh.vcsh
52 And then create your own stuff:
55 vcsh run foo git add -f bar baz quux
56 vcsh run foo git remote add origin git://quuux
57 vcsh run foo git commit
60 cp .config/mr/available.d/mr.vcsh .config/mr/available.d/foo.vcsh
61 vim .config/mr/available.d/foo.vcsh # add your own repo
67 ### Keeping repositories up-to-date ###
69 This is the beauty of it all. Once you are set up, just run:
76 ### Making changes ###
78 After you have made some changes, for which you would normally use `git add` and `git commit`, use the vcsh wrapper (like above):
80 vcsh run foo git add -f bar baz quux
81 vcsh run foo git commit
84 By the way, you'll have to use -f/--force flag with git-add because all files will be ignored by default. This is to show you only useful output when running git-status.
85 A fix for this problem is being worked on.
88 # 2. The steal-from-template way #
90 You're welcome to clone the example repository:
92 git clone git://github.com/RichiH/vcsh_mr_template.git
94 Look around in the clone. It should be reasonably simple to understand. If not, poke me, RichiH, on Freenode (query) or OFTC (#vcs-home).
99 This is how my old setup procedure looked like. Adapt it to your own style or copy mine verbatim, either is fine.
105 # Clone vcsh and make it available
106 git clone git://github.com/RichiH/vcsh.git vcsh
107 sudo ln -s ~/work/git/vcsh/vcsh /usr/bin/local
110 Grab my mr config. see below for details on how I set this up
112 vcsh clone ssh://<remote>/mr.git
113 cd ~/.config/mr/config.d/
114 ln -s ../available.d/* .
117 mr is used to actually retrieve configs, etc
121 include = cat ~/.config/mr/config.d/*
122 ~ % echo $XDG_CONFIG_HOME
124 ~ % ls $XDG_CONFIG_HOME/mr/available.d # random selection of my repos
125 git-annex gitk.vcsh git.vcsh ikiwiki mr.vcsh reportbug.vcsh snippets.git wget.vcsh zsh.vcsh
127 # then simply ln -s whatever you want on your local machine from
128 # $XDG_CONFIG_HOME/mr/available.d to $XDG_CONFIG_HOME/mr/config.d