add gensetup for git
parent
9bcb649efe
commit
66739016fa
|
@ -11,6 +11,40 @@ use open qw{:utf8 :std};
|
|||
my $sha1_pattern = qr/[0-9a-fA-F]{40}/; # pattern to validate Git sha1sums
|
||||
my $dummy_commit_msg = 'dummy commit'; # message to skip in recent changes
|
||||
|
||||
hook(type => "getsetup", id => "git", call => sub { #{{{
|
||||
return
|
||||
historyurl => {
|
||||
type => "string",
|
||||
default => "",
|
||||
example => "http://git.example.com/gitweb.cgi?p=wiki.git;a=history;f=[[file]]",
|
||||
description => "gitweb url to show file history ([[file]] substituted)",
|
||||
safe => 1,
|
||||
rebuild => 1,
|
||||
},
|
||||
diffurl => {
|
||||
type => "string",
|
||||
default => "",
|
||||
example => "http://git.example.com/gitweb.cgi?p=wiki.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]",
|
||||
description => "gitweb url to show a diff ([[sha1_to]], [[sha1_from]], [[sha1_parent]], and [[file]] substituted)",
|
||||
safe => 1,
|
||||
rebuild => 1,
|
||||
},
|
||||
gitorigin_branch => {
|
||||
type => "string",
|
||||
default => "origin",
|
||||
description => "where to pull and push changes (unset to not pull/push)",
|
||||
safe => 0, # paranoia
|
||||
rebuild => 0,
|
||||
},
|
||||
gitmaster_branch => {
|
||||
type => "string",
|
||||
default => "master",
|
||||
description => "branch that the wiki is stored in",
|
||||
safe => 0, # paranoia
|
||||
rebuild => 0,
|
||||
},
|
||||
}); #}}}
|
||||
|
||||
sub _safe_git (&@) { #{{{
|
||||
# Start a child process safely without resorting /bin/sh.
|
||||
# Return command output or success state (in scalar context).
|
||||
|
|
|
@ -80,11 +80,18 @@ sub gendump ($) { #{{{
|
|||
push @ret, dumpvalues(\%setup, IkiWiki::getsetup());
|
||||
push @ret, "";
|
||||
|
||||
# sort rcs plugin first
|
||||
my @plugins=sort {
|
||||
($a eq $config{rcs}) <=> ($b eq $config{rcs})
|
||||
||
|
||||
$a cmp $b
|
||||
} keys %{$IkiWiki::hooks{getsetup}};
|
||||
|
||||
foreach my $id (sort keys %{$IkiWiki::hooks{getsetup}}) {
|
||||
# use an array rather than a hash, to preserve order
|
||||
my @s=$IkiWiki::hooks{getsetup}{$id}{call}->();
|
||||
return unless @s;
|
||||
push @ret, "\t# $id plugin";
|
||||
push @ret, "\t# $id".($id ne $config{rcs} ? " plugin" : "");
|
||||
push @ret, dumpvalues(\%setup, @s);
|
||||
push @ret, "";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue