What happens with merging instead of rebasing?
As an aside, here is what would happen in the scenario above if Alice merged instead of rebasing:
The story is the same until Sage development gets to the commit T.
---K---L---M---P---Q---R---S---T <-(origin/master) \ --A---B---C <-(aardvarks) \ --X---Y---Z <-(bowling)
Alice doesn't know about Bob's bowling feature, but still wants aardvarks to incorporate the latest official origin/master, that is commit T, instead of commit M. Alice merges T into the aardvarks branch.
---K---L---M---P---Q---R---S---T <-(origin/master) \ \ --A---B---C---------D <-(aardvarks) \ --X---Y---Z <-(bowling)
The aardvarks feature is ready and has a positive review, so it is merged into the official origin/master. Any merge conflicts were resolved in the commit D, so this is a clean merge.
---K---L---M---P---Q---R---S---T---U <-(origin/master) \ \ / --A---B---C---------D <-(aardvarks) \ --X---Y---Z <-(bowling)
The bowling feature is ready and has a positive review, so it is merged into the official origin/master. At this point, the commits A---B---C are in the common history of U and Z, so there is no conflict there. If X---Y---Z and D do not introduce a further conflict, the merge into V is a clean merge.
---K---L---M---P---Q---R---S---T---U---V <-(origin/master) \ \ / / --A---B---C---------D / <-(aardvarks) \ / --X---Y---Z <-(bowling)