Users A and B each make modifications (on different feature branches) to a particular repo.
User A merges changes into staging branch. Jenkins builds the staging branch, and succeeds.
User C (release manager for User B team) merges User B’s changes into staging branch. However, something in the merge goes wrong and isn’t noticed, such as a conflict that wasn’t resolved properly.
Jenkins builds the staging branch, and fails because of the bad merge.
Users A and B are notified of the build failure, because their code was part of the merge, even though their changes were not at fault. User C never gets a failure notice, even though his bad merge was what broke the build.
Is there a way to:
We are using the Git and Email-ext plugins for Jenkins.
Edit, several months later: Still having issues with this — even in a scenario where the person who did the merge did not introduce breaking changes, it would still be nice for them to be notified that the build succeeded (or failed).
It shows all the changes made to the merged branch as a result of the merge. Show activity on this post. git show -c c0f501 will display a combined diff from commit c0f501 to both of its parents, as printed by git diff during a merge. This gives a better overview than git show -m .
The merge commit is considered a single commit (I'd expect 13 commits now, unless you're not counting merge commits or one of the 5 and 7 is actually the same commit), but it brings all of the histories it merges together.
Squash merging is a merge option that allows you to condense the Git history of topic branches when you complete a pull request. Instead of each commit on the topic branch being added to the history of the default branch, a squash merge adds all the file changes to a single new commit on the default branch.
You can do a git reset --hard [commit hash] to go back to the commit before the merge, and it's like traveling back in time. However, you'll also undo any changes that were added after the commit you specify in the reset command, if you have any.
You can try to force always no fast-forward merges (--no-ff
option) and all merges will produce even a merge-commit (not only when there are conflicts).
It also produce a more readable and clear git log.
BTW check if you have the last version of the Jenkins Git plugin (they had issues in the past).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With