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

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

wd=`pwd`

if [ "$1" = "-i" ]; then
  add=n
else
  add=y
fi

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
  if [ "$add" = "y" ]; then
    git add .
  fi
  git commit -F $msg_file
  cd $wd
done

rm -f $msg_file