Konzistence mezi verzemi aplikací

Konzistence mezi verzemi aplikací
« kdy: 02. 06. 2013, 04:34:45 »
Např. U Chrome je více verzí vyvíjeno současně např 26, 27 28 (číslování je jen příklad, nevím jaká je zrovna aktuální a jaká připravovaná verze).

Když je třeba v nějaké verzi ´27" objevena bezpečnostní chyba, jak se to dělá, aby byla opravena i u ostatních verzí pokud se též vyskytuje, aby se kód nemusel psát znova a u každé verze jinak ?
« Poslední změna: 02. 06. 2013, 23:17:47 od Petr Krčmář »
Michal Kolesa
29 let, Invalidní důchodce, Vyučen: elektrikářem - silnoproud, Maturita: Strojírenství, Zájmy: Počítače AOI


kroll

Re:Jak se udržuje konzistence mezi více vývojovými verzemi aplikací
« Odpověď #1 kdy: 02. 06. 2013, 09:28:31 »
viz branchování v SVN/Git a backport


zdfgsdfgsdgs

Re:Jak se udržuje konzistence mezi více vývojovými verzemi aplikací
« Odpověď #3 kdy: 02. 06. 2013, 10:07:20 »
blbe, blbe se udrzuje.

Michal Kolesa
29 let, Invalidní důchodce, Vyučen: elektrikářem - silnoproud, Maturita: Strojírenství, Zájmy: Počítače AOI


eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Jak se udržuje konzistence mezi více vývojovými verzemi aplikací
« Odpověď #5 kdy: 02. 06. 2013, 12:10:24 »
V práci používáme sice TFS, ale SVN/Git na tom bude v tomto ohledu podobně - rozdíly jsou jinde.

Řekněme, že máš větev 27.Release.1, která je u zákazníků / uživatelů. Máš 27.HotFixes.1 pro opravy a 27.QA.1 pro testery. Pro vývoj pak 28.Devel, kde probíhá nový vývoj, 28.QA pro testery.

Objevíš chybu ve verzi 27. Chce to se rozhodnout, zda-li opraviš chybu v nové verzi (28.Devel) a starou necháš tak (jsi-li Microsoft, tak si to můžeš dovolit, neb je to nejlevnější varianta), nebo opravu uděláš v 28.Devel a backportuješ ji do 27.HotFixes.1 a pak opravu vydáš s aktualizací (toto se až tak často nepoužívá pro opravy, spíš pro nové funkcionality, které moc nezávisí na jiných částech kódu) a nebo jestli chybu opravíš v 27.HotFixes.1, což je nejčastější.

Až bude oprava zanesena v 27.HotFixes.1 větvi, mergneš ji do QA větve, opravíš chyby (pokud Ti je tester nahlásí; obecně platí, že pokud 1 tester hlásí "vše OK", dej to jinýmu). Až bude čas na vydání aktualizace, větev 27.QA.1 zkopíruješ, kopie nazveš 27.Release.2 a 27.HotFixes.2 a 27.QA.2. Z 27.Release.2 vydáš aktualizaci. Celý kolečko začíná znovu.

Potom si zkopíruješ 28.Devel, např. na 28.BugFixes. Do ní provedeš merge bugfixů z 27.Release.2 a nechát to testery projít. Po opravách ji mergneš zpět do 28.Devel, rozchodíš, merge do 28.QA a znova testování.

Franta <xkucf03/>

Re:Jak se udržuje konzistence mezi více vývojovými verzemi aplikací
« Odpověď #6 kdy: 02. 06. 2013, 20:49:36 »
blbe, blbe se udrzuje.
+1 (kdo tvrdí opak, ten obvykle četl jen manuál k nějakému verzovacímu systému, ale reálného vývoje softwaru ve více větvích/verzích se neúčastnil)

Franta <xkucf03/>

Re:Konzistence mezi více verzemi aplikací
« Odpověď #7 kdy: 02. 06. 2013, 20:55:05 »
Např. U Chrome je více verzí vyvíjeno současně např 26, 27 28 (číslování je jen příklad, nevím jaká je zrovna aktuální a jaká připravovaná verze).

Když je třeba v nějaké verzi ´27" objevena bezpečnostní chyba, jak se to dělá, aby byla opravena i u ostatních verzí pokud se též vyskytuje, aby se kód nemusel psát znova a u každé verze jinak ?

Tomu se říká propagace (nebo zpětná propagace) a je to běžná věc – pokud nemáš to štěstí, že stačí udržovat pouze poslední verzi programu. Obecně je dobré minimalizovat počet verzí/větví, které musíš podporovat… a pak pomocí různých nástrojů pro slučování změn (merge) nebo ručně propaguješ změny mezi větvemi – a tím to nekončí, po propagaci to musíš (zkusit) zkompilovat, pustit automatické testy, udělat revizi kódu, poslat to na manuální testování, vydat. Je to celkem drahá sranda.

Duro

Re:Konzistence mezi více verzemi aplikací
« Odpověď #8 kdy: 04. 06. 2013, 06:25:00 »
... a pak pomocí různých nástrojů pro slučování změn (merge) nebo ručně propaguješ změny mezi větvemi – a tím to nekončí, po propagaci to musíš (zkusit) zkompilovat, pustit automatické testy, udělat revizi kódu, poslat to na manuální testování, vydat. Je to celkem drahá sranda.
Ake automaticke testy, revizia kodu a manualne testovanie. Co nemate zakaznikov? Napisem kus kodu, dam to ho do schranky, nakopirujem rucne do kazdej verzie a ked je nejaky problem, ozvu sa na support. Udrziavat to dlhodobo nemusim. Da sa to spravit tak, ze pol roka sa akoze zabehavam, rok nieco robim, posledny polrok hladam inu robotu. 2 roky v jednej firme je pre personalitu v novej firme OK. Proste hladam nove vyzvy.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Konzistence mezi více verzemi aplikací
« Odpověď #9 kdy: 04. 06. 2013, 06:47:29 »
Co nemate zakaznikov? ...

Právěže je asi mají a chtějí si je udržet.