Why I Love Pre-Merging
This is a little scenario which shows what can happen if you don't pre-merge your work.
Let's use an example program to illustrate pre-merging in a simple context. Our example program is named "example." This program displays the amount of the corporate pie a certain department gets for a budget. The Buildmeister initially builds and executes the program.
As you can see from this sample, the department might quibble with the budget, as it only gets 50% of corporate assets. Several developers, sjk, xxx, and yyy, hold the view that the department ought to get 100%, and--unaware of each other's efforts--begin to work on the problem. The program sources are main.C, corp_standards.h, and Makefile.
SJK finishes his change first, and submits a merge request. The Buildmeister accepts his request, and merges the changes and re-builds the program.
Now, XXX also completes his work and sends in a merge request. The buildmeister accepts the request, merges and finds a conflict, and throws out the merge.
Likewise, YYY also completes her work and also sends in a merge requests. The buildmeister processes that merge. But see what happens when the buildmeister executes what he has built--a problem becomes evident!
So now, the three developers go off to do the right thing--which
is to learn how to pre-merge!