Как я могу получить вывод hg history
и преобразовать его в файл dot?Преобразование вывода `hg history` в файл точки
2
A
ответ
5
Вы ищете this extension.
3
Я написал сценарий для этого (и назвал его hghistory2dot.pl). См его использование ниже код:
#!/usr/bin/perl
print "digraph {\n";
$first = 1;
$cset =();
sub printedge {
my $one = csetstr(shift(@_));
my $two = csetstr(shift(@_));
print $one, " -> ", $two, ";\n";
}
sub csetstr {
my $csetid = shift(@_);
$csetid =~ s/\s//;
$csetid =~ s/\\n//;
return "cset_" . $csetid;
}
while($line = <>) {
if (!($line eq "\n")) {
$line =~ s/\n/\\n/;
push(@cset, $line);
}
else {
print csetstr($current), " [shape=record label=\"", @cset, "\"];\n";
@cset =();
}
if($line =~ m/^changeset/) {
@arr = split(/:/, $line);
$arr[2] =~ s/\s//;
if(! $parent_found && ! $first) {
#previous changeset had no defined parent; therefore this one is the implied parent.
printedge($current, $arr[2]);
}
$current = $arr[2];
$parent_found = 0;
$first = 0;
}
elsif($line =~ m/^parent/) {
$parent_found = 1;
@arr = split(/:/, $line);
$arr[2] =~ s/\s//;
printedge($current, $arr[2]);
}
}
print "}\n";
hg history | hghistory2dot.pl | dot -Tpng > tree.png
я задал этот вопрос на SD _перед_ пытается взломать мой собственный сценарий :) –
@ Thr4wn, совершенно не связаны, но я абсолютно выкопать свой аватар хР –
расширение продолжает работать с текущим hg? (и если вы хотите что-то очень простое, вы можете использовать hg debugindexdot) – tonfa