summaryrefslogtreecommitdiff
path: root/librecommit
blob: 1698bed55adf6c55e32a5ef631792a653aba1b21 (plain)
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
#!/bin/bash
# Copyright 2010 Nicolás Reynolds

# ---------- GNU General Public License 3 ----------

# This file is part of Parabola.

# Parabola is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# Parabola is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with Parabola. If not, see <http://www.gnu.org/licenses/>.

source /etc/libretools.conf

usage () {
    echo "cd to the dir with the PKGBUILD you are commiting and"
    echo
    echo "$0 [optionally files to commit]"
    echo
    echo "This script commits the package using name, pkgver and pkgrel"
    echo
    exit 1
}

msg="Commiting libre package \"\$pkg-\$pkgver-\$pkgrel\""

for opt in $@ ; do
    case ${opt} in
        -h) usage ;;
        -m) shift; msg=${1}; shift ;;
        *) files+="${1} " ; shift ;;
    esac
done

if [ ! -e PKGBUILD -o -z "$files" ]; then usage; fi

source PKGBUILD

pkg=${pkgbase:-${pkgname}}

msg=$(eval echo $msg)

if [ "$COMMITCMD" = 'git' ]; then

    ${COMMITCMD} add ${files} && ${COMMITCMD} commit -m "$(echo $msg)"

elif [ "$COMMITCMD" = 'hg' ]; then

    ${COMMITCMD} commit ${files} -m "$msg" -v || exit 1

else

    error "COMMITCMD is not correctly set on libretools.conf"

fi

exit 0