<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Jaros&#322;aw Zabie&#322;&#322;o - BLOG: Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em</title>
    <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em</title>
      <description>&lt;p&gt;&#346;wiat technologii IT zmienia si&#281; coraz szybciej. Nie min&#281;&#322;o wiele lat od dosy&#263; masowego przechodzenia &lt;a href="http://pl.wikipedia.org/wiki/CVS"&gt;&lt;span class="caps"&gt;CVS&lt;/span&gt;&lt;/a&gt; do &lt;a href="http://pl.wikipedia.org/wiki/Subversion"&gt;Subversion&lt;/a&gt; a ju&#380; zanosi si&#281; na kolejn&#261; rewolucj&#281;. Tak jak wcze&#347;niej atakowany by&#322; &lt;span class="caps"&gt;CVS&lt;/span&gt;, teraz atakowany jest Subversion. Atakowany jest przez &lt;strong&gt;rozproszone&lt;/strong&gt; systemy kontroli wersji.&lt;/p&gt;


	&lt;h2&gt;Czym jest system rozproszony (distributed)?&lt;/h2&gt;


	&lt;p&gt;&lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; jest przyk&#322;adem &lt;strong&gt;centralnego&lt;/strong&gt; systemu wersjonowania. Zawsze mamy do czynienia z centralnym repozytorium kodu. Jakakolwiek pr&#243;ba &#347;ci&#261;gni&#281;cia nowszych wersji plik&#243;w wymaga posiadania po&#322;&#261;czenia z serwerem zawieraj&#261;cym interesuj&#261;ce nas repozytorum. Jakakolwiek aktualizacja zmian w repozytorum wymaga znowu po&#322;&#261;czenia si&#281; z centralnym repozytorium. Systemy rozproszone dzia&#322;aj&#261; zupe&#322;nie inaczej.&lt;/p&gt;


	&lt;p&gt;Po pierwsze, nie posiadaj&#261; &#380;adnego centralnego repozytorium. &#346;ci&#261;gni&#281;cie projektu polega na &lt;strong&gt;sklonowaniu&lt;/strong&gt; danego repozytorium na dysku lokalnym. Wszelkie lokalnie dokonywane zmiany nale&#380;y dodawa&#263; do swojego, lokalnego repozytorium. Nie jest potrzebne posiadanie aktywnego po&#322;&#261;czenia z internetem. Co w wypadku, kiedy pierwotne repozytorium si&#281; zmieni&#322;o i chcemy zaktualizowa&#263; swoje? Nic trudnego.&lt;/p&gt;


	&lt;p&gt;Drug&#261;, pot&#281;&#380;n&#261; r&#243;&#380;nic&#261; w stosunku do Subversion jest &#322;atwo&#347;&#263; z jak&#261; w systemie rozproszonym scala si&#281; dowolne odga&#322;&#281;zienia (branches) kodu. Subversion jest bardzo tu kiepskie. System rozproszony pozwala zatem posiada&#263; najnowsz&#261; wersj&#281; kodu oryginalnego w&#322;&#261;cznie z naszymi poprawkami. Je&#347;li chcemy wys&#322;a&#263; nasze zmiany do autora projektu, mo&#380;na to tak&#380;e uczyni&#263;. Je&#347;li autor uzna, &#380;e nasze zmiany s&#261; warto&#347;ciowe i godne tego aby je do&#322;&#261;czy&#263;, stosuje podobny mechanizm scalania odga&#322;&#281;zie&#324;.&lt;/p&gt;


	&lt;p&gt;Trzeci&#261; istotn&#261; r&#243;&#380;nic&#261; jest brak za&#347;miecania projektu dziesi&#261;tkami folder&#243;w o nazwie &lt;code&gt;.svn&lt;/code&gt; (W Subversion ka&#380;dy wewn&#281;trzny folder, aby podlega&#322; wersjonowaniu, musi posiada&#263; w &#347;rodku taki dodatkowy folder). Systemy rozproszone zwykle tworz&#261; jeden, jedyny folder w g&#322;&#243;wnym katalogu i nie wymagaj&#261; aby wszystkie wewn&#281;trzne foldery posiada&#322;y go r&#243;wnie&#380;.&lt;/p&gt;


	&lt;p&gt;W praktyce, porz&#261;dnie prowadzone projekty u&#380;ywaj&#261;ce Subversion stosuj&#261; jakie&#347; formalne regu&#322;y dodawania zmian w kodzie. Np. zabrania si&#281; &amp;#8220;commitowania&amp;#8221; kodu, kt&#243;ry nie przeszed&#322; pozytywnie wszystkich test&#243;w jednostkowych. Problem w tym, &#380;e od chwili zgrania sobie &#378;r&#243;de&#322; na dysk, tracimy wszelk&#261; mo&#380;liwo&#347;&#263; wersjonowania naszych ma&#322;ych, lokalnych zmian (kt&#243;re niekoniecznie musz&#261; by&#263; pozbawione b&#322;&#281;d&#243;w). Czasami chcemy si&#281; cofn&#261;&#263; do jakiej&#347; wcze&#347;niejszej zmiany i nie mo&#380;emy. Subversion wersjonuje tylko kod w centralnym repozytorium. System rozproszony pozwala za&#347; na takie &#347;ledzenie lokalnych zmian i to nawet w spos&#243;b niezale&#380;ny od &#347;ci&#261;gni&#281;tego kodu z repozytorium Subversion. Niezale&#380;ny, bo mo&#380;na troch&#281; &amp;#8220;oszukiwa&#263;&amp;#8221; system u&#380;ywany w pracy. :) Po &#347;ci&#261;gni&#281;ciu kodu z &lt;span class="caps"&gt;SVN&lt;/span&gt;, mo&#380;na doda&#263; sobie lokalnie system rozproszony i kontrolowa&#263; swoj&#261; histori&#281; lokalnych zmian w spos&#243;b nieinwazyjny dla Subversion.&lt;/p&gt;


	&lt;h2&gt;Git, Mercurial i Bazaar&lt;/h2&gt;


	&lt;p&gt;Aktualnie, najbardziej licz&#261;ce si&#281; systemy rozproszone to &lt;a href="http://git.or.cz/"&gt;Git&lt;/a&gt;, &lt;a href="http://www.selenic.com/mercurial/wiki/"&gt;Mercurial&lt;/a&gt; i &lt;a href="http://bazaar-vcs.org/"&gt;Bazaar&lt;/a&gt;.&lt;/p&gt;


	&lt;h3&gt;Git&lt;/h3&gt;


	&lt;p&gt;Pierwotnie stworzony przez Linusa Torvaldsa do zarz&#261;dzania kodem j&#261;dra systemu Linux, &lt;a href="http://git.or.cz/"&gt;Git&lt;/a&gt; zaczyna dosy&#263; przebojowo zdobywa&#263; popularno&#347;&#263;. Pomijaj&#261;c oczywist&#261; wy&#380;szo&#347;&#263; systemu rozproszonego nad system centralnego repozytorium, trzeba podkre&#347;li&#263;, &#380;e Git bardzo szybki. Niezr&#243;wnanie szybszy od Subversion, szybszy te&#380; od Mercurial i Bazaar. Coraz wi&#281;cej projekt&#243;w zaczyna przechodzi na Git&amp;#8217;a (np. konkurent &lt;a href="http://rubyonrails.pl"&gt;Rails&#243;w&lt;/a&gt; &amp;#8211; &lt;a href="http://merbivore.com/"&gt;Merb&lt;/a&gt; trzyma &#378;r&#243;d&#322;a repozytorium Git&amp;#8217;a, zobacz te&#380; &amp;#8220;Contributing to Merb&amp;#8221; &amp;#8211; &lt;a href="http://gweezlebur.com/2008/2/1/so-you-want-to-contribute-to-merb-core-part-1"&gt;Part 1&lt;/a&gt; i &lt;a href="http://gweezlebur.com/2008/2/9/contributing-to-merb-part-2"&gt;Part 2&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;Tak&#380;e (napisany w Ruby) system do aktualizacji projekt&#243;w na serwerze (deploying) &amp;#8211; &lt;a href="http://www.capify.org/"&gt;Capistrano&lt;/a&gt; &amp;#8211; posiada &lt;a href="http://github.com/guides/deploying-with-capistrano"&gt;wsparcie dla Git&amp;#8217;a&lt;/a&gt;.  Du&#380;a rol&#281; w popularyzacji Git&amp;#8217;a czyni&#261; serwisy takie jak &lt;a href="https://github.com/"&gt;github.com&lt;/a&gt; czy &lt;a href="http://gitorious.org"&gt;gitorious.org&lt;/a&gt; gdzie mo&#380;na za&#322;o&#380;y&#263; darmowe konto dla swoich projekt&#243;w. A do &#347;ledzenia b&#322;&#281;d&#243;w i zg&#322;aszania poprawek kodu trzymanego w githubie mo&#380;na u&#380;y&#263; serwisu &lt;a href="http://lighthouseapp.com"&gt;http://lighthouseapp.com&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://railscasts.com"&gt;Railscasts.com&lt;/a&gt; znany serwis ze dziesi&#261;tkami darmowych film&#243;w edykacyjnych dla Rails&#243;w, doda&#322; niedawno &lt;a href="http://railscasts.com/episodes/96"&gt;screencast opisuj&#261;cy integracj&#281; Git&amp;#8217;a z Rails&lt;/a&gt;. Troch&#281; d&#322;u&#380;szy film na ten temat jest dost&#281;pny te&#380;&#160;w serwisie &lt;a href="https://peepcode.com/products/git"&gt;peepcode.com&lt;/a&gt;. Zobacz tak&#380;e poni&#380;sz&#261; prezentacj&#281; Linusa Torvarldsa n/t &lt;span class="caps"&gt;GIT&lt;/span&gt;&amp;#8217;a. Linus nie przebiera w s&#322;owach krytyki wobec Subversion, nazywaj&#261;c go po prostu g&#322;upim pomys&#322;em. Subversion to tylko poprawiony, stary &lt;span class="caps"&gt;CVS&lt;/span&gt;. Nie wnosi jednak nic specjalnie nowego i jego koniec jest bliski. ;)&lt;/p&gt;


