Skip to content
/ whaler Public
forked from ndahlquist/whaler

Squash merges from the GitHub merge button

License

Notifications You must be signed in to change notification settings

abartow/whaler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Whaler

If your Git workflow involves squash merges, you're probably frustrated that the GitHub merge button creates ugly --no-ff commits. Whaler is a Chrome extension and server-side component that work together with the GitHub API to create beautiful squash commits right from the GitHub web interface.

Quickstart

Install the Chrome extension.

You should see a blue "Squash merge" button in place of the regular "Merge pull request" button.

Screenshot

Under the hood

The chrome extension injects a minimal amount of HTML and Javascript which change a few visual elements and redirect the merge button's HTTP POST to our webservice. This webservice calls through to the GitHub API, performing the following operations:

  • The pull request's base branch is merged into its head branch.
  • A squash commit, parented by base, is created with the tree from the new merge commit. The commit message includes any text entered through the GitHub web interface and a link to the pull request.
  • base is advanced to the new commit.
  • A comment is posted on the pull request with the SHA of the squash commit.
  • The pull request is closed and head is deleted.

About

Squash merges from the GitHub merge button

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 65.5%
  • JavaScript 32.7%
  • CSS 1.8%