node package manager


A command line tool to check if pull requests are mergeable.


A command line tool to check if pull requests are mergeable.

$ willitmerge
Found 8 open pull requests on
Issue #376,, will it merge? NO!
Issue #272,, will it merge? NO!
Issue #212,, will it merge? NO!
Issue #209,, will it merge? NO!
Issue #207,, will it merge? YES!
Issue #223,, will it merge? YES!
$ willitmerge --rebase
Found 7 open pull requests on
Issue #413,, will it rebase? YES!
Issue #405,, will it rebase? YES!
Issue #404,, will it rebase? YES!
Issue #399,, will it rebase? YES!
Issue #395,, will it rebase? YES!
Issue #363,, will it rebase? YES!
Issue #350,, will it rebase? YES!

Install with npm install -g willitmerge

Navigate to the project folder you would like to check then run: willitmerge. This will then look for the remote: upstream or origin in that order. Then proceeds to check if each open pull request can be merged. Please note, this will not actually do any merging... only checks.

$ willitmerge --help
  Usage: willitmerge [options]
    -h, --help             output usage information
    -r, --remote <remote>  name of remote source eg origin, upstream
    --ignore <ignore>      list of issue #s to ignore eg 120,234,300
    --perpage <perpage>    number of issues to check at a time, max is 100
    --page <page>          page when using perpage pagination
    --rebase               rebase instead of merge
    -v, --verbose          display output of merge attempts
    -V, --version          output the version number

To use willitmerge in your project:

var wim = require('willitmerge');
// This event is fired after issues have been received from github 
wim.once('issues', function(issues) {
  // To test all the issues if they will merge then fire the `end` event 
  // or if you would like to write your own mechanism and test 
  // each issue individually use: 
  wim.testIssue(issue, function(err, iss) { });
// This event is fired after issues have been tested 
wim.once('end', function(issues) {
  // `willitmerge` will be appended to each issue with the info about the test 
  // Call to display the issues report, clean up and end the program 
// run the program{
  perpage: 40 // set options here 

This project uses Grunt for development. Please install and run grunt before submitting a pull request. Thanks!

  • 0.2.1 Check for invalid github urls
  • 0.2.0 Refactor to use git pull and --rebase instead of applying patches
  • 0.1.2 Add perpage, page options.
  • 0.1.1 Order PRs by least amount changed
  • 0.1.0 Built willitmerge tool from grunt-willitmerge

Copyright (c) 2012 Kyle Robinson Young

Licensed under the MIT license.