&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4XpnKHJAok8&amp;#38;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/4XpnKHJAok8&amp;#38;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;

	&lt;h3&gt;Mercurial&lt;/h3&gt;


	&lt;p&gt;&lt;a href="http://www.selenic.com/mercurial"&gt;Mercurial&lt;/a&gt;, to system rozproszony napisany w Pythonie. Z definicji jest wi&#281;c multiplatformowy (bie&#380;&#261;ca implementacja Git&amp;#8217;a dla win32 jest dosy&#263; s&#322;aba). Zasadniczo niewiele si&#281; r&#243;&#380;ni od Git&amp;#8217;a. Jest troch&#281; wolniejszy, nie ma (przynajmniej ja nie znam) jakich&#347; popularnych darmowych kont do trzymania projekt&#243;w. Ale jego zalet&#261; jest wspomniana wy&#380;ej multiplatformowo&#347;&#263; (dzia&#322;a na win32 bardzo dobrze) oraz integracja z edytorem Netbeans 6 (jeszcze trwaj&#261; prace nad integracj&#261; z Git&amp;#8217;em). Firma Sun wybra&#322;a te&#380; Mercurial jako nast&#281;pc&#281; dla Subversion. S&#261; te&#380; mniejsze firmy kt&#243;re zdecydowa&#322;y si&#281; na Mercurial z powodu lepszej integracji z systemem Windows, ale s&#261; gotowe przej&#347;&#263; na szybszego Git&amp;#8217;a jak tylko zostanie poprawiona jego wersja dla win32.&lt;/p&gt;


	&lt;h3&gt;Bazaar&lt;/h3&gt;


	&lt;p&gt;&lt;a href="http://bazaar-vcs.org/"&gt;Bazaar&lt;/a&gt;, podobnie jak Mercurial, napisany zosta&#322; w Pythonie. Nie ma wi&#281;c problem&#243;w z dzia&#322;aniem pod systemem innym ni&#380; &lt;span class="caps"&gt;POSIX&lt;/span&gt;. Jest to dosy&#263; ciekawy system, bo potrafi pracowa&#263; zar&#243;wno jako system centralny jak i rozproszony. Jego tw&#243;rcy s&#261; mocno przekonani o wy&#380;szo&#347;ci Bazaar nad Git, Mercurial i Subversion, o czym &#347;wiadczy zamieszczone przez nich &#347;mia&#322;e &lt;a href="http://bazaar-vcs.org/BzrWhy"&gt;por&#243;wnanie z tymi systemami&lt;/a&gt;. (Niekt&#243;re stare por&#243;wnania Git&amp;#8217;a z Bazaar podkre&#347;la&#322;y znaczn&#261; przewag&#281; szybko&#347;ci Git&amp;#8217;a, ale niestety najcz&#281;&#347;ciej dotyczy&#322;y one starej, wolniejsze wersji Bazaar. Od wersji 1.0 poprawiono jednak znacznie wydajno&#347;&#263; i ten argument troch&#281;&#160;st&#281;pi&#322; swoje ostrze krytyki).&lt;/p&gt;


	&lt;p&gt;Bazaar posiada, podobnie jak Git, serwer z darmowymi kontami na projekty &amp;#8211; &lt;a href="http://doc.bazaar-vcs.org/latest/en/tutorials/using_bazaar_with_launchpad.html"&gt;launchpad&lt;/a&gt;. To mo&#380;e pom&#243;c spopularyzowa&#263; ten system. Bazaar ma dost&#281;pny wygodny &lt;a href="http://bazaar-vcs.org/BzrEclipse"&gt;plugin do Eclipse&lt;/a&gt;. Co do Netbeans 6, s&#261; jakie&#347; plany, ale &lt;a href="https://lists.ubuntu.com/archives/bazaar/2007q4/033568.html"&gt;na razie nie wiadomo&lt;/a&gt; czy i kiedy dodadz&#261; wsparcie.&lt;/p&gt;


	&lt;h3&gt;Updates&lt;/h3&gt;


	&lt;p&gt;&lt;em&gt;2008-03-23&lt;/em&gt;&lt;/p&gt;


