Contributing to large open source projects is not always a fast or smooth sailing process, and is often stalled simply due to the necessary human factor.
Contributions are rarely accepted quickly or as-is, and it’s not uncommon to rework each submission extensively by splitting the proposed change into separated fixes and features, into smaller incremental changes where each is tested independently or sometimes perform complete rewrites.
When the vetting of each submission can require weeks, contributors often feel blocked by the need to wait for their own or peer’s changes.
To cope in these scenarios, we present a few git branching and automation strategies that allow efficient wait-free development of interconnected changes, even across community members, in a truly distributed fashion.