Skip to content
Snippets Groups Projects
Select Git revision
  • 88084aa515b92d5889b73b60950dee9fcbcf60a7
  • master default protected
  • commit-alias
  • editor-modeline
  • commit-abbreviation
  • make-hooks-work-as-advertised
  • lyda-home-version
  • feature-aliases
  • git-version-bsd-fix
  • hook-changes
  • v1.20151229-1
  • v1.20151229
  • v1.20150502-1
  • v1.20150502
  • v1.20141026-manpage-static
  • v1.20141026-1
  • v1.20141026
  • v1.20141025-1
  • v1.20141025
  • v1.20141009-manpage-static
  • v1.20141009-1
  • v1.20141009
  • v1.20140508-1-bpo70+1
  • v1.20140508-1
  • v1.20140508-manpage-static
  • v1.20140508
  • v1.20140507
  • v1.20140313
  • v1.20131229-homebrew
  • v1.20131229-1-bpo60+1
30 results

INSTALL.md

Blame
  • INSTALL.md 4.47 KiB

    Getting started with vcsh

    Below, you will find a few different methods for setting up vcsh:

    1. The template way
    2. The steal-from-template way
    3. The manual way
    4. Using vcsh without mr

    1. The template way

    1.1 Prerequisites

    Make sure none of the following 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 repository, the directory is where the template will be stored.

    apt-get install mr               # this is optional, but highly recommended

    1.2 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        # or add it to your PATH
    cd
    vcsh clone git://github.com/RichiH/vcsh_mr_template.git mr.vcsh

    1.3 Enable your test repository

    mv ~/.zsh   ~/zsh.bak
    mv ~/.zshrc ~/zshrc.bak
    cd ~/.config/mr/config.d/
    ln -s ../available.d/zsh.vcsh .  # link, and thereby enable, the zsh repository
    cd
    mr up

    1.4 Set up your own repositories

    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!

    1.5 Daily use

    1.5.1 Keeping repositories up-to-date

    This is the beauty of it all. Once you are set up, just run:

    mr up mr push

    Neat.

    1.5.2 Making changes

    After you have made some changes, for which you would normally use git add and git commit, use the vcsh wrapper (like above):

    vcsh run foo git add -f bar baz quux
    vcsh run foo git commit
    vcsh run foo git push

    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. A fix for this problem is being worked on.

    2. The steal-from-template way

    You're welcome to clone the example repository: