Some command line options are not GNU/POSIX compliant (3)
[geeqie.git] / gen_changelog.sh
1 #!/bin/sh
2
3 # Script to update ChangeLog file,
4 # it keeps "pre-svn" history and inserts git log at top,
5 # it uses C locale for date format.
6 # It has to be run where ChangeLog.gqview is.
7 #
8 # ChangeLog.html is also created
9
10 [ ! -e "ChangeLog.gqview" ] && exit 1
11 [ ! -x "$(command -v git)" ] && exit 0
12
13 LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --no-follow --use-mailmap 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > ChangeLog.$$.new && \
14 cat ChangeLog.gqview >> ChangeLog.$$.new && \
15 mv -f ChangeLog.$$.new ChangeLog
16
17
18 echo "<textarea rows='6614' cols='100'>" >ChangeLog.$$.old.html && \
19 tail -6613 ChangeLog >> ChangeLog.$$.old.html && \
20 echo "</textarea>" >>ChangeLog.$$.old.html && \
21 echo "<html>" > ChangeLog.$$.new.html && \
22 echo "<body>" >> ChangeLog.$$.new.html && \
23 echo "<ul>" >> ChangeLog.$$.new.html && \
24 LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --date=format:'%Y-%m-%d' --no-follow --use-mailmap --pretty=format:"<li><a href=\"http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commit;h=%H\">view commit </a></li><p>Author: %aN<br>Date: %ad<br><textarea rows=4 cols=100>%s %n%n%b</textarea><br><br></p>" 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD >> ChangeLog.$$.new.html && \
25 echo "" >> ChangeLog.$$.new.html && \
26 cat ChangeLog.$$.old.html >> ChangeLog.$$.new.html && \
27 echo "</ul>" >> ChangeLog.$$.new.html && \
28 echo "</body>" >> ChangeLog.$$.new.html && \
29 echo "</html>" >> ChangeLog.$$.new.html
30 [ -e ChangeLog.html ] && mv -f ChangeLog.html ChangeLog.html.bak
31 mv -f ChangeLog.$$.new.html ChangeLog.html
32
33 rm -f ChangeLog.$$.old.html
34
35 exit 0