X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit-repos-server;h=8d821861d1db6b02f76fccd16e81ef92a954d6a3;hb=a7641befeedd74f0134125af98ec5c417a8c94e5;hp=ce48eeb217f95ea7f8359db2416516af3d6cb243;hpb=b58de5245d0a98e91a5f708d93c2eb6b4a198b47;p=dgit.git diff --git a/dgit-repos-server b/dgit-repos-server index ce48eeb2..8d821861 100755 --- a/dgit-repos-server +++ b/dgit-repos-server @@ -241,9 +241,11 @@ sub maybeinstallprospective () { die; die if $got{$wh}++; } + $!=0; $?=0; close SR or $?==256 or die "$? $!"; + debug "installprospective ?"; - die if grep { !$_ } values %got; - $!=0; $?=0; close SR or die "$? $!"; + die Dumper(\%got)." -- missing refs in new repo" + if grep { !$_ } values %got; debug "install $destrepo => $realdestrepo"; rename $destrepo, $realdestrepo or die $!; @@ -309,7 +311,7 @@ sub parsetag () { } } $!=0; $_=; defined or die $!; - m/^($package_re) release (\S+) for (\S+) \[dgit\]$/ or + m/^($package_re) release (\S+) for \S+ \((\S+)\) \[dgit\]$/ or reject "tag message not in expected format"; die unless $1 eq $package; @@ -512,6 +514,9 @@ sub argval () { sub parseargsdispatch () { die unless @ARGV; + delete $ENV{'GIT_DIR'}; # if not run via ssh, our parent git process + delete $ENV{'GIT_PREFIX'}; # sets these and they mess things up + if ($ENV{'DGIT_DRS_DEBUG'}) { $debug='='; open DEBUG, ">&STDERR" or die $!;