From 7e90fff2e860bdd9b58023199c21dd85db0f9c67 Mon Sep 17 00:00:00 2001 From: Stricted Date: Thu, 13 Sep 2012 12:06:28 +0200 Subject: [PATCH] change git_download.php --- git_download.php | 54 +++++++++++------------------------------------- index.cgi | 6 +++--- 2 files changed, 15 insertions(+), 45 deletions(-) diff --git a/git_download.php b/git_download.php index d4c3c4e..16e1c86 100644 --- a/git_download.php +++ b/git_download.php @@ -15,7 +15,7 @@ if(isset($_GET['p'])){ if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { echo "".$name."-".substr($hash, 0, -1)." (tar.gz)"; } else { - echo "No Download available (Build snapshot)"; + echo "No Download available (Build snapshot)"; } } }else{ @@ -32,7 +32,7 @@ if(isset($_GET['p'])){ if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { echo "

".$name."-".substr($hash, 0, -1)." (tar.gz)

"; } else { - echo "

No Download available (Build snapshot)

"; + echo "

No Download available (Build snapshot)

"; } } }else{ @@ -44,66 +44,36 @@ if(isset($_GET['p'])){ $con= shell_exec('git --git-dir=/home/git/'.$_GET['build'].' rev-list --oneline --header master | wc -l | sed "s/[ \t]//g"'); $name=substr($_GET['build'],0,strlen($_GET['build'])-4); if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { - echo ' '; + echo ' '; }else{ $b = shell_exec("cd /usr/share/gitweb/dl; git clone git://git.nexus-irc.de/".$_GET['build']); $c = shell_exec("cd /usr/share/gitweb/dl; tar czfv ".$name."-".substr($hash, 0, -1).".tar.gz ".$name); $d = shell_exec("rm -r /usr/share/gitweb/dl/".$name); - echo ' '; + echo ' '; } }else{ echo "unknown project"; } -}elseif(isset($_GET['build2'])){ +}elseif(isset($_GET['build2']) && isset($_GET['h'])){ if(file_exists("/home/git/".$_GET['build2'])){ - $hash = shell_exec("git --git-dir=/home/git/".$_GET['build2']." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"); - $con= shell_exec('git --git-dir=/home/git/'.$_GET['build2'].' rev-list --oneline --header master | wc -l | sed "s/[ \t]//g"'); $name=substr($_GET['build2'],0,strlen($_GET['build2'])-4); - if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { - echo ' '; - }else{ - $b = shell_exec("cd /usr/share/gitweb/dl/; git clone git://git.nexus-irc.de/".$_GET['build2']); - $c = shell_exec("cd /usr/share/gitweb/dl; tar czfv ".$name."-".substr($hash, 0, -1).".tar.gz ".$name); - $d = shell_exec("rm -r /usr/share/gitweb/dl/".$name); - echo ' '; - } - }else{ - echo "unknown project"; - } -}elseif(isset($_GET['build3'])){ - if(file_exists("/home/git/".$_GET['build3'])){ - $hash = shell_exec("git --git-dir=/home/git/".$_GET['build3']." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"); - $con= shell_exec('git --git-dir=/home/git/'.$_GET['build3'].' rev-list --oneline --header master | wc -l | sed "s/[ \t]//g"'); - $name=substr($_GET['build3'],0,strlen($_GET['build3'])-4); - if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { - echo ' '; - }else{ - $b = shell_exec("cd /usr/share/gitweb/dl/; git clone git://git.nexus-irc.de/".$_GET['build3']); - $c = shell_exec("cd /usr/share/gitweb/dl; tar czfv ".$name."-".substr($hash, 0, -1).".tar.gz ".$name); - $d = shell_exec("rm -r /usr/share/gitweb/dl/".$name); - echo ' '; - } - }else{ - echo "unknown project"; - } -}elseif(isset($_GET['build4']) && isset($_GET['h'])){ - if(file_exists("/home/git/".$_GET['build4'])){ - $name=substr($_GET['build4'],0,strlen($_GET['build4'])-4); if(strtolower($_GET['h']) == "head") { $hash = shell_exec("git --git-dir=/home/git/".$_GET['p']." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"); }else{ $hash = substr($_GET['h'], 0, 7); } if(file_exists("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz")) { - echo ''; - echo 'zurück'; + header("Content-Type: application/x-gzip"); + header("Content-Disposition: attachment; filename=".$name."-".$hash.".tar.gz"); + readfile("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz"); }else{ - $b = shell_exec("cd /usr/share/gitweb/dl/; git clone git://git.nexus-irc.de/".$_GET['build4']); + $b = shell_exec("cd /usr/share/gitweb/dl/; git clone git://git.nexus-irc.de/".$_GET['build2']); $c = shell_exec("cd /usr/share/gitweb/dl/".$name."/; git reset ".$_GET['h']); $c = shell_exec("cd /usr/share/gitweb/dl; tar czfv ".$name."-".$hash.".tar.gz ".$name); $d = shell_exec("rm -r /usr/share/gitweb/dl/".$name); - echo ''; - echo 'zurück'; + header("Content-Type: application/x-gzip"); + header("Content-Disposition: attachment; filename=".$name."-".$hash.".tar.gz"); + readfile("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz"); } }else{ echo "unknown project"; diff --git a/index.cgi b/index.cgi index f301fbd..97deaa8 100644 --- a/index.cgi +++ b/index.cgi @@ -4830,7 +4830,7 @@ sub git_shortlog_body { $cgi->a({-href => href(action=>"commit", hash=>$commit)}, "commit") . " | " . $cgi->a({-href => href(action=>"commitdiff", hash=>$commit)}, "commitdiff") . " | " . $cgi->a({-href => href(action=>"tree", hash=>$commit, hash_base=>$commit)}, "tree"). " | " . - "snapshot"; + "snapshot"; print "\n" . "\n"; @@ -5794,7 +5794,7 @@ sub git_tree { my $snapshot_links = "1"; if (defined $snapshot_links) { # FIXME: Should be available when we have no hash base as well. - push @views_nav, "snapshot"; + push @views_nav, "snapshot"; } git_print_page_nav('tree','', $hash_base, undef, undef, join(' | ', @views_nav)); @@ -6112,7 +6112,7 @@ sub git_commit { "tree"); my $snapshot_links = "1"; if (defined $snapshot_links) { - print " | " . "snapshot"; + print " | " . "snapshot"; } print "" . "\n"; -- 2.20.1