File: updatechangelog

package info (click to toggle)
swi-prolog 5.10.1-1%2Bsqueeze1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 76,436 kB
  • ctags: 45,143
  • sloc: ansic: 290,417; perl: 215,108; sh: 5,411; java: 5,136; makefile: 5,021; cpp: 2,168; yacc: 843; xml: 77; sed: 12
file content (72 lines) | stat: -rwxr-xr-x 1,169 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash -f

tmp=.chlog$$

updatechangelog ()
{ chlog="$1"
  dir=`dirname "$1"`
  
  since=`git log $chlog | head -1 | awk '{print $2}'`
  
  ./mkchangelog $since $dir > $tmp
  
  if [ -s $tmp ]; then
     cat $tmp $chlog > $tmp-2
     cp $tmp-2 $chlog
     rm $tmp-2
  fi
  
  rm $tmp
}

insert_at ()
{ insert=$1
  pattern=$2
  infile=$3

  awk < $infile '
BEGIN		{ seen="false";
		}
/'$pattern'/	{ if ( seen == "false" )
		  { system("cat '$insert'");
		    seen = true;
		  }
		}
		{ print $0;
		}
'
}


mainchangelog ()
{ chlog="$1"
  since=`git log $chlog | head -1 | awk '{print $2}'`

  ./mkchangelog --nodate $since src library boot > $tmp
  if [ -s $tmp ]; then
    v="VERSION `cat VERSION` `date +'%B %d, %Y'`"
    sep=`echo $v | sed 's/./=/g'`
    echo $sep	>> $tmp-2
    echo $v	>> $tmp-2
    echo $sep	>> $tmp-2
    echo ""	>> $tmp-2
    cat	$tmp >> $tmp-2;
    mv $tmp-2 $tmp
  fi

  insert_at $tmp '^===========' $chlog > $tmp-2
  cp $tmp-2 $chlog

  rm $tmp $tmp-2
}


for f in `find . -name ChangeLog`; do
  echo -n "Updating $f ... "
  if [ "$f" = ./ChangeLog ]; then
    mainchangelog ChangeLog
  else
    updatechangelog $f
  fi
  echo done
done