#!/bin/sh # This hook script prevents the user from pushing to Savannah if any of the new # commits' OpenPGP signatures cannot be verified, or if a commit is signed # with an unauthorized key. # Called by "git push" after it has checked the remote status, but before # anything has been pushed. If this script exits with a non-zero status nothing # will be pushed. # # This hook is called with the following parameters: # # $1 -- Name of the remote to which the push is being done # $2 -- URL to which the push is being done # # If pushing without using a named remote those arguments will be equal. # # Information about the commits which are being pushed is supplied as lines to # the standard input in the form: # # # This is the "empty hash" used by Git when pushing a branch deletion. z40=0000000000000000000000000000000000000000 while read local_ref local_hash remote_ref remote_hash do # When deleting a remote branch, no commits are pushed to the remote, and # thus there are no signatures to be ver
aboutsummaryrefslogtreecommitdiff
blob: b45e9f0cfdcef402cd65e74b23d522b6edf6213b (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* GNU Guix --- Functional package management for GNU
   Copyright (C) 2012  Ludovic Courtès <ludo@gnu.org>

   This file is part of GNU Guix.

   GNU Guix is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or (at
   your option) any later version.

   GNU Guix is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.  */

/* Replacement for Nix's libmain/shared.hh.  */

#pragma once

#include <string>

#include <stdlib.h>
#include <signal.h>

static inline void
showManPage (const char *name)
{
  /* This idea is evil.  Abort.  */
  abort ();
}

extern volatile ::sig_atomic_t blockInt;

extern char **argvSaved;