LeastOverlap placement option (Fix bug 5385)
[dana/openbox.git] / release / common
1 #!/bin/sh
2
3 NOW=$(date +%s)
4 SRCDIR="$PWD"
5 WORKDIR="/tmp/openbox.$NOW"
6 TESTDIR="$WORKDIR/.test"
7
8 clean() {
9   cd "$SRCDIR"
10   if test -d "$WORKDIR"; then
11     chmod -R +w "$WORKDIR"
12     rm -r -f "$WORKDIR"
13   fi
14 }
15
16 error() {
17   echo "error: $1"
18   test -n "$2" && echo "$2"
19   clean
20   exit 1
21 }
22
23 RELEASE_SHA=$(git rev-parse "$REV")
24 test $? = 0 || error "revision $REV not found"
25
26 #NON_MASTER=$(git rev-list $RELEASE_SHA ^master)
27 #test $? = 0 || error "git rev-list failed"
28 #test -z $NON_MASTER || error "REVISION contains commits not on master"
29
30 git new-workdir "$SRCDIR" "$WORKDIR"
31 test $? = 0 || error "git-new-workdir failed"
32
33 echo "working in $WORKDIR"
34
35 cd "$WORKDIR"
36 test $? = 0 || error "cd to $WORKDIR failed"
37
38 git checkout -q $RELEASE_SHA
39 test $? = 0 || error "git-checkout failed"
40
41 # get last release
42 if test -z "$LAST"; then
43     LAST=$(git describe --match 'release-*' --abbrev=0 $REV)
44     test $? = 0 || \
45         error "unable to find last release"
46     echo "Using previous release as $LAST"
47 fi
48
49 H="$(head -1 CHANGELOG|cut -d: -f 1)"
50 test $H = $VERSION ||
51   error "CHANGELOG does not contain version $VERSION"
52
53 CL="$(cat CHANGELOG|sed -n /^$VERSION:\$/,/^\$/p|tail -n +2|head -n -1)"
54 CLNOWRAP=$(echo "$CL" \
55   |sed -e "s/^  \*/*/"|sed -n '1h;1!H;${;g;s/\n    / /g;p;}')
56 SHORTLOG="$(git shortlog --no-merges $LAST..$REV)"