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 11:33 | Nová verze

    Emulátor terminálu kitty (Wikipedie, GitHub) byl vydán v nové verzi 0.50.

    Ladislav Hagara | Komentářů: 0
    dnes 09:00 | Bezpečnostní upozornění

    Vývojáři C-Kermit oznámili několik dlouhodobě přítomných zranitelností. Patří mezi ně buffer overflow v Telnet/FTP klientovi a command injection v Kermit serveru. Dotčené verze: C-Kermit 11.0.514 a starší. Fix: 11.1.515 [oss-security].

    vencour | Komentářů: 0
    dnes 02:44 | Nová verze

    Byla vydána nová verze 3.2.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

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

    Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »

    lkocman | Komentářů: 0
    včera 16:00 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 15:44 | Zajímavý článek

    Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit

    … více »
    👻 | Komentářů: 5
    včera 14:00 | Komunita

    Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.

    VSladek | Komentářů: 0
    včera 13:55 | IT novinky

    Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.

    ʚĭɞ 🍉 | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2972 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: SVN detekce změny v konkrétní funkci

    Beda0 avatar 31.10.2017 09:49 Beda0 | skóre: 29
    SVN detekce změny v konkrétní funkci
    Přečteno: 764×
    Zdravím, potřeboval bych "nějak" zjistit, jestli došlo ke změně v konkrétní funkci v jednom ze souborů v SVN (C# zdrojáky).

    Nějakým skriptem, který budu spouštět přes make, bych potřeboval zjistit, jestli v jedné (časem asi i ve více) funkcích nedošlo ke změně... SVN umí zjistit změny v souboru, k těm ale dochází dost často - na jiných místech. Potřeboval bych nějak detekovat jen změny v konkrétní C# funkci.

    Napadlo mě zaznamenat začátek definice funkce a její délku (počet řádků). V původní revizi najít začátek funkce a zkopírovat daný počet řádků. To samé v aktuální revizi. Pokud jsou texty stejné je to OK, jinak vyhodit nějakou hlášku / poslat mail...

    Připadá mi to jako docela běžný požadavek, ale nenarazil jsem na hotové řešení. Existuje něco? Jde to nějak jednodušeji?

    Díky

    Řešení dotazu:


    Odpovědi

    31.10.2017 10:20 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Běžným požadavkem je mít každou třídu a každou funkci v samostatném souboru.

    Pokud k těm změnám souboru dochází každou chvíli na různých místech, zamyslel bych se nad SRP, který tě těchto skopičin zbaví.

    BTW: V C# se používají nějaké funkce?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Beda0 avatar 31.10.2017 11:29 Beda0 | skóre: 29
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Myslel jsem metody... Bylo by hezké, kdyby byly zdrojáky členěny tak jak mají. Bohužel to nemůžu ovlivnit - musím s tím jen občas pracovat.
    31.10.2017 11:51 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Napiš si na tu metodu jednotkový test. Pokud neprojde, tak máš jistotu, že v té metodě došlo k nějaké změně.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Beda0 avatar 31.10.2017 12:09 Beda0 | skóre: 29
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Ale pokud projde, nemám jistotu, že k žádné změně nedošlo ;-)

    Navíc je to C# pro windows, na linuxu to nezkompiluju.
    2.11.2017 18:15 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    na linuxu to nezkompiluju.

    To je tak složitý projekt, že ho Mono prostě nedá? :-) Většinou to nějak jde.

    Beda0 avatar 3.11.2017 07:43 Beda0 | skóre: 29
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Ano, je to tak složitý (několik tisíc zdrojáků, některé s několika desítkami tisíc řádků) - proto dělám celou tuhle šaškárnu s hledáním změn v metodách... Navíc i kdybych obětoval hromadu času abych to "nějak" rozběhal s mono (což podle mě stejně nepůjde kvůli závislostem), tak mi to s problémem nepomůže.
    Řešení 1× (Beda0 (tazatel))
    Jendа avatar 31.10.2017 17:50 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Nějak (nejčistší by bylo udělat parser ve Flexu, ale i nějaké naprasení typu regexp + počítání otevíracích a uzavíracích závorek by mělo rozumně fungovat) zjistit rozsah řádků funkce a pak se podívat na dané řádky svn blame.
    Beda0 avatar 3.11.2017 07:52 Beda0 | skóre: 29
    Rozbalit Rozbalit vše Re: SVN detekce změny v konkrétní funkci
    Díky na nasměrování, vyřešeno.

    Splácal jsem to vy pythonu. Do csv si ukládám kus řádku s definicí metody - návratový typ a jméno, cestu ke zdrojáku a poslední revizi ve které došlo ke změně o které vím. Regexpem vytáhnu celou funkci a spočítám počet řádků, grepem najdu první řádek a z "svn blame -x -b" zjistim revize - vezmu max a mam hotovo.

    Kouzelnej regexp na počítání řádků:
    
    method = "bool methodName"
    methodregex = method.replace(' ', '\s+') + r"[^{}]+(?<rec>\{(?:[^{}]++|(?&rec))*\})"
    result = regex.search(methodregex,text,flags=regex.VERBOSE)
    nlines = int(result.captures('rec')[-1].count('\n') + 1)

    Založit nové vlákno • Nahoru

    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.