-
Notifications
You must be signed in to change notification settings - Fork 0
Stash plugin to enforce a rebase workflow
License
MatthieuLJ/StashRebaseWorkflow
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
checkRebaseWorkflow Stash plugin SUMMARY: -------- This plugin enforce a continuous / linear history of commits on selected branches. There are a lot of debates for/against different git workflows. I am of the opinion that the "history" of a branch and where it originated does not hold much value. Beyond that, having a clear linear history of what is going on a specific branch (typically a release branch or master) is very valuable. Here are a few links discussing some of those aspects: http://lwn.net/Articles/328438/ http://unethicalblogger.com/2010/04/02/a-rebase-based-workflow.html http://paul.stadig.name/2010/12/thou-shalt-not-lie-git-rebase-ammend.html http://blog.izs.me/post/37650663670/git-rebase And some also about the specifics of using 'git merge --no-ff' to be able to group commits together: http://ariya.ofilabs.com/2013/09/fast-forward-git-merge.html http://dev.bizo.com/2014/02/why-we-chose-not-to-git-fast-forward-merge.html This plugin lets you select the branches where you want to keep a completely linear history (no merge commits at all) and the branches where you want to enforce a rebase workflow (so any merge commit would have one of its immediate parent is also an ancestor in the other branch - in other words, one branch does not contain any commit). When rejecting a commit, it should be printing enough information to the user as to why the push is being rejected. TODO: ----- I have been trying to implement some unit test for this plugin. Without much luck so far (https://answers.atlassian.com/questions/11075724/writing-unit-tests-for-stash-plugin-simulate-a-push)
About
Stash plugin to enforce a rebase workflow
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published