#51 15. 8. 2009 12:33

Petr Motejlek
Nette guru
Registrovaný: 9. 1. 2009
Příspěvky: 283

Re: Přechod Subversion (SVN) → Git

No lol — co začalo jako přechod mezi SVN a Mercurial, skončilo jako přechod mezi SVN a GIT — škoda, že mě víc zaujal Mercurial…

Offline

 

#52 15. 8. 2009 15:25

Ondřej Brejla
Nette guru
Místo: Praha
Registrovaný: 20. 4. 2008
Příspěvky: 439
Web

Re: Přechod Subversion (SVN) → Git

Co prosím? Pokud jsem správně četl, tak David zkouší obě varianty, protože si sám není jist, co je to pravé ořechové…

Nač stahovat kalhoty, když brod je ještě daleko, že ano ;-)

Offline

 

#53 15. 8. 2009 16:02

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4050
Web

Re: Přechod Subversion (SVN) → Git

Teď se dívám, že na http://github.com/…mmits/master si ty revize nějak číslují, zajímalo by mě jak.

Offline

 

#54 15. 8. 2009 19:48

Petr Motejlek
Nette guru
Registrovaný: 9. 1. 2009
Příspěvky: 283

Re: Přechod Subversion (SVN) → Git

Warden napsal(a):

Co prosím? Pokud jsem správně četl, tak David zkouší obě varianty, protože si sám není jist, co je to pravé ořechové…

Nač stahovat kalhoty, když brod je ještě daleko, že ano ;-)

Viz post #41 ;) Stejně je to ale jedno; možná je dokonce i lepší, že Nette bude na Gitu, alespoň budu moct přihodit Nette přímo do projektu i s metadaty Gitu a občas udělám pull & update Nette na novou verzi, kterou po odzkoušení commitnu do Mercurial repository projektu ;).

Offline

 

#55 15. 8. 2009 19:57

Ondřej Brejla
Nette guru
Místo: Praha
Registrovaný: 20. 4. 2008
Příspěvky: 439
Web

Re: Přechod Subversion (SVN) → Git

To je sice zajímavý post, ale to ještě David nevěděl, jaká to bude mít všelijaká úskalí, takže jak to dopadne se ještě neví ;-) Ale ono to nějak dopadne…:-)

Offline

 

#56 16. 8. 2009 3:05

PetrP
Moderator
Místo: Praha
Registrovaný: 15. 7. 2008
Příspěvky: 610
Web

Re: Přechod Subversion (SVN) → Git

David Grudl napsal(a):

Teď se dívám, že na http://github.com/…mmits/master si ty revize nějak číslují, zajímalo by mě jak.

Vypadá to že si jen čísla revizí sami píšou do komentářů ke commitům ;]

Jinak ten github je až k breku pomalej, a to jak „vygenerování“ stránky tak při renderování stránky mi na několik vteřin zamrzne i celej prohlížeč… ;/

Offline

 

#57 16. 8. 2009 9:45

Nilp
Člen
Registrovaný: 11. 5. 2009
Příspěvky: 30

Re: Přechod Subversion (SVN) → Git

Problemy s rychlosti jsou u GitHubu celkem zname, ale zda se ze se nejak resi, viz treba http://support.github.com/…me-very-slow. Jinak dalsi repository hosting pro Git je napr. Gitourious.

Editoval Nilp (16. 8. 2009 9:51)

Offline

 

#58 16. 8. 2009 11:37

Jerry123456789
Člen
Registrovaný: 29. 12. 2008
Příspěvky: 37

Re: Přechod Subversion (SVN) → Git

