xref: /aosp_15_r20/external/toybox/scripts/git-static-index.sh (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker# Create very basic index.html and commit links for a static git archive
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Workermkdir -p commit
6*cf5a6c84SAndroid Build Coastguard Workergit log --pretty=%H | while read i
7*cf5a6c84SAndroid Build Coastguard Workerdo
8*cf5a6c84SAndroid Build Coastguard Worker  [ -e commit/$i ] && break
9*cf5a6c84SAndroid Build Coastguard Worker  git format-patch -1 --stdout $i > commit/$i
10*cf5a6c84SAndroid Build Coastguard Worker  ln -sf $i commit/${i::12}
11*cf5a6c84SAndroid Build Coastguard Workerdone
12*cf5a6c84SAndroid Build Coastguard Worker
13*cf5a6c84SAndroid Build Coastguard Workerecho '<html><body><font face=monospace><table border=1 cellpadding=2>'
14*cf5a6c84SAndroid Build Coastguard Workerecho '<tr valign=top><td>commit</td><td>author</td><td>date</td><td>description</td></tr>'
15*cf5a6c84SAndroid Build Coastguard Workergit log --pretty='%H%n%an<%ae>%n%ad%n%s' --date=format:'%r<br />%d-%m-%Y' | while read HASH
16*cf5a6c84SAndroid Build Coastguard Workerdo
17*cf5a6c84SAndroid Build Coastguard Worker  HASH="${HASH::12}"
18*cf5a6c84SAndroid Build Coastguard Worker  read AUTHOR
19*cf5a6c84SAndroid Build Coastguard Worker  AUTHOR1="${AUTHOR/<*/}"
20*cf5a6c84SAndroid Build Coastguard Worker  AUTHOR1="${AUTHOR1::17}"
21*cf5a6c84SAndroid Build Coastguard Worker  AUTHOR2="&lt;${AUTHOR/*</}"
22*cf5a6c84SAndroid Build Coastguard Worker  AUTHOR2="${AUTHOR2::20}"
23*cf5a6c84SAndroid Build Coastguard Worker  read DATE
24*cf5a6c84SAndroid Build Coastguard Worker  DATE="${DATE/ /&nbsp;}"
25*cf5a6c84SAndroid Build Coastguard Worker  read DESC
26*cf5a6c84SAndroid Build Coastguard Worker  echo "<tr valign=top><td><a href=commit/$HASH>$HASH</a></td><td>$AUTHOR1<br />$AUTHOR2</td><td>$DATE</td><td>$DESC</td></tr>"
27*cf5a6c84SAndroid Build Coastguard Workerdone
28*cf5a6c84SAndroid Build Coastguard Workerecho "</table></body></html>"
29