tl;dr: Release management (relman) picks patches to add to a build based on what developers have flagged for that build in bugzilla and additional patches that relman deems necessary for that build. Build engineers merge those patches to the appropriate branch for that build. If a merge fails for a patch, build engineers (buildeng) use 3 way merge tools to manually merge. If that fails buildeng asks the developer to fix the patch so it can be merged.
blah blah blah :-)