From 6c7dcd55cb28aa9f79f9f818d80929b3a36bbf1d Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Mon, 11 Jul 2016 00:19:10 +0000 Subject: docs/index.org -> README.org --- README.org | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 README.org (limited to 'README.org') diff --git a/README.org b/README.org new file mode 100644 index 0000000..0e43071 --- /dev/null +++ b/README.org @@ -0,0 +1,87 @@ +* git difme + +#+BEGIN_SRC bash +git clone git://git.ricketyspace.net/git-difme.git +#+END_SRC + +stages files and makes commits on a list of git repositories based on +some rules. + +it always does a =git push= on each repo that it visits. + +** rules +the rules specify what type of files to stage and commit. + +file types: + + - modified file (M). + - deleted file (D). + - untracked file (?). + - all files (.). + +the rules are defined per git repository in the config file. + +if git-difme finds finds already staged files, it'll commit them first +before doing anything. + +** config +the config file must be at =~/.config/git-difme/config=. + +the config is simply a scheme file that defines the =difme-repos= +function: + +#+BEGIN_SRC scheme +(define (difme-repos) + (list '("/path/to/git/repo/foo" "M" "D" "?") + '("/path/to/git/repo/bar" "M") + '("/path/to/git/repo/baz" "M" "?") + '("/path/to/git/repo/frb" "."))) +#+END_SRC + +- for repo ~foo~, git difm will stage and commit modified (M), deleted + (D) and untracked (?) files. +- for repo ~bar~, git difm will only stage and commit modified (M) + files. +- for repo ~baz~, git difm will only stage and commit modified (M) and + untracked (?) files. +- for repo ~frb~, git difm will stage and commit all files. + +** installing +*** the script + +#+BEGIN_SRC bash +make git-difme +#+END_SRC + +that will install the =git-difme= script at =~/.bin/git-difme=. + +add =~/.bin/= to =PATH=. + +On bash, add this: + +#+BEGIN_SRC bash +PATH=~/.bin:$PATH +export PATH +#+END_SRC + +to =.bashrc=: + +On zsh, add this: + +#+BEGIN_SRC zsh +typeset -U path +path=(~/.bin $path) +#+END_SRC + +to =.zshenv=. + +*** the config file + +#+BEGIN_SRC bash +make config +#+END_SRC + +that will install a sample config file at =~/.config/git-difme=. + +** license +gnu general public license version 3 or higher. -- cgit v1.2.3