U&#380;ytkownicy &lt;span class="caps"&gt;OSX 10&lt;/span&gt;.5.2 (Leoparda) instaluj&#261; Gita za pomoc&#261; MacPort&#243;w (warto doda&#263; wariant +svn aby mie&#263; dost&#281;p do skrypty git-svn; warianty dost&#281;pne dla Git&amp;#8217;a sprawdza si&#281; za pomoc&#261; komendy &lt;code&gt;port variants git&lt;/code&gt;, a od&#347;wie&#380;enie listy port&#243;w: &lt;code&gt;sudo port -d sync&lt;/code&gt;).
&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_bash "&gt;sudo port install git-core +svn&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Je&#347;li instalacja wywali si&#281; z powodu problem&#243;w z SQlite3, nale&#380;y doinstalowa&#263; gmake, czyli:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_bash "&gt;sudo su
port install gmake
port clean sqlite3
port install sqlite3
port install git-core +svn&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <pubDate>Wed, 19 Mar 2008 12:00:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:52c31377-58b0-4ab0-8c7b-da934a08c64d</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs</link>
      <category>git</category>
      <category>mercurial</category>
      <category>bazaar</category>
      <category>python</category>
      <category>subversion</category>
      <category>vcs</category>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Pojawi&#322;o si&#281; nowe por&#243;wnanie &lt;a href="http://www.rockstarprogrammer.org/post/2008/apr/06/differences-between-mercurial-and-git/" rel="nofollow"&gt;Gita z Mercurial&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Fri, 11 Apr 2008 02:13:39 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:0177b889-5cad-4808-82b2-76be1acdce25</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1559</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by lol</title>
      <description>&lt;p&gt;Szkoda, &#380;e nie ma o sposobach instalacji poszczeg&#243;lnych system&#243;w kontroli wersji. W&#322;a&#347;ciwie sama instalacja nie sprawia k&#322;opot&#243;w, ale ju&#380; udost&#281;pnienie repozytorium przez HTTPS na Apache to ju&#380; nie takie &#322;atwe. O ile w przypadku SVN jest to dobrze opisane, o tyle z Mercurial nie uda&#322;o mi si&#281; znale&#378;&#263; jasnego opisu. Nie m&#243;wi&#281; ju&#380; o Bazaar, kt&#243;ry jest chyba najgorzej udokumentowany.&lt;/p&gt;</description>
      <pubDate>Mon, 31 Mar 2008 01:41:31 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:c07af6d9-28f3-4533-adbe-031e4c9a35b8</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1531</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Jiima</title>
      <description>&lt;p&gt;@JZ&lt;/p&gt;


	&lt;p&gt;Niestety, jako wredny pies korporacji zwykle nie mam potrzeby korzystania z tego typu sajt&#243;w, wi&#281;c nie wiem. Ale assembla wydaje si&#281; OK.&lt;/p&gt;


	&lt;p&gt;Z drugiej strony jak sko&#324;cz&#261; prac&#281; nad pushem do repozytori&#243;w Subversion, to nawet Google Code si&#281; nada :P&lt;/p&gt;


	&lt;p&gt;To z reszt&#261; jest g&#322;&#243;wna si&#322;a Mercuriala &amp;#8211; pluginy do innych sieci i system&#243;w centralnych. Ostatnie do&#347;wiadczenia z kernelem linuksa pokaza&#322;y mi, &#380;e Mercurial np. &#347;wietnie nadaje si&#281; do sk&#322;adania customowego kernela z nieoficjalnych repozytori&#243;w (2 &amp;#8211; 3 kr&#261;g commiter&#243;w). Sam nic nie commituje, bo nie hackuje j&#261;dra akurat, wi&#281;c nie wiem jak to z pushem, ale&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Sat, 29 Mar 2008 16:55:39 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:fe16c83f-1e11-46c0-aeae-3ed4943f57f5</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1527</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Te dwa, jakie poda&#322;e&#347; s&#261; s&#322;abe i prymitywne. Trzeci, jest lepszy, ale najbardziej wypasiony wydaje si&#281; &lt;a href="http://vitaliel.blogspot.com/2007/10/free-mercurial-hostings-for-openprivate.html" rel="nofollow"&gt;Assembla&lt;/a&gt;. M.in. &#322;adnie integruje Mercurial z Trac.&lt;/p&gt;</description>
      <pubDate>Fri, 28 Mar 2008 03:34:09 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:165eecf3-19cd-40b5-90aa-3c18814698f9</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1525</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by wojtekm</title>
      <description>&lt;p&gt;@Jaros&#322;aw Zabie&#322;&#322;o
