blob: e096bf9420416802aaa3070229842b3f9a6c4e24 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
* 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.
** rules
the rules specify what type of files to stage and commit.
file types:
- modified file (M).
- deleted file (D).
- untracked file (?).
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 =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 only 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 only stage and commit all types of
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.
|