Jen takovej nápad k číslování revizí – na commit si na GitHubu zavěsit hook-script (např na nette.org) který dostane json informace o repository a commitu atd. (více v Guides). Ten by přidal do pole (např serializovaného do souboru) info ve tvaru cislo_prave_pridane_revize ⇒ hash_prave_pridane_revize (cislo získat z komentáře regexpem, jako u toho mangosu). Takže by bylo možné jednoduše převádět mezi číslem revize a jejím hashem (třeba url http://nette.org/hash2rev/562 a /rev2hash/…, kvůli dostupnosti i na ne-nette webu, nebo na foru/nette webu funkcemi(možná i jako dodatek k Texy syntaxi (jen tady na fóru/dokumentaci))).


42

Offline

 

#59 16. 8. 2009 22:58

abtris
Nový člen
Místo: Praha
Registrovaný: 16. 8. 2009
Příspěvky: 2
Web

Re: Přechod Subversion (SVN) → Git

Jenom by me zajímalo jak vyřeší se verzovaní v dokumentaci (phpdoc).

/**
 * @version $Id$
 */

Právě kvůli tomuto problému jsem migroval projekty na Mercurial a ne na Git. Nechtělo se mi vracet se k ručnímu číslování. Linus má svůj názor k čemu RCS keywords a tak ani do budoucna se podpory v Gitu asi nedočkáme.

Offline

 

#60 18. 8. 2009 16:31

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4050
Web

Re: Přechod Subversion (SVN) → Git

Zjišťuju, že jsem asi udělal blbost, když jsem nechat SVN přeimportovat do Gitu přes GitHub a ne přes git-svn, protože jsem si tím odřízl možnost zpětně mirrorovat změny na SVN. Takže asi nezbude než SVN definitivně poslat do věčných lovišt

Na druhou stranu, proč vlastně SVN udržovat? Samotný GitHub nabízí dostatek prostředků, jak se zdrojáky pracovat, aniž by člověk Git měl (včetně stažení klonu jako archivu ZIP). Pro případ, že se rozhodne Git použít připravím lehký úvod k instalaci na stránku [download]. Vytvoření klonu je stejně snadné jako u SVN.

Posledním „důvodem“ zůstává svn:externals. Píšu v uvozovkách, protože automatické používání night build není zrovna košér praktika. Tady asi nezbude než je nahradit za volání odpovídajícího git příkazu.

(ps. teoreticky by možná šlo Git znovu převést do SVN)

Offline

 

#61 18. 8. 2009 17:04

Jod
Nette guru
Registrovaný: 24. 9. 2008
Příspěvky: 790
Web

Re: Přechod Subversion (SVN) → Git

Veľké veci si žiadajú veľké obete :D


Všetko je v Akrabat.forms v examples distribúcie. Zomg, puff..

Offline

 

#62 18. 8. 2009 17:22

nAS
Nette guru
Místo: Praha
Registrovaný: 18. 12. 2008
Příspěvky: 210
Web

Re: Přechod Subversion (SVN) → Git

Zrovna jsem se chtěl zeptat, zda by šlo GIT mirrorovat zpět na SVN :) No co už, holt nainstaluji TortoiseGit.


$application->run(); // Run Forrest, run!

@MartinMajor

Offline

 

#63 18. 8. 2009 18:38

Honza Kuchař
Moderator
Místo: Brno
Registrovaný: 12. 8. 2007
Příspěvky: 1285
Web

Re: Přechod Subversion (SVN) → Git

A nešel by napsat nějaký skript co by třeba přes exec vždy překopičil změny na SVN?

Offline

 

#64 18. 8. 2009 18:50

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4050
Web

Re: Přechod Subversion (SVN) → Git

Napiš, použiju ho.

Offline

 

#65 19. 8. 2009 10:51

Petr Motejlek
Nette guru
Registrovaný: 9. 1. 2009
Příspěvky: 283

Re: Přechod Subversion (SVN) → Git