&lt;a href="http://sharesource.org" rel="nofollow"&gt;http://sharesource.org&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 27 Mar 2008 10:20:16 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:c48de135-50c2-4232-a30b-a53d195d3a06</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1523</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by wojtekm</title>
      <description>&lt;p&gt;Co do darmowego hostingu Mercuriala, to proponuj&#281; zapozna&#263; si&#281; z Wiki projektu:
&lt;a href="http://www.selenic.com/mercurial/wiki/index.cgi/MercurialHosting" rel="nofollow"&gt;http://www.selenic.com/mercurial/wiki/index.cgi/MercurialHosting&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Szczeg&#243;lnie 2 ostatnie serwisy s&#261; warte uwagi:
&lt;a href="http://mercurial.intuxication.org/" rel="nofollow"&gt;http://mercurial.intuxication.org/&lt;/a&gt;
&lt;a href="http://freehg.org/" rel="nofollow"&gt;http://freehg.org/&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 27 Mar 2008 10:11:56 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:2924c0b5-f25c-48fd-9ff3-22723653b8d4</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1522</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;@Arek: Git ma skrypt git-svn do przezroczystej wsp&#243;&#322;pracy z SVN.&lt;/p&gt;


	&lt;p&gt;@Jiima: Nie wiesz czy Mercurial ma jaki&#347; odpowiednik github.com zintegrowanego z issue trackerem podobnym do  lighthouseapp.com? To jest naprawd&#281; wielka rzecz.&lt;/p&gt;</description>
      <pubDate>Wed, 26 Mar 2008 15:00:01 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:7523e874-75f8-4967-b7fc-5925a14ed428</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1519</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Jiima</title>
      <description>&lt;p&gt;SVK jest ciekaw&#261; propozycj&#261;, ale raczej jako &amp;#8220;&#322;ata&amp;#8221; na Subversion. A wsp&#243;&#322;praca z narz&#281;dziami Subversion te&#380; jest daleka od idea&#322;u (jak korzystasz z commandline, to mirror = projekt. Jak chcesz korzysta&#263; z narz&#281;dzi subversion, musisz zrobi&#263; checkout z mirrora, czyli de facto korzystasz z SVN a nie z SVK).&lt;/p&gt;


	&lt;p&gt;Co do innych, ja osobi&#347;cie najbardziej lubi&#281; Mercuriala, ze wzgl&#281;du na integracj&#281; z NB i sensown&#261; wsp&#243;&#322;prac&#281; z Windowsami (wiem &#380;e niekt&#243;rych to &amp;#8220;wali&amp;#8221; ale ja jestem do&#347;&#263; pragmatyczny i pracuj&#281; na tych systemach na kt&#243;re mam zlecenia, a nie na tych kt&#243;re lubi&#281; lub mam do nich ideologiczne nastawienie).&lt;/p&gt;


	&lt;p&gt;Generalnie, my&#347;l&#281; &#380;e zn&#243;w wywi&#261;zuje si&#281; dyskusja o wy&#380;szo&#347;ci &#347;wi&#261;t. Tak naprawd&#281; to, czy jest centralne repozytorium czy nie, oraz czy git czy mercurial to kwestia gustu i potrzeb danego projektu. Systemy rozproszone wymagaj&#261; innego podej&#347;cia do struktury projektu, zarz&#261;dzania nim itp. Czasem tak jest lepiej, czasem gorzej. Nie wszystkie projekty budowane s&#261; na takiej zasadzie jak j&#261;dro Linuxa.&lt;/p&gt;</description>
      <pubDate>Wed, 26 Mar 2008 14:18:03 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:d8b34d52-4e43-449c-a154-a1c37fdedb78</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1518</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Arek</title>
      <description>&lt;p&gt;Dla os&#243;b szukaj&#261;cych czego&#347; bardzo dobrze wsp&#243;&#322;pracuj&#261;cego z SVN polecam napisany w PEARL SVK. Mo&#380;e niezbyt szybki ale pozwala nawet na korzystanie z TortoiseSVN. Cho&#263; jest systemem rozproszonym to opiera sie na SVNowym systemie plik&#243;w. Mo&#380;na swobodnie skopiowa&#263; repozytorium SVN i &#322;atwo synchronizowa&#263; zmiany z ga&#322;&#281;ziami SVK.&lt;/p&gt;</description>
      <pubDate>Wed, 26 Mar 2008 09:40:19 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:60abfdd7-6443-4a10-b8ef-0fc08ab0fdbf</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1517</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by mwd</title>
      <description>&lt;p&gt;Jako&#347; nikt nie wspomnia&#322; o &lt;a href="http://monotone.ca/" rel="nofollow"&gt;monotone&lt;/a&gt; &amp;#8211; Linus wzorowa&#322; na nim Gita, jest multiplatformowy, szybki i dynamicznie si&#281; rozwija. Kto z niego korzysta? Pidgin, OpenEmbedded, Xaraya&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Wed, 26 Mar 2008 08:49:47 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:9cb2177b-a46d-4ae1-8a5d-d2ebb49bd4f7</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1516</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Tylko, &#380;e jak si&#281; wyeksportuje w SVN  projekt to nie jest on ju&#380; powi&#261;zany z repozytorium. To chyba nie o to chodzi. Git ma skrypt git-svn do u&#380;ywania SVN i Git&amp;#8217;a na zasadzie prze&#322;&#261;czania. Mercurial i Bazaar te&#380; co&#347; takiego zdaje si&#281;&#160;maj&#261;.&lt;/p&gt;


	&lt;p&gt;@Szymon: SVN ma bardzo kiepskie mergowanie no i jego g&#322;&#243;wn&#261; wad&#261; jest to, &#380;e musisz to robi&#263; w centralnym repozytorium. Git pozwala na lokalne &amp;#8220;commity&amp;#8221; i potem to mo&#380;na hurtem wypchn&#261;&#263; na serwer. Takie lokalne commity przydaj&#261; si&#281; do kontrolowania lokalnych zmian przed wypchni&#281;ciem ich na serwer.&lt;/p&gt;</description>
      <pubDate>Mon, 24 Mar 2008 23:07:53 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:8676f94e-6558-4a08-beb5-93dfcd0070df</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1514</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Ferry rozbrojony</title>
      <description>&lt;p&gt;Ale SVN pozwala uzywac file : //
