abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:00 | Zajímavý software

    Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom

    … více »
    Cohen | Komentářů: 0
    dnes 01:55 | Nasazení Linuxu

    CERN dlouhodobě používal vlastní sestavení RHEL, ze kterého přešel na CentOS Stream. Federico Vaga a Nikos Tsipinakis ale nyní v přednášce na MiniDebConf Winterthur 2026 popisují plán probíhajícího přechodu na Debian pro řízení akcelerátorů. Důvodem k opuštění CentOS Stream jsou zachování zpětné kompatibility se starším hardwarem, kterou Red Hat narušuje, když tlačí sestavení balíčků pro novější verze architektury (x86-64), a nedostatečné nástroje pro sestavování vlastních balíčků a repozitářů.

    |🇵🇸 | Komentářů: 5
    dnes 01:44 | Nová verze

    UZDoom (Wikipedie), tj. fork GZDoom, byl vydán ve verzi 5.0.0. Videopředstavení na YouTube. Podrobný přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Nová verze

    Příručka Linux From Scratch pro sestavení základního linuxového systému byla aktualizována v pravidelném půlročním termínu. Vydání 13.1 shrnuje přes 40 nových verzí balíčků a několik patchů. Navazující příručka Beyond Linux From Scratch s recepty pro sestavení dalších knihoven a aplikací zatím vydána nebyla, ačkoliv vývojová verze stále dostává aktualizace. Lze je číst online nebo stáhnout v HTML či PDF.

    |🇵🇸 | Komentářů: 0
    včera 12:44 | IT novinky

    Národní bezpečnostní tým CSIRT.CZ koordinovaný sdružením CZ.NIC přichází se službou Strážci internetu, která má sjednotit způsob hlášení doménových jmen zneužívaných k páchání trestné činnosti. Službu mohou uživatelé využívat také prostřednictvím rozšíření do prohlížeče. Nový nástroj podporuje jak hlášení vyžadující autorizaci, tak anonymní reporting, u kterého však nebude možné zapojit takovou míru automatizace jako u

    … více »
    Ladislav Hagara | Komentářů: 18
    včera 12:22 | Komunita

    Firefox pro iOS přichází s integrovaným blokováním reklam. Funkce je ve výchozím nastavení vypnutá a lze ji aktivovat v Settings > Browsing > Ad Blocker.

    Ladislav Hagara | Komentářů: 2
    včera 11:22 | IT novinky

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila (𝕏) open-source robota Microduck. Předobjednat jej lze za 340 eur.

    Ladislav Hagara | Komentářů: 2
    včera 10:55 | Nová verze

    Open-source autonomní AI agent OpenClaw (Wikipedie) byl vydán ve verzi 2026.8.1 aneb 2.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    1.9. 18:55 | Nová verze

    Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším

    … více »
    Ladislav Hagara | Komentářů: 2
    1.9. 15:55 | Nová verze

    Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (3%)
     (20%)
     (29%)
     (7%)
     (5%)
     (2%)
     (15%)
     (21%)
    Celkem 2556 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Git, bad practice a jak z toho ven - brainstorming

    11.3.2012 21:25 | Přečteno: 1697× | SW

    Zákazník požaduje vývoj na svém ostrém serveru, já mám kopii přez GIT repozitáře, ale rád bych změnil výrazně strukturu u sebe, abych mohl vše instalovat jako balíčky distribuce. Ale zároveň potřebuju backportovat změny z ostrého serveru. Jak se toho nejlíp zhostit?

    Dostal jsem se do mírně delikátní situace u jednoho zákazníka a přemýšlím jak z ní nejlíp ven. Vztahy máme dlouhodobě výborné, spokojenost na obou stranách a tak dál a tak dál.

    Ale některé jeho požadavky mi dělají trochu starosti. Spravuju a vyvýjím mu systém na míru, z části postavený i na webových stránkách (a z větší části na nich vlastně nezávislý, ale tato část je v pohodě.) Ten systém jsem kdysi zdědil, posléze přepsal od základů do příčetnější podoby a dlouhodobě ho rozvíjím a udržuju. Za ta léta se už dá vypozorovat cyklus, kdy dlouhou dobu všechno je v pohodě, vlastně nic nechtějí a já si můžu dělat co chci (čili chystat nové featury). Pak se najednou všechno zblázní a předělává se webové rozhraní stylem "před hodinou bylo pozdě", jednou rukou telefonuju, druhou přepisuju a uchem slyším, jak oni komentujou změny. Pak se prach usadí a zase delší dobu klid. Takhle prostě fungujou a to se nezmění.

    Ano - vyvýjet na ostrém serveru je Bad Practice jako vyšitá, ale klient to požaduje kvůli rychlosti odezvy a platí dobře, takže náš zákazník, náš pán. Co si okolo toho udělám v zákulisí ho netrápí, v tom mám volnou ruku.

    Z historických důvodů je v systému několik různých způsobů, jak nasazovat nové věci - od relativně jednoduchých konzervativních, kdy si vše připravím a pak skriptem nahrávám otestované balíky do příslušných adresářů, až po klasický nouzový, kdy exponovanou webovou část mám uloženou v GITu na ostrých serverech (mají jich víc, polonezávislých), synchronizuju přez svůj centrální gitserver a na NB kde obvykle pracuju.

    Zatím to chodilo celkem dobře, když se zjančili, tak jsem vše ohackoval na serveru, poté syncnul a rozdistribuoval, následně doladit speciality jednotlivých serverů. Tato část měla hlavní repozitář jako přímou kopii struktury na serveru, časem se na ni nabalila řada skriptů, přílepků, dodatků a jiných nesouvisejících věcí a teď nastal okamžik, kdy už to přestává být únosné.

    Takže jsem opásal bedra svá a jal se opět kydat Augiášův chlív. Polovinu věcí jsem rozházel do desítek balíčků, každý ve vlastním repozitáři, vytvořil si svůj PORTAGEOVERLAY, kam to sypu a odkud to instaluju jako všechny systémové záležitosti. Zatím to funguje skvěle a věci složité se najednou stávají opět přehlednými - rozhodně je lepší instalovat novou verzi stylem "emerge --update @world" a nechat na distribuci, ať si sama zjistí, co potřebuje, kam to patří a co je třeba vyčistit, než na to všechno psát nějaké ad-hoc skripty.

    Problém je s tím webovým rozhraním - logicky se rozpadá na několik balíčků, ale zatím žije v jednom repozitáři. A je potřeba zajistit zpětnou propagaci nasekaných změn ze serveru zpět do mého (nyní již vyčištěného a přeorganizovaného) vývojového prostředí.

    Takže přemýšlím, jak si věci zorganizovat v zákulisí, abych s tím měl v dlouhodobém výhledu co nejmíň práce.
    server1 \
    server2  +--- gitserver --- NB
    server3 /
    
    server* -- WWW.git

    NB -- WWW.git, balik1.git, balik2.git, balik3.git .....

    přičemž WWW.git obsahuje zhruba tytéž soubory jako souhrn všech balíků, ale v docela jiném uspořádání, co se týče adresářů (z historických důvodů a protože na serveru je to takhle nahňácané dohromady)

    Požadovaný workflow:

    WWW.git (server) --> WWW.git (NB) --> magie --> balik*.git --> balik*.ebuild --> sync NB..server --> emerge world --> přepsání souborů ve WWW.git

    V podstatě bych potřeboval, abych byl schopný nějakým (polo)automatickým způsobem vzít na NB z WWW.git repozitáře soubory i s historií změn od poslední synchronizace a rozhodit je do příslušných balik*.git, s tím, že se tam přenesou i ty commit hlášky.

    A po reinstalaci balíčků na server nějak podchytit nainstalované změny (teoreticky by to měl vychytat WWW.git(server), že by mu vyšlo, že ačkoliv jsou soubory přepsané, tak je obsah stejný, takže vše OK, nebo že se cosi pozměnilo a umožnit mi to dořešit, zda jde o nový vývoj z NB, nebo zda to přepisuju zastaralou verzí, která nějak unikla aktualizaci.)

    Git mám celkem už ochočený, ale na to jak vymyslet tuhle vychytávku jsem ještě nepřišel. (Zatím mi vychází nějaké dost složité přehrávání histori pomocí bashových skriptů a strašná spousta skriptů definujících, co kam překopírovat. Ale pořád se mi zdá, že to musí jít udělat nějak jednodušeji)        

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 11.3.2012 23:15 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Git, bad practice a jak z toho ven - brainstorming
    Kdyby to bylo čistě jen v Gitu, tak bych si držel jeden hlavní repositář a servery z něj updatoval automaticky, ale s manuálním spouštěním (aby se to nerozbilo samo). Hezky si to tagoval (git describe je fajn) a případně větvil. V nějakém konfiguráku bych mohl mít, který server má mít jakou větev/tag nainstalovanou a synclo by se to po pushnutí změn do toho hlavního repositáře.

    No a když by byly na nějakém serveru lokální změny (pár commitů), tak by se udělal git pull --rebase, čímž by změny zůstaly na povrchu historie a bylo by snadné je přetáhnout (git cherry-pick) do hlavního repositáře.
    Hello world ! Segmentation fault (core dumped)
    Gilhad avatar 12.3.2012 01:24 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: Git, bad practice a jak z toho ven - brainstorming
    Tak jsem premyslel jak bych popsal co nejlepe co si myslim, ze by mi mohlo pomoct:

    Normalne mam projekt na notebooku ktery ma branch master a jeho origin/master je na jinem serveru. prikazy push/fetch synchronizuji origin/master na NB s tim na serveru. git merge origin/master mi pretahne zmeny do mojeho projektu.

    Co by se mi libilo by bylo mit takhle dva (ci vice) projektu, kazdy by mel svuj origin/master na nejakem serveru, ale jeste navic by mely dva adresare mezi sebou navazany obdobny vztah
    Projekt_jedna
    +--A
    +--B (svazan s Projekt_dva--B)
    +--C
    
    Projekt_dva
    +--D
    +--E
    +--B ("origin" pro Projekt_jedna--B)
    +--F
    
    takze bych mohl udelat
    cd Projekt_jedna/B
    git fetch Projekt_dva/B
    git merge Projekt_dva/B
    git push Projekt_dva/B
    
    a ten fetch/merge/push by se tykal jen toho podstromu B a jeho protejsku B v druhem projektu.

    Myslim, ze jsem nekde zahledl cosi o sub-projektech, ale tehdy to nepochopil a nepotreboval - zkusim si to precist znovu, treba to nekam vede
    Gilhad avatar 12.3.2012 01:46 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: Git, bad practice a jak z toho ven - brainstorming
    Tesne vedle :) Neco zajimaveho je o kapitolu dal (a dost s tim souvisi)

    http://progit.org/book/ch6-7.html

    necham si projit hlavou, jestli a jak by to slo zkombinovat
    Josef Kufner avatar 12.3.2012 10:48 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Git, bad practice a jak z toho ven - brainstorming
    Git submodule. B dej do samostatného repositáře a v ostatních ho přidáš jako submodul. Na serveru pak uděláš namísto git pull trošku složitější operaci: git pull && git submodule update.
    Hello world ! Segmentation fault (core dumped)
    12.3.2012 10:34 Bubu
    Rozbalit Rozbalit vše Re: Git, bad practice a jak z toho ven - brainstorming
    Vy pouzivate Gentoo na produkcnim serveru? WTF?
    12.3.2012 11:57 SPM | skóre: 28
    Rozbalit Rozbalit vše Re: Git, bad practice a jak z toho ven - brainstorming
    No a? Já ho na svých serverech mám taky a nemám s ním žádný problém.
    Gilhad avatar 12.3.2012 14:59 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: Git, bad practice a jak z toho ven - brainstorming
    Ano, co je s tim za problem? Nikde prece neni psano, ze musim updatovat denne. U stabilni verze muzu vydrzet tak dlouho, dokud nepotrebuju novou vlastnost, nebo odstranit kritickou zranitelnost. Plus mi jako distribuce sedi nejlip.

    Založit nové vláknoNahoru

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