GitHubFlow PR merge idiot-proofing

Confirmation before common mistakes when merging Pull Requests in github

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         GitHubFlow PR merge idiot-proofing
// @namespace    https://gist.github.com/raveren/f08ba2673a92c582692e1a233621762f
// @version      0.3
// @author       raveren
// @description  Confirmation before common mistakes when merging Pull Requests in github
// @match        https://github.com/*/pull/*
// ==/UserScript==

(function() {
    document.querySelector('.js-merge-branch-action').addEventListener('click', function(e){
        if ( document.querySelector('#commits_tab_counter').innerHTML.trim()!='1'
            && !confirm('More than one commit, you still wanna merge?')) {
            e.preventDefault();
            e.stopPropagation();
            return false;
        }
        
        if ( document.querySelector('.text-pending') && !confirm('Build not complete yet, you still wanna merge?')) {
            e.preventDefault();
            e.stopPropagation();
            return false;
        }
    });
})();