i wtedy nie trzeba serwera. Mozna to zrobic jako katalog. drobniutkie katalogi .svn rozwiazuje sie poleceniem&amp;#8212;export&lt;/p&gt;</description>
      <pubDate>Mon, 24 Mar 2008 18:03:54 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:c5c3badf-05f0-40c6-93f8-0a2fa53e92e7</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1512</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Szymon</title>
      <description>&lt;p&gt;A to nie wystarczy zwyk&#322;y SVN z tym, &#380;e ka&#380;dy ma swoj&#261; ga&#322;&#261;&#378; ze swoj&#261; kopi&#261; i jak stwierdzi, &#380;e co&#347; tam zrobi&#322; to wtedy jest to mergowane do g&#322;&#243;wnego katalogu?&lt;/p&gt;</description>
      <pubDate>Sat, 22 Mar 2008 22:04:31 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:08797a08-cafe-4977-8586-53a292114580</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1511</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Jan Koprowski</title>
      <description>&lt;p&gt;Ja w projekcie, kt&#243;ry pisz&#281; obecnie zdecydowa&#322;em si&#281; na bazaara. Przeoczy&#322;em fakt, &#380;e mo&#380;na trzyma&#263; repozytoria na darmowym serwerze, natomiast zauwa&#380;y&#322;em, &#380;e wystarczy zwyk&#322;e FTP do trzymania repo (czy SSH). By&#322; to na moje oko jedyny system wersjonowania, kt&#243;ry dawa&#322; takie mo&#380;liwo&#347;ci, dlatego u mnie wygra&#322;.&lt;/p&gt;</description>
      <pubDate>Fri, 21 Mar 2008 09:04:14 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:eb3f2a14-f15e-4829-a631-0d195e770be9</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1508</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by forgems</title>
      <description>&lt;p&gt;Na podstawie do&#347;wiadczenia moge stwierdzi&#263; &#380;e bzr jest jednym z najwolniejszych system&#243;w kontroli wersji. Nie polecam go i znam co najmniej 15 os&#243;b kt&#243;re maj&#261; o nim podobne zdanie.&lt;/p&gt;


	&lt;p&gt;W przypadku wyboru systemu kontroli wersji skupi&#322;bym si&#281; raczej na Git-cie i Mercurial-u, z ukierunkowanie na tego pierwszego (wi&#281;kszy user base).&lt;/p&gt;</description>
      <pubDate>Thu, 20 Mar 2008 15:55:37 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:0b42f29a-223f-458c-be60-a7d5c7b12b2a</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1507</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by hm</title>
      <description>&lt;p&gt;Ja ju&#380; wybra&#322;em Mercurial. Od razu przypad&#322; mi do gustu. Posiada bardzo dobr&#261; dokumentacj&#281; &lt;a href="http://hgbook.red-bean.com/" rel="nofollow"&gt;http://hgbook.red-bean.com/&lt;/a&gt; Netbeans b&#281;dzie oferowa&#322; dla niego wsparcie w standardzie od wersji 6.1.&lt;/p&gt;


	&lt;p&gt;&#377;r&#243;d&#322;a OpenJDK (uwolnionej wersji Javy) trzymane s&#261; od grudnia 2007 na &lt;a href="http://hg.openjdk.java.net/" rel="nofollow"&gt;http://hg.openjdk.java.net/&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Prezentacja Google TechTalks o Mercurial z czerwca 2006: &lt;a href="http://video.google.com/videoplay?docid=-7724296011317502612" rel="nofollow"&gt;http://video.google.com/videoplay?docid=-7724296011317502612&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;@Zboczuch: rozproszone scm s&#261; tworzone z my&#347;l&#261; o forkowaniu i mergowaniu. W&#322;a&#347;ciwie dobrany system pracy zmniejsza dodatkowo niedogodno&#347;ci zwi&#261;zane ze scalaniem kodu do minimum. Polecam rozdzia&#322; 6.2 &amp;#8220;Collaboration models &amp;#8221; ze wspomnianej ksi&#261;&#380;ki &amp;#8220;Distributed revision control with Mercurial&amp;#8221;. Zobacz w jaki spos&#243;b pracuj&#261; nad OpenJDK &lt;a href="http://blogs.sun.com/kto/entry/openjdk_mercurial_forest" rel="nofollow"&gt;http://blogs.sun.com/kto/entry/openjdk_mercurial_forest&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 20 Mar 2008 10:07:44 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:3b102b41-8d5b-4268-aa1f-37b4b7a1f7f3</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1506</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Dentharg</title>
      <description>&lt;p&gt;Kiedy&#347; ju&#380; na ten temat &lt;a href="http://blog.dentharg.eu.org/2007/07/12/rozproszone-systemy-kontroli-kodu/" rel="nofollow"&gt;blogowa&#322;em&lt;/a&gt; ; w komentarzach wywi&#261;za&#322;a si&#281; (MSZ) ca&#322;kiem niez&#322;a dyskusja.. Zapraszam.&lt;/p&gt;


	&lt;p&gt;U nas SVN jest u&#380;ywane przez 3 mi&#281;dzynarodowe zespo&#322;y (w Polsce, w Rosji i w Niemczech; serwer w Polsce) i powoli przestaje dawac rad&#281; (&amp;gt;20K plik&#243;w, &amp;gt;12K rewizji). Jednak w por. do system&#243;w rozproszonych daje dok&#322;adniejsz&#261; kontrol&#281; nad tym co i komu si&#281; daje.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Mar 2008 08:35:36 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:01947d52-05ef-41cf-9250-932e2673110c</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1505</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by SeeM</title>
      <description>&lt;p&gt;No ale rozproszone systemy s&#261; po to, &#380;eby nie trzeba by&#322;o ci&#261;gle nadzorowa&#263; nadsy&#322;anych &#322;atek, tylko ka&#380;dy robi w swojej piaskownicy i kiedy dojdzie do wniosku, &#380;e co&#347; zrobi&#322;, to og&#322;asza &#380;e ma co&#347; zrobionego i reszta sobie sama &amp;#8220;commitnie&amp;#8221; jak b&#281;dzie chcia&#322;a.&lt;/p&gt;


	&lt;p&gt;Na 6 os&#243;b Subversion w zupe&#322;no&#347;ci wystarczy, bo wszyscy maj&#261; ze sob&#261; bezpo&#347;redni kontakt a to daje o wiele wi&#281;cej ni&#380; jakikolwiek system kontroli.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Mar 2008 08:20:38 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:47d899a0-03c2-4ba6-b915-aff45105db77</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1504</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Zboczuch</title>
      <description>&lt;p&gt;Wszystko &#322;adnie, lecz nie zauwa&#380;y&#322;em w artykule jakiejkolwiek krytyki rozproszonych system&#243;w kontroli wersji. A przecie&#380; wiele zale&#380;y od zastosowa&#324;. I tak chwalona niezale&#380;no&#347;&#263; repozytori&#243;w sta&#263; si&#281; mo&#380;e prawdziwym utrapieniem, gdy autor projektu zmuszany jest nieustannie scala&#263; nadsy&#322;ane mu poprawki.&lt;/p&gt;


	&lt;p&gt;W niewielkiej wielko&#347;ci firmie (6 programist&#243;w) wymaga&#263; to mo&#380;e ju&#380; wydzielenia mn&#243;stwa czasu dla osoby zajmuj&#261;cej si&#281; scalaniem poprawek, co w przypadku Subversion przy m&#261;drym commitowaniu i cz&#281;stych update&amp;#8217;ach zmniejsza ten czas do minimum, dodatkowo rozk&#322;adaj&#261;c go (r&#243;wnolegle) na wiele os&#243;b.&lt;/p&gt;


	&lt;p&gt;S&#261; dla GIT (lub innych) narz&#281;dzia wspieraj&#261;ce automatyczne scalanie kodu? Czyli tak naprawd&#281; symuluj&#261;ce Subversion ;)?&lt;/p&gt;</description>
      <pubDate>Thu, 20 Mar 2008 07:49:13 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:c073b022-0d19-4879-bdbd-b0d7ce635b9a</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1503</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Husio</title>
      <description>&lt;p&gt;Jak wybiera&#322;em system kontroli wersji, testowa&#322;em bazaar i git. SVN odpad&#322;o bo wymaga serwera, reszta nie jest open source, wi&#281;c by&#322;a na ostatnich miejscach w kolejce.&lt;/p&gt;


	&lt;p&gt;Szybko zrezygnowa&#322;em z bazaar, bo sypa&#322; jakimi&#347; b&#322;&#281;dami i by&#322; wtedy o wiele wolniejszy. Zosta&#322; wi&#281;c git. 
