Gitlab raw commit adder

Replace the mangled commit message with the full patch, which is in general more useful to the experienced git user than the web UI, where you have to change views multiple time to see the contents of a commit and it's impossible to get the raw patch (other than appending .patch to the URL).

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name     Gitlab raw commit adder
// @description Replace the mangled commit message with the full patch, which is in general more useful to the experienced git user than the web UI, where you have to change views multiple time to see the contents of a commit and it's impossible to get the raw patch (other than appending .patch to the URL).
// @version  1.2
// @include  /^https://gitlab.com/.*/commit/[0-9A-Fa-f]{6}[0-9A-Fa-f]*$/
// @icon     https://git-scm.com/favicon.ico
// @grant    none
// @namespace de.hostalia.user-scripts
// @license  GPL-2.0
// ==/UserScript==
// Copyright 2022 Marcus Müller <[email protected]>
// SPDX-License-Identifier: GPL-2.0
/*
 * CHANGELOG
 * 1.0: initial release
 * 1.2: shorten to message by default, allow display of full commit on clicking
 */
var url = document.documentURI + '.patch';

fetch(url)
  .then(function(response) {
      response.text().then(function(text) {
      done(text);
    });
  });

function done(text) {
    var elem = document.querySelector(".commit-description");
    if(elem !== undefined) {
        elem = document.createElement("pre");
        elem.classList.add("commit-description");
        document.querySelector(".commit-box").appendChild(elem);
    }
    var position = text.indexOf("\n---\n");
    var shorttext = text;
    var fulltext = text;
    if(position !== -1) {
        shorttext = text.substring(0, position);
    }
    elem.textContent = shorttext;
    elem.onclick = function(event) {
        elem.textContent = fulltext;
    }
}