Preparing release
[geeqie.git] / gen_changelog.sh
1 #!/bin/bash
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 exit 0 # Just drop it, we have it hardcoded in release
11 [ ! -e "ChangeLog.gqview" ] && exit 1
12 [ ! -x "$(command -v git)" ] && exit 1
13
14 LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --no-follow --use-mailmap 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > ChangeLog.$$.new && \
15 cat ChangeLog.gqview >> ChangeLog.$$.new && \
16 mv -f ChangeLog.$$.new ChangeLog
17
18
19 echo "<textarea rows='6614' cols='100'>" >ChangeLog.$$.old.html && \
20 tail -6613 ChangeLog >> ChangeLog.$$.old.html && \
21 echo "</textarea>" >>ChangeLog.$$.old.html && \
22 echo "<html>" > ChangeLog.$$.new.html && \
23 echo "<body>" >> ChangeLog.$$.new.html && \
24 echo "<ul>" >> ChangeLog.$$.new.html && \
25 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 && \
26 echo "" >> ChangeLog.$$.new.html && \
27 cat ChangeLog.$$.old.html >> ChangeLog.$$.new.html && \
28 echo "</ul>" >> ChangeLog.$$.new.html && \
29 echo "</body>" >> ChangeLog.$$.new.html && \
30 echo "</html>" >> ChangeLog.$$.new.html
31 [ -e ChangeLog.html ] && mv -f ChangeLog.html ChangeLog.html.bak
32 mv -f ChangeLog.$$.new.html ChangeLog.html
33
34 rm -f ChangeLog.$$.old.html
35
36 exit 0