abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:44 | Nová verze

    Emulátory Box86 a Box64 umožňující spouštět linuxové aplikace pro x86 a x86_64 na jiných než x86 a x86_64 architekturách, například ARM a ARM64, byly vydány v nových verzích: Box86 0.3.8 a Box64 0.3.2. Ukázka možností na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Byla vydána nová verze 6.1 neměnné (immutable) distribuce openSUSE Leap Micro určené pro běh kontejneru a virtuálních strojů. S vydáním verze 6.1 byla ukončena podpora verze 5.5.

    Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Poslanci dnes ve třetím čtení schválili návrh zákona o digitálních financích. Cílem zákona je implementace předpisů Evropské unie v oblasti digitálních financí, konkrétně nařízení DORA (Digital Operational Resilience Act) o digitální provozní odolnosti finančního sektoru a nařízení MiCA (Markets in Crypto Assets) o trzích kryptoaktiv. Zákon nyní míří k projednání do Senátu ČR. U kryptoměn bude příjem do 100 tisíc Kč za zdaňovací období osvobozen od daně, podobně jako u cenných papírů, a to za podmínky jejich držení po dobu alespoň 3 let.

    Ladislav Hagara | Komentářů: 3
    včera 19:11 | Komunita

    O víkendu (15:00 až 23:00) proběhne EmacsConf 2024, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji bude možné na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Mozilla má nové logo a vizuální identitu. Profesionální. Vytvořeno u Jones Knowles Ritchie (JKR). Na dalších 25 let.

    Ladislav Hagara | Komentářů: 22
    5.12. 23:33 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.12 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2026. LTS jader je aktuálně šest: 5.4, 5.10, 5.15, 6.1, 6.6 a 6.12.

    Ladislav Hagara | Komentářů: 0
    5.12. 15:11 | Nová verze

    Byla vydána nová stabilní verze 3.21.0, tj. první z nové řady 3.21, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu architektury Loongson LoongArch64.

    Ladislav Hagara | Komentářů: 0
    5.12. 11:33 | IT novinky

    Mapy.cz Premium stojí 249 korun ročně. Premium verze je zaváděna postupně.

    Ladislav Hagara | Komentářů: 30
    5.12. 11:00 | IT novinky

    Hodnota Bitcoinu, decentralizované kryptoměny překonala 100 000 dolarů (2 390 000 korun).

    JZD | Komentářů: 16
    5.12. 05:11 | Zajímavý software

    Hurl byl vydán ve verzi 6.0.0. Hurl je nástroj běžící v příkazovém řádku, který spouští HTTP požadavky definované v textovém souboru.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: Správa více variant projektu -- volba vhodného nástroje

    9.12.2009 00:07 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Správa více variant projektu -- volba vhodného nástroje
    Přečteno: 889×
    Pěkný večer. Vyvíjím v Perlu souběžně několik menších projektů (~ 4000 řádků perlího kódu, 1000 řádků formulářů v YAMLu a 1000 řádků HTML v cca 110 souborech + asi dalších 50 souborů s grafikou, styly, javascriptem a podobně) na bázi webového framworku Catalyst. V minulosti jsem na ničem tak rozsáhlém (množstvím souborů, ne počtem řádků) nepracoval (100 řádků v PHP = 1 řádek v Catalystu :-)), tak mi zatím stačila Quanta s otevřeným adresářem vzdáleného serveru. V poslední době se však potýkám s tím, že díky tomu, že jsou projekty vyvíjeny nerovnoměrně (například implementuji nějakou funkcionalitu v projektu 1, zjistím, že změny vedou hlouběji do jádra aplikace a tak musím upravit i projekty 2, 3 a 4 abych zachoval konzistenci) mám velký problém sledovat a udržovat všude stejnou verzi jádra aplikace.

    To by nebylo až nic tak zásadního pokud bych nemusel udržovat i stejnou strukturu databázových tabulek a konfiguračních souborů (které se pochopitelně pro každý projekt liší). Stejně tak se v drobnostech liší jádro aplikace projektů (což je ale spíše důsledek bordelu v revizích než zamýšlená feature).

    Nemám v podstatě žádné zkušenosti s použitím CVS, SVN či Gitu ale tak nějak tuším, že v podobném nástroji by se mohl skrývat klíč k vyřešení mých problémů :-) Vyžaduji co nejjednodušší aplikování změn napříč projekty (s možností zachovat některé rozdílné sekce v některých souborech) a dobrý přehled o tom, jaké jsou rozdílnosti mezi projekty a verzemi projektů. Ideální možnost by bylo něco jako kombinace "libjádro + aplikace", kdy by se jádro jen "linkovalo" k aplikaci a bylo vyvíjené zvlášť.

    Úplně spokojený bych byl, kdyby bylo možné aplikaci mít spuštěnou z úložiště takového systému, abych nemusel věčně získávat aktuální revizi, tu kopírovat do WWW rootu a starat se o to, aby se vše správně sesynchronizovalo.

    V současnosti mám na jedné ploše okno Quanty s otevřeným SSH spojením do testovacího adresáře serveru. Na druhé ploše v terminálu běží testovací server Catalystu (kdo neznáte, jde o malý HTTP server který poskytuje výborný debugovací výstup z tohoto frameworku) obvykle s oknem prohlížeče, na kterém to celé zkouším. A aby to nebylo tak jednoduché, stabilní revize projektů mi běží na vlastním Apači.

    Otázka tedy zní: Jaké nástroje využít pro co nejjednodušší (abych se o ty nástroje nemusel moc starat a snadno se obsluhovaly) a nejpohodlější správu kódu více projektů a jejich verzí spolu se synchronizací s produkčním prostředím?

    Řešení dotazu:


    Odpovědi

    stativ avatar 9.12.2009 08:04 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    IMO nejpohodlnější jsou SVN a Mercurial. CVS je vykopávka, která ani neumí atomické commity (sux úplně nejvíc). Git je dobrý, ale strašně překomplikovaný (+ nemám rád jeho značení revizí). Bazaar jsem nikdy nepoužíval, ale slyšel jsem, že z dříve jmenovaných je nejblíže Mercurialu.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    9.12.2009 12:50 Radim Kolář | skóre: 11
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    hg a bzr jsou nejlepsi. snadno se pouzivaji. U svn obvykle vznika v repu prilis bordel protoze to implementuje tagy pres kopie a lidi obcas kominuji do spatnych vetvi a musi se to pak rucne nahanet. Jinak pokud nevadi komerce, tak vyborny je Jazz zejmena pokud na projektu dela vice lidi.

    git taky nemam rad pro prilisnou slozitost.
    9.12.2009 23:10 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Git je dobrý, ale strašně překomplikovaný (+ nemám rád jeho značení revizí).
    Čo je zlé na spôsobe, akým značí revízie git?
    stativ avatar 10.12.2009 21:28 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Git je dobrý, ale strašně překomplikovaný (+ nemám rád jeho značení revizí).
    Čo je zlé na spôsobe, akým značí revízie git?
    Všechno. Ba ne, dělám si srandu :-D. Neříkám, že je to děláno špatně, ale já dávám přednost tomu mít srozumitelná čísla revizí, což jak Mercurial tak Bazaar splňují (i když čísla jsou platná jen pro konkrétní repozitář). Člověk si revize nesrovnatelně lépe zapamatuje (nebo i poznamená).
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    11.12.2009 11:16 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    no a? čo ti bráni si jednotlivé commity pomenovať ? kľudne aj svojim číslom?
    Josef Kufner avatar 11.12.2009 14:21 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Doporučuju věnovat pozornost příkazu "git describe". V okamžiku, kdy je číslo potřeba, tak ho git umí poskytnout. Jinak beztak potřeba není a pŕi větvení čísla postrádají smysl tak jako tak.
    Hello world ! Segmentation fault (core dumped)
    9.12.2009 08:21 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Pravdepodobne hladas Version Control System. Ak Ti staci centralizovana sprava - a podla opisu staci - odporucam Subversion. Ak potrebujes distribovany VCS, tak odporucam Mercurial alebo Git (v tomto poradi preferencie; mnohi chvalia aj Bazaar, ale tu nemozem sluzit, nikdy som ho nepouzil). Viac info tu: Version Control System comparison, alebo Wikipedia.

    Leda ze by to, co hladas, je SCM.

    Daj vediet, ako si sa rozhodol. :-D
    9.12.2009 11:17 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Hlasuju pro subversion :)
    Předem si to ale trošku nastudovat aby Vám bylo jasné jak si nastavit úložiště, jaký model organizace složek zvolit (asi vybrat se základních dvou), jak pracovat s vývojovou linií (trunk) a jak vytvářet body k synchronizaci s produkční linií (asi přes tags).
    Důležité je si nastavit systém(na začátku trochu zkoušení a laborování) a ten pak dodržovat(pro někoho problém, někdo to od přírody zvládne).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    9.12.2009 12:03 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Doplním, že verzovací systém pouze zajistí, že „jedním příkazem“ budete mít všude stejné soubory. Pokud si ale rozryjete API (nebo schéma databáze nebo jakékoliv jiné rozhraní), tak s tím vám samozřejmě nepomůže. To si musí programátor ohlídat sám (důsledně kontrolovat vstup a ošetřovat chyby nižších vrstev), pomoci si typovou kontrolou při překladu (i perl umí prototypy) a především se tomu snažit vyhnout (dobrý a předjímající a rozšiřitelný návrh rozhraní).
    9.12.2009 13:47 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Díky všem za odpovědi, něco takového jsem potřeboval slyšet. Četl jsem si něco ve Wikipedii už včera ale budu si to muset ještě dobře rozplánovat (a naskriptovat) aby ten ekosystém fungoval jak si představuju.
    9.12.2009 22:34 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    z otázky mi vyplýva, že budete využívať branch-e. V tomto bode u mňa vyhráva git.
    Josef Kufner avatar 9.12.2009 22:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Pokud potřebuješ hlídat více velmi podobných projektů, tak se zcela jednoznačně vyhni velkým obloukem SVN. Místo toho použij Git nebo něco jiného, co umí merge.

    Měl jsem velmi podobný problém a používal jsem SVN. Bylo to utrpení. Pak jsem přešel na Git a od té doby jsem naprosto spokojený. Každému projektu uděláš vlastní repositář a pomocí cherry-pick a mergování můžeš velmi lehce přehazovat jednotlivé změny mezi nimi.
    Hello world ! Segmentation fault (core dumped)
    10.12.2009 00:03 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Píšu si :-) Jsem už tak napůl rozhodnutý pro Bazaar (kvůli hezkému a schopnému klikátu, ze začátku se bude hodit), ten Git si však ještě prohlédnu.
    Josef Kufner avatar 10.12.2009 00:17 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Hello world ! Segmentation fault (core dumped)
    10.12.2009 00:43 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje

    Jo, už jsem si taky všiml. To bazaarovský se mi ale líbilo nejvíc :-)

    Mimochodem, nakonec to tedy vyřeším následovně:

    • samostatné větve v nějakém VCS pro jádro a přídavky odlišující jednotlivé projekty
    • jádro budu spouštět pomocí use lib 'něco' díky čemuž ho můžu sdílet napříč projekty a není to třeba rozkopírovávat
    • šablony stejně jako formuláře jsem zatím neřešil, nevím jak funguje zpracování relativních cest v includovaných modulech. Pokud se nebude brát relativní cesta k modulu, tak bude asi v každém projektu banda symlinků do adresáře s jádrem
    • rozdělení na vývojový prostor (přes zabudovaný server) a staging + produkční prostředí (Apač). Staging je ve VCS a reflektuje jeho aktuální stav, releasnuté verze se kopírují do produkčního prostředí.
    • databáze prozatím oddělené na vývoj a produkci, ke každému releasu budu vytvářet CREATE SQL skript

    Nějaké nápady na vylepšení? :-)

    Josef Kufner avatar 11.12.2009 14:23 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    • databáze prozatím oddělené na vývoj a produkci, ke každému releasu budu vytvářet CREATE SQL skript
    Budeš potřebovat i nějaký způsob, jak databázi upgradovat a kontrolovat shodu s předlohou. Jakmile máš víc instalací, každou v jiné verzi a ... no je v tom bordel ;-)
    Hello world ! Segmentation fault (core dumped)
    stativ avatar 10.12.2009 21:32 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Je ale otázka, „jaké“ merge potřebuješ. Pokud jde jenom o mergování dvou branches, tak to svn zvládá prakticky stejně dobře jako proklamované DVCS. Ale pokud jde o mergování jen několika konkrétních změn tak je to na prdel.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    11.12.2009 07:32 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Pokud jde jenom o mergování dvou branches, tak to svn zvládá prakticky stejně dobře jako proklamované DVCS.
    Dovolim si nesuhlasit. Na jednom projekte som to bol nuteny robit, a skutocne to nechcem viac zazit. Stacili dve spravne premenovania suborov v sekvencii par stovak komitov do jednej vetvy a SVN nezvladol tu vetvu mergnut naspat do trunku, v ktorom po oddeleni zmienenej vetvy nedslo k ziadnej zmene. Ja mam Subversion rad a pouzivam ho spokojne uz cca 7 rokov. Ale subversion a merge, to je pre masochistov.
    11.12.2009 12:44 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Je aj to vylepšené merge v SVN 1.5+ stále nepoužiteľné?
    11.12.2009 19:31 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Uprimne povedane, ten wannabe cherrypicking som vtedy nemal nervy testovat na projekte, a momentalne to uz nepotrebujem. Aktualne sa zoznamujem s Mercurial Queues. :-D
    Josef Kufner avatar 11.12.2009 14:26 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Ale pokud jde o mergování jen několika konkrétních změn tak je to na prdel.
    A to se v takovýchto projektech dělá docela často. Někde něco opravíš nebo uděláš nějakou fićurku a chceš jí dostat do hlavní větve. A merge nestačí, protože chceš přenést jen tu jednu změnu a ne všechny změny... Backportování oprav do starších instalací, které nechceš z jakéhokoliv důvodu upgradovat je další častý případ.
    Hello world ! Segmentation fault (core dumped)
    12.12.2009 18:09 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Přesně tohle potřebuji. Mám tu momentálně dvě verze (protože tu starší jsem byl líny aktualizovat), které většinu kódu sdílejí. Ale v té novější už jsou opravené chyby, které v té starší ještě zůstaly.

    Backportem fixu by se to vyřešilo aniž bych se musel drbat s aktualizací na poslední verzi což vyžaduje změnu schémata databáze a...zlomení SHA2-256 jelikož se změnil způsob ukládání hesel (statický salt => dynamický salt) a v databází už je mnoho uživatelských účtů. Nebo vyrobit nějaký mezistupeň, který postupně převede lidi, tak, jak se budou přihlašovat, na nové hashe. To je ale přesně to, co se mi nechce dělat :-)
    Josef Kufner avatar 12.12.2009 19:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Che che che ... to znám :-D

    Jo,... potřebuješ git cherry-pick a možná i ten rebase :-D
    Hello world ! Segmentation fault (core dumped)
    13.12.2009 10:33 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Pokud potřebuješ hlídat více velmi podobných projektů, tak se zcela jednoznačně vyhni velkým obloukem SVN. Místo toho použij Git nebo něco jiného, co umí merge.
    Proč podle Vás neumí SVN merge?
    In Ada the typical infinite loop would normally be terminated by detonation.
    Josef Kufner avatar 13.12.2009 12:19 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    V SVN je merge coby funkce na řešení výjimečných situací a podle toho také vypadá – je prostě neskutečně hloupý. Nějaká ta základní funkčnost tam je, ale tím to tak končí.

    Kdežto v Gitu je to základní a životně důležitá funkce, a proto je jí věnována značná pozornost. Vlastně se merge dělá skoro pořád. A už mnohokrát mne překvapilo, jaké obludnosti prošly naprosto hladce, úspěšně a hlavně bez ručního zásahu.
    Hello world ! Segmentation fault (core dumped)
    13.12.2009 13:00 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    V SVN je merge coby funkce na řešení výjimečných situací
    A proto je jí věnována celá kapitola v návodu?

    http://svnbook.red-bean.com/en/1.0/ch04.html

    Já žiju v domnění, že se v SVN dá merge použít (a taky jej tak používám) stejně jako v Gitu, možná s nějakým rozdílem v rychlosti. Pokud víte o něčem specifickém, kde SVN pokulhává tak sem s tím.
    In Ada the typical infinite loop would normally be terminated by detonation.
    13.12.2009 13:02 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    PS. ten odkaz by měl vést spíše na http://svnbook.red-bean.com/nightly/en/svn.branchmerge.html
    In Ada the typical infinite loop would normally be terminated by detonation.
    Josef Kufner avatar 11.12.2009 14:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Btw, SVN také ztrácí kompletní historii smazaných souborů v okamžiku, kdy se vytvoří nový stejnojmený soubor. Skoro bych řekl, že to je u VCS smrtelná chybička.
    Hello world ! Segmentation fault (core dumped)
    14.12.2009 12:59 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    To není a ani nemůže být pravda. Při každém commitu se vytvoří nová kopie celého stromu. Možná vás mate to, že pokud smažete soubor a vytvoříte nový, nevidíte historii toho starého - ALE TO JE DOBŘE. Historie ale zachovaná je a dostanete se k ní třeba když si vytáhnete starší revizi stromu. (Projistotu sem si to celé u sebe odzkoušel)
    never use rm after eight
    Josef Kufner avatar 14.12.2009 13:32 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Nene, nemate mě to. Samozřejmě že při svn log je vidět jen historie toho nového souboru, to je v pořádku. Ale už není v pořádku to, že při explicitním uvedení revize to už nenajde historii toho starého, protože ten nový tou dobou neexistoval. Kdysi jsem na to našel i záznam v bugzille nebo nějakou celkem velkou diskusi, ale nechce se mi to hledat znovu.
    Hello world ! Segmentation fault (core dumped)
    15.12.2009 07:08 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
    Rozbalit Rozbalit vše Re: Správa více variant projektu -- volba vhodného nástroje
    Jak sám píšete. Možná chyba starší verze. V současné době (u mě svn 1.6.6) při uvedení revize dotáhne správný soubor a svn log zobrazuje historii "smaazaného" souboru
    never use rm after eight

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.