# Script forked from Panike: https://gist.github.com/panike/811354 sub new_hl { my @l = (); return \@l; } @args = @ARGV; shift @args; print "\n"; print "\n"; print " \n"; print "\n"; print "
\n";
open REVLIST, "git log " . join(' ',@args) . " --topo-order --abbrev-commit --graph|" || die "Cannot get log";
while(){
        chomp;
        if(/^Merge: /){
                next;
        }
        if(/^commit/){
                @list = split / /;
                @tlist = @list;
                print "commit $list[1]\n";
                @list = @list[2 .. $#list];
                foreach $key (@list) {
                        print "parent $key\n";
                        if(!$commits{$key}){
                                $commits{$key}=new_hl;
                        }
                        push @{$commits{$key}}, $tlist[1];
                }
                foreach $key (@{$commits{$tlist[1]}}){
                        print "child $key\n";
                }
        }else{
                s//\>/g;
                print;
                print "\n";
        }
}
print "
\n"; print "\n";