From 9086c806c43cf4e88033bf6df6de42965a99c1d0 Mon Sep 17 00:00:00 2001 From: Stricted Date: Sat, 8 Sep 2012 18:21:18 +0200 Subject: [PATCH] create a new snapshot function --- git_download.php | 75 ++++++++++++++++++++++++++++++++---------------- index.cgi | 16 +++++------ 2 files changed, 58 insertions(+), 33 deletions(-) diff --git a/git_download.php b/git_download.php index 7d36093..d4c3c4e 100644 --- a/git_download.php +++ b/git_download.php @@ -1,4 +1,9 @@ git-".substr($con, 0, -1)."-".substr($hash, 0, -1)." (tar.gz)"; + 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)"; } @@ -24,8 +29,8 @@ if(isset($_GET['p'])){ echo "

".$_GET["git"].": No Download available

"; }else{ $name=substr($_GET["git"],0,strlen($_GET["git"])-4); - if(file_exists("/usr/share/gitweb/dl/".$name."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz")) { - echo "

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

"; + 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)

"; } @@ -35,14 +40,14 @@ if(isset($_GET['p'])){ } }elseif(isset($_GET['build'])){ if(file_exists("/home/git/".$_GET['build'])){ + $hash = shell_exec("git --git-dir=/home/git/".$_GET['build']." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"); + $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."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz")) { + if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { echo ' '; }else{ - $hash = shell_exec("git --git-dir=/home/git/".$_GET['build']." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"); - $con= shell_exec('git --git-dir=/home/git/'.$_GET['build'].' rev-list --oneline --header master | wc -l | sed "s/[ \t]//g"'); $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."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz ".$name); + $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 ' '; } @@ -51,32 +56,54 @@ if(isset($_GET['p'])){ } }elseif(isset($_GET['build2'])){ 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."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz")) { + if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { echo ' '; }else{ - $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"'); - $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."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz ".$name); - $d = shell_exec("rm -r /usr/share/gitweb/dl/".$name); - echo ' '; + $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."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz")) { + if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { echo ' '; }else{ - $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"'); - $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."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz ".$name); - $d = shell_exec("rm -r /usr/share/gitweb/dl/".$name); - echo ' '; + $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'; + }else{ + $b = shell_exec("cd /usr/share/gitweb/dl/; git clone git://git.nexus-irc.de/".$_GET['build4']); + $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'; } }else{ echo "unknown project"; @@ -92,8 +119,8 @@ if(isset($_GET['p'])){ echo "

".$v.": No Download available

"; }else{ $name=substr($v,0,strlen($v)-4); - if(file_exists("/usr/share/gitweb/dl/".$name."-git-".substr($con, 0, -1)."-".substr($hash, 0, -1).".tar.gz")) { - echo "

".$v.": Download git-".substr($con, 0, -1)."-".substr($hash, 0, -1)."

"; + if(file_exists("/usr/share/gitweb/dl/".$name."-".substr($hash, 0, -1).".tar.gz")) { + echo "

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

"; } else { echo "

".$v.": No Download available (Build snapshot)

"; } diff --git a/index.cgi b/index.cgi index fe7ff60..f301fbd 100644 --- a/index.cgi +++ b/index.cgi @@ -4829,11 +4829,9 @@ 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"); - my $snapshot_links = format_snapshot_links($commit); - if (defined $snapshot_links) { - print " | " . $snapshot_links; - } + $cgi->a({-href => href(action=>"tree", hash=>$commit, hash_base=>$commit)}, "tree"). " | " . + "snapshot"; + print "\n" . "\n"; } @@ -5793,10 +5791,10 @@ sub git_tree { hash_base=>"HEAD", file_name=>$file_name)}, "HEAD"), } - my $snapshot_links = format_snapshot_links($hash); + my $snapshot_links = "1"; if (defined $snapshot_links) { # FIXME: Should be available when we have no hash base as well. - push @views_nav, $snapshot_links; + push @views_nav, "snapshot"; } git_print_page_nav('tree','', $hash_base, undef, undef, join(' | ', @views_nav)); @@ -6112,9 +6110,9 @@ sub git_commit { "" . $cgi->a({-href => href(action=>"tree", hash=>$co{'tree'}, hash_base=>$hash)}, "tree"); - my $snapshot_links = format_snapshot_links($hash); + my $snapshot_links = "1"; if (defined $snapshot_links) { - print " | " . $snapshot_links; + print " | " . "snapshot"; } print "" . "\n"; -- 2.20.1