summaryrefslogtreecommitdiff
path: root/git/commit.sh
blob: eb0613b01f795e330d2251a7b12ce3b2a234209e (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
#! /bin/sh

# Assume this script never run via PATH.
#
self=`realpath $0`
. `dirname $self`/modules

wd=`pwd`

if [ "$EDITOR" = "" ]; then
  echo "no editor specified with the EDITOR variable" 1>&2
  exit 1
fi

msg_file=`mktemp -p /tmp`
$EDITOR "$msg_file"

if [ $? -ne 0 ]; then
  echo "$EDITOR failed" 1>&2
  rm -f $msg_file
  exit 1
fi

if test ! -s "$msg_file"; then
  echo "commit message is empty" 1>&2
  rm -f $msg_file
  exit 1
fi

for i in $modules; do
  echo "commit $i" 1>&2
  cd $i
  git add .
  git ci -F $msg_file
  cd $wd
done

rm -f $msg_file