cvsserver: imitate git-update-ref when committing
git-update-ref writes into the lockfile, and renames it afterwards. Like commit v1.3.0-rc3~22, it is not only cleaner, but also helps with shared setups: every developer can have a different primary group; what matters is that $GIT_DIR/refs/heads has to be writable by a group you are in. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
5209eda863
commit
cadbcf2712
@ -1142,9 +1142,7 @@ sub req_ci
|
||||
exit;
|
||||
}
|
||||
|
||||
open FILE, ">", "$ENV{GIT_DIR}refs/heads/$state->{module}";
|
||||
print FILE $commithash;
|
||||
close FILE;
|
||||
print LOCKFILE $commithash;
|
||||
|
||||
$updater->update();
|
||||
|
||||
@ -1171,7 +1169,9 @@ sub req_ci
|
||||
}
|
||||
|
||||
close LOCKFILE;
|
||||
unlink($lockfile);
|
||||
my $reffile = "$ENV{GIT_DIR}refs/heads/$state->{module}";
|
||||
unlink($reffile);
|
||||
rename($lockfile, $reffile);
|
||||
chdir "/";
|
||||
|
||||
print "ok\n";
|
||||
|
Loading…
Reference in New Issue
Block a user