summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/utils/graphs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/utils/graphs')
-rw-r--r--examples/redis-unstable/utils/graphs/commits-over-time/README.md16
-rwxr-xr-xexamples/redis-unstable/utils/graphs/commits-over-time/genhtml.tcl96
2 files changed, 0 insertions, 112 deletions
diff --git a/examples/redis-unstable/utils/graphs/commits-over-time/README.md b/examples/redis-unstable/utils/graphs/commits-over-time/README.md
deleted file mode 100644
index b28019e..0000000
--- a/examples/redis-unstable/utils/graphs/commits-over-time/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-This Tcl script is what I used in order to generate the graph you
-can find at http://antirez.com/news/98. It's really quick & dirty, more
-a trow away program than anything else, but probably could be reused or
-modified in the future in order to visualize other similar data or an
-updated version of the same data.
-
-The usage is trivial:
-
- ./genhtml.tcl > output.html
-
-The generated HTML is quite broken but good enough to grab a screenshot
-from the browser. Feel free to improve it if you got time / interest.
-
-Note that the code filtering the tags, and the hardcoded branch name, does
-not make the script, as it is, able to analyze a different repository.
-However the changes needed are trivial.
diff --git a/examples/redis-unstable/utils/graphs/commits-over-time/genhtml.tcl b/examples/redis-unstable/utils/graphs/commits-over-time/genhtml.tcl
deleted file mode 100755
index c4b4e09..0000000
--- a/examples/redis-unstable/utils/graphs/commits-over-time/genhtml.tcl
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env tclsh
-
-# Load commits history as "sha1 unixtime".
-set commits [exec git log unstable {--pretty="%H %at"}]
-set raw_tags [exec git tag]
-
-# Load all the tags that are about stable releases.
-foreach tag $raw_tags {
- if {[string match v*-stable $tag]} {
- set tag [string range $tag 1 end-7]
- puts $tag
- }
- if {[regexp {^[0-9]+.[0-9]+.[0-9]+$} $tag]} {
- lappend tags $tag
- }
-}
-
-# For each tag, create a list of "name unixtime"
-foreach tag $tags {
- set taginfo [exec git log $tag -n 1 "--pretty=\"$tag %at\""]
- set taginfo [string trim $taginfo {"}]
- lappend labels $taginfo
-}
-
-# For each commit, check the amount of code changed and create an array
-# mapping the commit to the number of lines affected.
-foreach c $commits {
- set stat [exec git show --oneline --numstat [lindex $c 0]]
- set linenum 0
- set affected 0
- foreach line [split $stat "\n"] {
- incr linenum
- if {$linenum == 1 || [string match *deps/* $line]} continue
- if {[catch {llength $line} numfields]} continue
- if {$numfields == 0} continue
- catch {
- incr affected [lindex $line 0]
- incr affected [lindex $line 1]
- }
- }
- set commit_to_affected([lindex $c 0]) $affected
-}
-
-set base_time [lindex [lindex $commits end] 1]
-puts [clock format $base_time]
-
-# Generate a graph made of HTML DIVs.
-puts {<html>
-<style>
-.box {
- position:absolute;
- width:10px;
- height:5px;
- border:1px black solid;
- background-color:#44aa33;
- opacity: 0.04;
-}
-.label {
- position:absolute;
- background-color:#dddddd;
- font-family:helvetica;
- font-size:12px;
- padding:2px;
- color:#666;
- border:1px #aaa solid;
- border-radius: 5px;
-}
-#outer {
- position:relative;
- width:1500;
- height:500;
- border:1px #aaa solid;
-}
-</style>
-<div id="outer">
-}
-foreach c $commits {
- set sha [lindex $c 0]
- set t [expr {([lindex $c 1]-$base_time)/(3600*24*2)}]
- set affected [expr $commit_to_affected($sha)]
- set left $t
- set height [expr {log($affected)*20}]
- puts "<div class=\"box\" style=\"left:$left; bottom:0; height:$height\"></div>"
-}
-
-set bottom -30
-foreach l $labels {
- set name [lindex $l 0]
- set t [expr {([lindex $l 1]-$base_time)/(3600*24*2)}]
- set left $t
- if {$left < 0} continue
- incr bottom -20
- if {$bottom == -210} {set bottom -30}
- puts "<div class=\"label\" style=\"left:$left; bottom:$bottom\">$name</div>"
-}
-puts {</div></html>}