changeset 629 | 7214fe5c6fac |
parent 628 | b10ad946d01d |
child 632 | 711be783d0a1 |
628:b10ad946d01d | 629:7214fe5c6fac |
---|---|
1 # VCS abstraction layer |
1 # VCS abstraction layer |
2 |
2 |
3 . $LIB/pvl/commit/git.sh |
3 . $LIB/pvl/commit/git.sh |
4 . $LIB/pvl/commit/hg.sh |
4 . $LIB/pvl/commit/hg.sh |
5 |
5 |
6 commit_GETOPTS='cCm:' |
6 commit_GETOPTS='cCm:M' |
7 |
7 |
8 COMMIT= |
8 COMMIT= |
9 COMMIT_DIFF= |
9 COMMIT_DIFF= |
10 COMMIT_MSG=' ' |
10 COMMIT_MSG=' ' |
11 |
11 |
13 cat <<END |
13 cat <<END |
14 Commit: |
14 Commit: |
15 -C do not commit changes |
15 -C do not commit changes |
16 -c commit changes |
16 -c commit changes |
17 -m MSG commit message |
17 -m MSG commit message |
18 -M interactive commit message |
|
18 END |
19 END |
19 } |
20 } |
20 |
21 |
21 function commit_opt { |
22 function commit_opt { |
22 local opt=$1 |
23 local opt=$1 |
25 case $opt in |
26 case $opt in |
26 c) COMMIT=1 ;; |
27 c) COMMIT=1 ;; |
27 C) COMMIT=0 ;; |
28 C) COMMIT=0 ;; |
28 |
29 |
29 m) COMMIT_MSG="$optarg" ;; |
30 m) COMMIT_MSG="$optarg" ;; |
31 M) COMMIT_MSG= ;; |
|
30 |
32 |
31 n) COMMIT=0 ;; |
33 n) COMMIT=0 ;; |
32 p) COMMIT_DIFF=1 ;; |
34 p) COMMIT_DIFF=1 ;; |
33 *) return 1 |
35 *) return 1 |
34 esac |
36 esac |
66 |
68 |
67 # operate? |
69 # operate? |
68 if [ "$COMMIT" = 1 ]; then |
70 if [ "$COMMIT" = 1 ]; then |
69 log_force "$repo: force commit" |
71 log_force "$repo: force commit" |
70 |
72 |
71 [ "$COMMIT_DIFF" ] && indent " " ${commit}_diff "$repo" || true |
73 [ "$COMMIT_DIFF" ] && cmd_indent " " ${commit}_diff "$repo" || true |
72 |
74 |
73 ${commit}_commit "$repo" "$commit_msg" |
75 ${commit}_commit "$repo" "$commit_msg" |
74 |
76 |
75 elif ! ${commit}_modified "$repo"; then |
77 elif ! ${commit}_modified "$repo"; then |
76 log_warn "$repo: no changes to commit" |
78 log_warn "$repo: no changes to commit" |
77 |
79 |
78 elif [ "$COMMIT" = 0 ]; then |
80 elif [ "$COMMIT" = 0 ]; then |
79 log_noop "$repo: skip commit" |
81 log_noop "$repo: skip commit" |
80 |
82 |
81 # still show diff, though |
83 # still show diff, though |
82 [ "$COMMIT_DIFF" ] && indent " " ${commit}_diff "$repo" || true |
84 [ "$COMMIT_DIFF" ] && cmd_indent " " ${commit}_diff "$repo" || true |
83 else |
85 else |
84 log_apply "$repo: commit: $commit_msg" |
86 log_apply "$repo: commit: $commit_msg" |
85 |
87 |
86 [ "$COMMIT_DIFF" ] && indent " " ${commit}_diff "$repo" || true |
88 [ "$COMMIT_DIFF" ] && cmd_indent " " ${commit}_diff "$repo" || true |
87 |
89 |
88 ${commit}_commit "$repo" "$commit_msg" |
90 ${commit}_commit "$repo" "$commit_msg" |
89 fi |
91 fi |
90 } |
92 } |
91 |
93 |