Ma dobre wsparcie spo&#322;eczno&#347;ci, wiele os&#243;b o nim pisze. Wszyscy, poza nielicznymi przypadkami, zachwalaj&#261;. Chyba tylko na windows mog&#261; by&#263; problemy, ale nie ma to dla mnie znaczenia.&lt;/p&gt;</description>
      <pubDate>Wed, 19 Mar 2008 21:21:49 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:461fe71d-cd60-43d7-b7b7-d46b0dc6393e</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1502</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by Uzytkownik</title>
      <description>&lt;p&gt;@kulfon: Jest jeszcze cho&#263;by BitKeeper i kilka innych.&lt;/p&gt;


	&lt;p&gt;Ale IMHO w &#347;rodowisku FLOSS te 3 s&#261; najbardziej rozpowszechnione. W tym chyba git najbardziej a mercurial na drugim miejscu (wspierany przez SUN). Osobi&#347;cie najbardziej lubi&#281; bzr (cho&#263; mercuriala nie pr&#243;bowa&#322;em).&lt;/p&gt;</description>
      <pubDate>Wed, 19 Mar 2008 20:48:58 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:8479a645-81ac-458c-9543-3083c83ecac8</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1501</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by kulfon</title>
      <description>&lt;p&gt;@marek, a mo&#380;e ty si&#281; podzielisz swoj&#261; wiedz&#261;, skoro znasz inne..&lt;/p&gt;</description>
      <pubDate>Wed, 19 Mar 2008 17:11:42 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:b524905b-9d2b-4eff-83f8-92783f2e2dd7</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1500</link>
    </item>
    <item>
      <title>"Git, Bazaar, Mercurial - Subversion pod obstrza&#322;em" by marek</title>
      <description>&lt;p&gt;&amp;#8220;Aktualnie, najbardziej licz&#261;ce si&#281; systemy rozproszone to Git, Mercurial i Bazaar.&amp;#8221; &amp;#8211; na podstawie jakich danych stwierdzasz to?&lt;/p&gt;</description>
      <pubDate>Wed, 19 Mar 2008 16:21:50 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:8ac7ce20-f96f-4d73-a963-3dc61cde7ab5</guid>
      <link>http://blog.zabiello.com/articles/2008/03/19/distributed-vcs#comment-1499</link>
    </item>
  </channel>
</rss>
