Pochopení systémů pro správu verzí

instagram story viewer

Tento článek se bude týkat převážně bazaru, protože git je pro část II stále složitý. Bazar je většinou široce používán společně s Launchpadem, takže tento článek by také obsahoval spoustu referencí na launchpad a bazar. Než si to přečtete, přečtěte si prosím předchozí příspěvek.

Z předchozího příspěvku jste se dozvěděli:

  1. Získání kódu
  2. Provádění změn
  3. Uložení změn
  4. Kontrola a analýza vašich změn a synchronizace s týmem
  5. Čísla revizí.

Jejich porozumění je nutné pro další čtení.

Pobočky

Větve lze vysvětlit jako jednotku paralelní práce. Když kód získá více lidí, mají vlastní místní kopii pobočky.

Kdykoli chcete pracovat na projektu, který používá jakýkoli systém pro správu verzí (VCS), obecný pracovní postup je

  1. Získejte kód
  2. Proveďte změny
  3. Proveďte změny
  4. Odešlete změny
  5. Vaše změny se dostanou do oficiální základny kódů

Každý krok se může v každém VCS mírně lišit. Každý VCS může mít více než jeden způsob provedení některého z těchto kroků. Způsob provedení těchto kroků také závisí na tom, jak celý projekt funguje.

Představme si, že pracujete na kódové základně zeitgeist. Vývoj Zeitgeist probíhá na lauinchpadu a jako VCS využívá bazar. Nyní se podívejme, jak by to celé mělo fungovat

Formát URL větve bazaru

Je třeba rozvětvit kód ze vzdáleného serveru, nazývaného také centrální úložiště. Bazar může fungovat i bez launchpadu, ale díky integraci lanchpadu je práce mnohem snazší. Pojďme větvit kód

bzr větev lp: zeitgeist

Lp: je zkratka a integrace bazaru a launchpadu vyřeší celou věc a získá kód http://launchpad.net/zeitgeist což je kód, který zde vidíte http://bazaar.launchpad.net/~zeitgeist/zeitgeist/trunk/files

Manipulace s větvemi

V Bazaru je každá větev obsažena ve složce. V zásadě tedy můžete kód rozvětvit do více složek a pracovat na něm paralelně, aniž byste věděli, co má druhá větev. To znamená, že více lidí může společně pracovat na stejné kódové základně, aniž by se museli starat o to, kdo další pracuje na stejné kódové základně.

Každá větev může být přítomna lokálně na vašem disku i na vzdáleném serveru - v tomto případě příručním panelu. Pokud potřebujete provést nějaké změny na vzdálené větvi, musíte ji načíst ze serveru pomocí příkazu bzr branch, poté provést změny, potvrdit a odeslat do stejné větve. Pokud nemáte její vlastnictví, možná se do této pobočky nebudete moci dostat. Tento případ bude nyní projednán. Poté můžete ve své pobočce také provést další změny a poslat je na stejné místo.

Poté, co skončíte s prací na vaší pobočce, provedete změny a odešlete svůj kód na server v nové vzdálené větvi. Příklad tímto způsobem

bzr push lp: ~ vaše uživatelské jméno/název projektu/název větve

jako by to bylo v mém případě

bzr push lp: ~ manishsinha/zeitgeist/testing-branch

všechny tyto větve jsou viditelné na adrese URL - http://code.launchpad.net/zeitgeist

Podobně mohou ostatní uživatelé také provádět změny v kódové základně a tlačit své větve podobným způsobem. Dvě jména větví se mohou stěží střetnout, protože nemůžete tlačit větve pod jménem někoho jiného

Větev, která je označena lp: projectname a v tomto případě lp: zeitgeist označuje primární větev, kde veškerý kód končí. Toto je oficiální pobočka pro jakýkoli projekt.

Pobočka bude sloučena

Nyní musí správce projektu sloučit vaši pobočku. Správce nejprve získá nejnovější obsah větve provedením bzr zatažení do již existující větve disk nebo větev bzr lp: zeitgeist v případě, že vlastník v tuto chvíli nemá u sebe kód.

Dále správce provede a

bzr merge lp: ~ manishsinha/zeitgeist/testing-branch

který spojuje obě větve. Dále správce potvrdí změny a provede změny v oficiální pobočce. Zatlačení se provádí jednoduše

bzr push lp: zeitgeist

Žádosti o sloučení

Launchpad funkce zvaná žádost o sloučení. Když máte změny připravené ve větvi přítomné na launchpadu, můžete požádat o sloučení vaší pobočky s vaší oficiální pobočkou. Správce projektů bude na váš požadavek upozorněn. Na stránce příručního panelu žádosti o sloučení mohou různí správci zkontrolovat změny vaší větve. Když si vezmete jejich komentáře, musíte aktualizovat svou větev na místním disku a poté ji poslat na stejnou větev.

Příklad žádosti o sloučení je zde

https://code.launchpad.net/~cando/zeitgeist-datasources/fix_bzr/+merge/45253

První řádek ukazuje, kdo navrhl žádost o sloučení. Mohou nastat případy, kdy osoba provedla změny a posunula větev na launchpad, ale požadavek na sloučení vytvořil někdo jiný.

V horní části můžete vidět stav požadavku na sloučení, který může být

  • Probíhá práce
  • Vyžaduje revizi
  • Schválený
  • Zamítnuto
  • Sloučeny

Stav je samovysvětlující

Další dva řádky obsahují

  • Navrhovaná větev - Pobočka, kterou je třeba sloučit
  • Merged Into - Většinou jde o oficiální/hlavní větev projektu, ale může to být libovolná náhodná větev.

Dále se můžete podívat, kdo všechno žádost o sloučení zkontroloval a co o ní řekl. Recenze, která se používá nejvíce, jsou

  • Pouze komentář - stačí přidat poznámku
  • Schválit - vše je v pořádku
  • Vyžaduje opravu - Byly nalezeny některé problémy. Je třeba to opravit
  • Vyžaduje informace - někdy nejsou změny jasné a recenzent požádá o další informace
  • Zdržet se - recenzent se raději zdrží jakékoli recenze
  • Zamítnout - recenzent se změnami nesouhlasí. Používá se, když recenzent vůbec nechce změny.

Hned níže vidíte popis žádosti o sloučení a různé komentáře recenzentů. Všimněte si, že recenzenti nemusí být vždy vývojáři projektu, do kterého přispíváte. Recenzentem může být kdokoli, v takovém případě bude ke jménu v tabulce recenzí připojena komunita.

Po sekci komentáře můžete vidět závazky, které byly provedeny v této větvi. Osoba může získat kód, provést změny ve více potvrzeních a poté stisknout. Zde jsou uvedeny všechny změny, které nejsou v oficiální pobočce.

Pod seznamem odevzdání je rozdíl. Rozdíl ukazuje rozdíly změn. Červené čáry ukazují, co bylo odstraněno, a zelené informace o tom, co bylo přidáno.

Mnoho projektů na Launchpadu hojně využívá požadavek na sloučení. V infrastrukturách, kde tato funkce není k dispozici, se pro recenze používají zprávy o chybách. Tato funkce žádosti o sloučení je pro nováčky jednodušší, mnohem čistší a jasně odděluje chyby od sloučení recenzí.

Všechno Ubuntu, denně. Od roku 2009.

Teachs.ru