summaryrefslogtreecommitdiffstats
path: root/utils/releasetools/changelog.tcl
blob: 2288794bb55aee62a6c62e032f3ec72a25f20964 (plain)
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
#!/usr/bin/env tclsh

if {[llength $::argv] != 2 && [llength $::argv] != 3} {
    puts "Usage: $::argv0 <branch> <version> \[<num-commits>\]"
    exit 1
}

set branch [lindex $::argv 0]
set ver [lindex $::argv 1]
if {[llength $::argv] == 3} {
    set count [lindex ::$argv 2]
} else {
    set count 100
}

set template {
================================================================================
Redis %ver%     Released %date%
================================================================================

Upgrade urgency <URGENCY>: <DESCRIPTION>
}

set template [string trim $template]
append template "\n\n"
set date [clock format [clock seconds]]
set template [string map [list %ver% $ver %date% $date] $template]

append template [exec git log $branch~$count..$branch "--format=format:%an in commit %h:%n %s" --shortstat]

#Older, more verbose version.
#
#append template [exec git log $branch~30..$branch "--format=format:+-------------------------------------------------------------------------------%n| %s%n| By %an, %ai%n+--------------------------------------------------------------------------------%nhttps://github.com/redis/redis/commit/%H%n%n%b" --stat]

puts $template