Lock the Git repo
This commit is contained in:
parent
2fd4d6beea
commit
1c07d6dd08
|
@ -80,10 +80,15 @@ if (defined $curReleaseDir) {
|
||||||
die "channel would go back in time from $curRelease to $releaseName, bailing out\n" if $d == 1;
|
die "channel would go back in time from $curRelease to $releaseName, bailing out\n" if $d == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Update the nixpkgs-channels repo. FIXME: lock?
|
# Update the nixpkgs-channels repo.
|
||||||
|
open(my $lockfile, ">>", "$channelsDir/.htaccess.lock");
|
||||||
|
flock($lockfile, LOCK_EX) or die "cannot acquire channels lock\n";
|
||||||
|
|
||||||
system("git remote update origin >&2") == 0 or die;
|
system("git remote update origin >&2") == 0 or die;
|
||||||
system("git push channels $rev:refs/heads/$channelName >&2") == 0 or die;
|
system("git push channels $rev:refs/heads/$channelName >&2") == 0 or die;
|
||||||
|
|
||||||
|
flock($lockfile, LOCK_UN) or die "cannot release channels lock\n";
|
||||||
|
|
||||||
if ($bucket->head_key("$releasePrefix")) {
|
if ($bucket->head_key("$releasePrefix")) {
|
||||||
print STDERR "release already exists\n";
|
print STDERR "release already exists\n";
|
||||||
} else {
|
} else {
|
||||||
|
@ -205,7 +210,6 @@ if ($bucket->head_key("$releasePrefix")) {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Prevent concurrent writes to the channels directory.
|
# Prevent concurrent writes to the channels directory.
|
||||||
open(my $lockfile, ">>", "$channelsDir/.htaccess.lock");
|
|
||||||
flock($lockfile, LOCK_EX) or die "cannot acquire channels lock\n";
|
flock($lockfile, LOCK_EX) or die "cannot acquire channels lock\n";
|
||||||
|
|
||||||
# Update the channel.
|
# Update the channel.
|
||||||
|
|
Loading…
Reference in a new issue