summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2016-07-11 00:15:54 +0000
committerrsiddharth <s@ricketyspace.net>2016-07-11 00:15:54 +0000
commit95d8638d09618314e84d48e95128f15b22d80978 (patch)
tree380144794037c97e5428cb8c7e4f9b5a69402c95 /docs
parentc48c7c4a042cc6b63a5c14613dff5e0cd3503a71 (diff)
rename README.org -> docs/index.org
Diffstat (limited to 'docs')
-rw-r--r--docs/index.org87
1 files changed, 87 insertions, 0 deletions
diff --git a/docs/index.org b/docs/index.org
new file mode 100644
index 0000000..0e43071
--- /dev/null
+++ b/docs/index.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.