Permalink
// ==UserScript== | |
// @name NoFixup! | |
// @namespace http://www.budw.in/ | |
// @version 0.2.2 | |
// @description Disable the merge pull request button when fixup! commits exist in the current PR and haven't been squashed yet and hide the "Update branch" button. | |
// @author Drew Budwin | |
// @match http*://github.com/* | |
// @require https://code.jquery.com/jquery-2.2.1.js | |
// @require https://greasyfork.org/scripts/6250-waitforkeyelements/code/waitForKeyElements.js?version=23756 | |
// @grant GM_log | |
// @downloadURL none | // ==/UserScript==<< |
waitForKeyElements (".merge-message", disableMergeButton); | |
waitForKeyElements (".branch-action-item", hideUpdateBranchButton); | |
function hideUpdateBranchButton() | |
{ | |
var updateBranchButton = $('button:contains("Update branch")').hide(); | |
if (updateBranchButton !== null) | |
{ | |
updateBranchButton.hide(); | |
} | |
else | |
{ | |
console.log("WARNING: Can't locate active update branch button on page!"); | |
} | |
} | |
function disableMergeButton() | |
{ | |
var mergeButton = $('button:contains("Merge pull request")'); | |
if (mergeButton !== null && doesPRContainFixupCommits()) | |
{ | |
mergeButton.text("Are there fixup! commits?"); | |
mergeButton.prop("disabled", true); | |
} | |
else | |
{ | |
console.log("WARNING: Can't locate active merge button on page!"); | |
} | |
} | |
function doesPRContainFixupCommits() | |
{ | |
return $('.timeline-commits:contains("fixup!")').length >= 1; | |
} |