Nemám problém s tím, že je to na Gitu, jen ještě k tomu svn:externals — svn:externals se hodí, když projekt vyvýjí více lidí a někdo si dá tu práci, aby přes svn:externals nechal automaticky stahovat nějaký tag (verzi), se kterou zbytek aplikace v pohodě běží. Když jsem někde výše psal, že je škoda, že svn:externals není, neměl jsem na mysli, že nejde automaticky stahovat nejnovější verzi Nette, vadí mi, že teď, když přijde vývojář, tak musí stáhnout projekt, kde bude pracovat a pak ručně dostahovat správné verze Nette a Dibi ;). S svn:externals to šlo automatizovat na jeden svn checkout, který tomu člověkovi automaticky sosnul i správné verze Nette a Dibi — nicméně jak určitě někdo navrhne, i tohle se dá řešit jinak, podle mě by to mělo umět řešit nějak IDE už v rámci projektu (který si tak jako tak ten vývojář stejně musí stáhnout) — někde tam by mělo být napsáno, že projekt vyžaduje Nette a Dibi ve specifických verzích, které jdou nalézt na svých repozitářích — fakt ale nevím, jestli tohle nějaké samotné IDE řešit umí, troufal bych si říct, že by něco takového šlo řešit přes Maven, ale když jsem tuhle experimentoval s jeho podporou pro PHP, docela slušně jsem narazil :(.

Další, co mě docela zarazilo je následující: v repozitářích Nette i Dibi to je tak, že hned v kořeni je spousta věcí, které běžně vůbec nepotřebuju — extras, examples, 3rdParty, atd. — u svn jsem mohl checkoutovat např. nette.googlecode.com/svn/trunk/Nette a stáhlo se mi jen čisté Nette, bez příkladů apod. U Dibi je to to samé, tak jsem checkoutoval dibi.googlecode.com/svn/trunk/dibi a dostal jsem jen Dibi. Git tohle neumí (Nejspíš je to dáno tím, že metadata nejsou jako u Svn v celém stromu, ale jen v kořeni, který by se nestáhl, kdybych checkoutnul jen podadresář.), když nad tím ale přemýšlím, je otázka, jestli je vůbec dobře mít to takhle pohromadě v jednom repozitáři; vím, že ty věci spolu úzce souvisí (Nette příklady si bez samotného Nette pustím asi špatně.). Díky tomu, že vytvoření nového repozitáře „nic nestojí“ bych byl pro zvážení, jestli neudělat těch repozitářů víc — třeba jen Nette (kde budou fakt jen zrdojáky Nette) a Nette-additional (kde bude zbytek) — to stejné pro Dibi.

EDIT: Omlouvám se za dlouhý příspěvek :).

Editoval Petr Motejlek (19. 8. 2009 10:59)

Offline

 

#66 19. 8. 2009 11:38

romansklenar
Moderator
Místo: Ostrava
Registrovaný: 20. 7. 2008
Příspěvky: 769
Web

Re: Přechod Subversion (SVN) → Git

Ještě Davide svn repozitář na google codu nezabíjej prosím :) pokud budeš při vývoji na gitu používat tagování nějakých větších releasů jako 0.9.1 atd, tak se nabízím k tomu, že budu importovat tyto releasy do SVN pod tagy alespoň pro stable verze a tím je situace s externals vyřešená.

Offline

 

#67 19. 8. 2009 18:46

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4050
Web

Re: Přechod Subversion (SVN) → Git

romansklenar napsal(a):

Ještě Davide svn repozitář na google codu nezabíjej prosím :) pokud budeš při vývoji na gitu používat tagování nějakých větších releasů jako 0.9.1 atd, tak se nabízím k tomu, že budu importovat tyto releasy do SVN pod tagy alespoň pro stable verze a tím je situace s externals vyřešená.

V podstatě to tak dělám – komituju tam stable release s dovětkem, že repozitář se přesunul.

Offline

 

#68 19. 8. 2009 23:05

Petr Motejlek
Nette guru
Registrovaný: 9. 1. 2009
Příspěvky: 283

Re: Přechod Subversion (SVN) → Git

Ještě mě napadla jedna věc — když se tady řešily ty hooky pro nové tagy, napadlo mě něco, co myslím, je zajímavější: všiml jsem si, že minified verze nejsou k dostání v Git repozitáři, ale pouze na stránkách Nette (a Dibi) v sekci Download — vím, že David používá nějaký skript na minifikaci; šlo by ten skript hooknout na každý commit? Automaticky by se mohly generovat minified verze ;).

Offline

 

#69 20. 8. 2009 0:53

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4050
Web

Re: Přechod Subversion (SVN) → Git

