GitHub imehama stacked pull requests kwenye preview ya umma, ikiruhusu watengenezaji kugawanya mabadiliko makubwa katika mfululizo wa PR zinazotegemeana ambazo zinaweza kupitiwa na kuunganishwa (merged) kwa uhuru.

Kwa nini kipengele hiki ni muhimu

PR moja kubwa na iliyounganishwa mara nyingi huchukua muda mrefu wa mapitio, mara nyingi hadi mwezi mzima, huku wapatiaji maoni wakilazimika kupitia msimbo (code) usiohusiana. Wakati base branch inapobadilika, mabadiliko hayo makubwa huwa na uwezekano mkubwa wa kusababisha migongano ya kuunganisha (merge conflicts) ambayo huchelewesha toleo (releases). Stacked PRs zinatatua matatizo yote mawili kwa kubadilisha tofauti (diff) moja kubwa kuwa mfululizo wa tofauti ndogo na zenye lengo mahususi ambazo kila moja inajengwa juu ya iliyopita.

Jinsi inavyofanya kazi

Tengeneza PR ya kwanza dhidi ya main branch, kisha weka PR inayofuata ikiwa imejengwa juu ya ile ya kwanza, ya tatu juu ya ya pili, na kuendelea. GitHub inafuatilia uhusiano huo kiotomatiki: ukiboresha (amend) PR ya msingi, PR zinazotegemeana zinasaidiawa ili kuonyesha hali mpya. Wapatiaji maoni wanaweza kuidhinisha stack nzima kwa mbofyo mmoja au kuidhinisha tabaka moja moja.

  • Mapitio yanabaki katika wigo finyu, jambo linalofanya maoni (feedback) yawe ya haraka zaidi.
  • Migongano inapungua kwa sababu kila PR inagusia tu msimbo uliowasilishwa katika tabaka yake yenyewe.
  • UI inaonyesha mpangilio wa stack, na GitHub CLI inatoa amri moja (one-liner) ya kuanzisha mfululizo wa stacked PRs.
gh pr create --title Feature A --base main
gh pr create --title Feature B --base feature-a
gh pr create --title Feature C --base feature-b

Mfano wa command line unaunda PR tatu zilizounganishwa, kila moja ikitegemea ile iliyotangulia. Mtiririko huo huo unapatikana kupitia web interface, ambapo unaweza kupanga upya au kuondoa PR kutoka kwenye stack bila kuharibu nyingine.

Nani atafaidika

Timu kubwa za vipengele (feature teams) na watunzaji wa programu huru (open-source maintainers) wanaweza kutoa kazi za hatua kwa hatua bila kuwapa wapatiaji maoni mabadiliko mengi yasiyohusiana. Wasimamizi wa toleo (release managers) wanapata picha ya wazi zaidi ya kile kilicho tayari kutolewa, kwa sababu kila tabaka la stack linaweza kuunganishwa kulingana na ratiba yake yenyewe.

Tahadhari za kuzingatia

Kipengele hiki bado kipo kwenye preview, hivyo kinaweza kubadilika kabla ya kutolewa kikamilifu. Timu itahitaji kuanza tabia mpya kuhusu branching na inaweza kukutana na matukio ya kipekee (edge cases) wakati wa rebasing stack ambayo tayari imeunganishwa kwa sehemu. Nyaraka (documentation) bado inakua, hivyo watumiaji wa mapema wanaweza kutumia muda zaidi kujifunza ishara za UI.

Nini cha kufuatilia baadaye

GitHub inaelekea kutoa muunganisho wa karibu zaidi na code-owners na zana za uotomatishaji (automation tools), na inaweza kuonyesha vipimo vya upunguzaji wa migongano. Endelea kufuatilia ukurasa wa tangazo la preview kwa updates kuhusu muda wa GA (upatikanaji wa jumla).

Muhtasari: Stacked pull requests zinawapa watengenezaji njia madhubuti ya kudhibiti mabadiliko mak