mirror of
https://github.com/NaomiAmethyst/dots.git
synced 2025-08-19 12:53:52 +00:00
manual_fetch.pl: Perl script to fetch repo HEAD with minimal requirements
This commit is contained in:
parent
15fc584a16
commit
710b257570
1 changed files with 35 additions and 0 deletions
35
manual_fetch.pl
Normal file
35
manual_fetch.pl
Normal file
|
@ -0,0 +1,35 @@
|
|||
#! /usr/bin/env perl
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
|
||||
### manual_fetch.pl
|
||||
# a small Perl script to fetch the latest snapshot of a git repo from gitweb
|
||||
# using minimal requirements (perl, tar, gzip, and (curl or wget))
|
||||
|
||||
# URL of this repo in gitweb
|
||||
my $URL = 'http://majnematic.com/cgi-bin/gitweb.cgi?p=davesdots.git';
|
||||
|
||||
my $html = http_fetch($URL);
|
||||
my($hash) = $html =~ m{
|
||||
gitweb\.cgi\?p=davesdots\.git;a=snapshot;h=([0-9a-fA-F]+);sf=tgz "> snapshot
|
||||
}xi;
|
||||
|
||||
print "fetching: $URL;a=snapshot;h=$hash;sf=tgz\n";
|
||||
my $tgz = http_fetch("$URL;a=snapshot;h=$hash;sf=tgz");
|
||||
extract_tgz($tgz);
|
||||
|
||||
sub http_fetch {
|
||||
use LWP::Simple 'get';
|
||||
|
||||
my $url = shift;
|
||||
return get($url);
|
||||
}
|
||||
|
||||
sub extract_tgz {
|
||||
my $data = shift;
|
||||
|
||||
open(my $pipe, '|-', 'tar', '-xz') || die "manual_fetch.pl: tar failed: $!";
|
||||
print $pipe $data;
|
||||
close($pipe);
|
||||
}
|
Loading…
Add table
Reference in a new issue