chiark / gitweb /
Rename commitupdates to fd-commit
[fdroidserver.git] / fd-commit
1 #!/bin/bash
2
3 # Commits updates to apps, allowing you to edit the commit messages
4
5 commands=()
6
7 while read line; do
8     if [[ "$line" == *M*metadata/*.txt ]]; then
9         file=${line##* }
10
11         while read l; do
12             [[ "$l" == "Auto Name:"* ]] && name=${l##*:}
13         done < "$file"
14
15         id=${file##*/}
16         id=${id%.txt*}
17         [ -d metadata/$id ] && extra=metadata/$id
18         [ -n "$name" ] && id="$name ($id)"
19
20         newbuild=0
21         while read l; do
22             if [[ "$l" == "+Build:"* ]]; then
23                 newbuild=1
24                 build=${l#*:}
25                 version=${build%%,*}
26                 build=${build#*,}
27                 vercode=${build%%,*}
28             fi
29         done < <(git diff HEAD -- "$file")
30
31         if [ $newbuild -eq 0 ]
32                 then
33                         message="$id:"
34                 else
35                         message="Update $id to $version ($vercode)"
36                 fi
37
38         commands+=("git commit -m '$message' -e -v -- $file $extra")
39     fi
40 done < <(git status --porcelain)
41
42 for cmd in "${commands[@]}"; do
43     eval "$cmd"
44 done
45