Chtěl jsem to tak dělat (už na SVN), ale nepodařilo se mi na serveru zprovoznit generování phpDoc.

Offline

 

#70 20. 8. 2009 8:33

Petr Motejlek
Nette guru
Registrovaný: 9. 1. 2009
Příspěvky: 283

Re: Přechod Subversion (SVN) → Git

K čemu ten phpDoc používáš? Nenapadlo by mně, že pro generování minified verze to budeš potřebovat ;).

Offline

 

#71 20. 8. 2009 18:07

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4050
Web

Re: Přechod Subversion (SVN) → Git

Pro minified verzi samozřejmě potřeba není. Chtěl jsem na server přesunout kompletní generování distribučních balíčků včetně API dokumentace a spouštět je přes post notifikaci, ale tím, že jednu část musím stále generovat na svém komplu, to ztratilo na efektivitě.

Offline

 

#72 20. 8. 2009 20:01

Petr Motejlek
Nette guru
Registrovaný: 9. 1. 2009
Příspěvky: 283

Re: Přechod Subversion (SVN) → Git

Tomu rozumím, to musí být otrava…

Offline

 

#73 21. 8. 2009 14:36

Cifro
Člen
Registrovaný: 6. 2. 2007
Příspěvky: 175

Re: Přechod Subversion (SVN) → Git

Prednaška o gite.

GitCasts: RailsConf Git Talk


Twitter: @Cifro

Offline

 

#74 23. 8. 2009 11:46

jasir
Nette guru
Místo: Praha
Registrovaný: 4. 12. 2008
Příspěvky: 626

Re: Přechod Subversion (SVN) → Git

Když už je Nette na githubu, nestálo by za to začít používat i integrovaný Issue Tracker? Takto jsou bygy často skrýté někde na fóru, jejich hlášení se opakují a je poměrně komplikované udržet si přehled co je a co není fixnuto.

Offline

 

#75 21. 11. 2009 4:56

jasir
Nette guru
Místo: Praha
Registrovaný: 4. 12. 2008
Příspěvky: 626

Re: Přechod Subversion (SVN) → Git

Je zajímavé si toto vlákno si přečíst po téměř 4 měsících pročítat. Myslím, že všechny obavy s používání Gitu padly, nezaznamenal jsem zde na fóru jediný problém. Git já osobně nyní používám už 8 měsíců a jsem navýsost spokojen. Docela hodně by mě zajímalo, kolik lidí tady z fóra se na základě (nejen) tohoto vlákna rozhodli přejít na Git a jak jsou spokojeni oni…

Já se v podstatě potýkám (dělam na Windows) jen s různými konci řádků CR/LF, které se někdy prostě rozhodnou chovat divně. Většinou to napravím pomocí config directivy autocrlf, ale nějak jsem asi nepochopil její význam, někdy tam musí být input, někdy true, někdy false :-), už jsem z toho volaký zmatený. Nevíte někdo jak tohle jednou provždy vyřešit?

Petr Motejlek napsal(a): Další, co mě docela zarazilo je následující: v repozitářích Nette i Dibi to je tak, že hned v kořeni je spousta věcí, které běžně vůbec nepotřebuju — extras, examples, 3rdParty, atd. — u svn jsem mohl checkoutovat např. nette.googlecode.com/svn/trunk/Nette a stáhlo se mi jen čisté Nette, bez příkladů apod.

a pak tento „pseudo“ problém. Sám ho řeším tak, že mám v hlavních adresářích nette,dibi soubor netterobots.txt zakazující přístup do examples apod. Myslím, že by to ani v distribuci ničemu neuškodilo.

Jinak co se týče nástrojů, TortoiseGit nyní prakticky využívám ke změně ikonek v systému, nejlépe se mi pracuje v příkazové řádce a git-nativním grafickém nástroji (tak 70% ku 30% pro shell).

A na závěr takový malý tip pro uživatele PhpEdu : hoďte si do gitu jeho configurační adresář.

Editoval jasir (21. 11. 2009 5:03)

Offline

 

Zápatí