<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Migol's Blog &#187; dvcs</title>
	<atom:link href="http://blog.migol.net/tag/dvcs/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.migol.net</link>
	<description></description>
	<lastBuildDate>Fri, 06 Feb 2009 15:16:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Bazaar &#8211; wrażenia z użytkowania</title>
		<link>http://blog.migol.net/2009/02/06/bazaar-wrazenia-z-uzytkowania/</link>
		<comments>http://blog.migol.net/2009/02/06/bazaar-wrazenia-z-uzytkowania/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 15:12:27 +0000</pubDate>
		<dc:creator>Migol</dc:creator>
				<category><![CDATA[Kontrola wersji]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[wersjonowanie]]></category>

		<guid isPermaLink="false">http://blog.migol.net/?p=103</guid>
		<description><![CDATA[Ostatnio w ramach robienia projektu LabAdmin (takie cudo do zarządzania użytkownikami w laboratorium komputerowym) zacząłem korzystać z systemu kontroli wersji Bazaar. Potrzebowałem go, aby móc pracować offline i jednocześnie czerpać korzyści z wersjonowania.

Pierwsze spostrzeżenie jakie mi się nasunęło: Bazaar jest dość powolny przy niektórych operacjach &#8211; szczególnie branchowaniu (tworzeniu odnogi w produkcji). Nie mam zbytniego [...]]]></description>
			<content:encoded><![CDATA[<p>Ostatnio w ramach robienia projektu LabAdmin (takie cudo do zarządzania użytkownikami w laboratorium komputerowym) zacząłem korzystać z systemu kontroli wersji <a href="http://bazaar-vcs.org" target="_blank">Bazaar</a>. Potrzebowałem go, aby móc pracować offline i jednocześnie czerpać korzyści z wersjonowania.</p>
<p><span id="more-103"></span></p>
<p>Pierwsze spostrzeżenie jakie mi się nasunęło: Bazaar jest dość powolny przy niektórych operacjach &#8211; szczególnie branchowaniu (tworzeniu odnogi w produkcji). Nie mam zbytniego porównania z innymi systemami kontroli wersji, bo nie użytwałem ich zbyt długo, ale jak dla mnie przydałoby się nieco szybciej to robić. Może być też tak, że korzystając z jakiegoś przełącznika da się to przyśpieszyć, ale też tego nie poszukiwałem.</p>
<p>Jeżeli chodzi o samą pracę to tutaj bardzo przydatny okazuje się TortoiseBzr (dołączony do wersja Bazaara dla Windows). Dzięki niemu nie musimy gimnastykować palców przy selektywnym dodawaniu plików do repozytorium. Także selektywny commit jest dużo wygodniejszy.</p>
<p>Wracając do branchowania to jest to jedna z bardziej użytecznych opcji, zaniedbana nieco w zwykłych (nie rozproszonych) systemach kontroli wersji. Polega to na tym, że tworzymy gałąź jeżeli chcemy coś przygotować, do niej wykonujemy commity a następnie łączymy (mergeujemy) z główną gałęzią. Mimo, że pracowałem sam, praktycznie każda większa zmiana miała u mnie swoją gałąź, dzięki czemu mogłem się zajmować tym co mi odpowiadało w danej chwili. Jednocześnie robiło mi to za taką &#8220;listę rzeczy do zrobienia&#8221; &#8211; każda gałąź odpowiadała za inną rzecz, gałęzie czasem dalej mi się rozgałęziały. Trzecim powodem takiej pracy jest fakt, że mogłem commitować niedziałający (bądź nawet nie kompilujący się) kod i nie miał on wpływu na inne części systemu którymi się zajmowałem.</p>
<p>Jedyną większą wadą takiego systemu jest to że potem trzeba to łączyć ze sobą, co czasami bywa karkołomnym zadaniem. Oczywiście praktycznie nic nie da się zrobić, jeśli z jakąś binarką się rozbiegniemy, ale nawet dla zwykłych plików mogą powstać problemy. Bazaar promuje metodę 3-way diff: mamy 3 pliki: bazę, wersję tego repozytorium i wersję drugiego repozytorium. Naszym zadaniem jest połączenie tych trzech wersji w jedną. Bywa ciężko.</p>
<p>Oczywiście jeśli już rozwiążemy problemy to wszystko toczy się dalej świetnie &#8211; Bazaar pozwala nawet na najbardziej karkołomne połączenia między gałęziami. Takie dzikie połączenia przydały mi się gdy na jednym branchu przygotowywałem menu dla aplikacji.</p>
<p>Oddzielną kwestią jest numerowanie wersji. Jest ono zrobione DUŻO lepiej niż w Git. Tutaj numery są nadawane tylko i wyłącznie lokalnie. Teraz jeśli robię merge to brancha wyżej to moim rewizjom nadawany jest prefix w formie numeru rewisji od której się odbranchowalem oraz kolejnego numeru identyfikacyjnego brancha. Ma to jedną wadę &#8211; nie do końca wiesz jaki numer rewizji dostaniesz, ale jest to dużo wygodniejsze niż numer w postaci SHA1 zawartości (ble!).</p>
<p>Jak tylko rozwiąże wszystkie sprawy z uczelnią napewno postawię sobie serwer Bazaara (na FTP <img src='http://blog.migol.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) żeby móc wygodniej z niego korzystać.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.migol.net/2009/02/06/bazaar-wrazenia-z-uzytkowania/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Git &#8211; trzy rzeczy które mnie wkurzają</title>
		<link>http://blog.migol.net/2008/12/14/git-trzy-rzeczy-ktore-mnie-wkurzaja/</link>
		<comments>http://blog.migol.net/2008/12/14/git-trzy-rzeczy-ktore-mnie-wkurzaja/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 20:11:02 +0000</pubDate>
		<dc:creator>Migol</dc:creator>
				<category><![CDATA[Informatyka]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[wersjonowanie]]></category>

		<guid isPermaLink="false">http://blog.migol.net/?p=73</guid>
		<description><![CDATA[Ostatnio dość mocno eksperymentuję z różnymi systemami kontroli wersji zaczynając od CVS-a (mam go w pracy) przez systemy rozproszone takie jak Mercurial (Hg), Bazaar i wspomniany w tytule Git. Tym razem właśnie na nim się skupię, gdyż stał się on strasznie popularny pomimo swoich wad.

Wada 1: Co to za wersja???
Podstawową denerwującą rzeczą w Git jaka [...]]]></description>
			<content:encoded><![CDATA[<p>Ostatnio dość mocno eksperymentuję z różnymi systemami kontroli wersji zaczynając od CVS-a (mam go w pracy) przez systemy rozproszone takie jak Mercurial (Hg), Bazaar i wspomniany w tytule Git. Tym razem właśnie na nim się skupię, gdyż stał się on strasznie popularny pomimo swoich wad.</p>
<p><span id="more-73"></span></p>
<h3>Wada 1: Co to za wersja???</h3>
<p>Podstawową denerwującą rzeczą w Git jaka mi się rzuciła w oczy to nazywanie wersji. Nie mamy tutaj wersji 1, 2, 3 tak jak w Subversion, ale 40 znakowe, alfanumeryczne hashe. Po co to? Rozumiem, że macie kompleksy związane z tym, że w systemie rozproszonym każdy może mieć inny numer wersji u siebie i wypadałoby je jakoś od siebie odróżniać. Ale czemu nie można zostawić ładnych numerków tylko trzeba wrzucać te potworne hashe? Tutaj rozwiązał to choćby Mercurial, gdzie nazwa wersji składa się z normalnej liczby porządkowej i hasha. Do przeglądania wystarczy numer,  przy łączeniu wersji hash się przydaje.</p>
<h3>Wada 2: Jakie to polecenie???</h3>
<p>Wada druga jest związana z tym, że twórca Git&#8217;a (tak tak, TEN Linus Torvalds) musiał koniecznie stworzyć coś nowego. Więc oprócz nowego systemu kontroli wersji dał też nowy zestaw poleceń, które mogę przypominać to co znamy z SVNa, ale tym nie są. Istnieją nawet magiczne tabelki dla użytkowników SVNa którzy by chcieli poGitować sobie. Nowy zestaw komend to chyba najbardziej głupi sposób na bycie innowacyjnym.</p>
<h3>Wada 3: Windows &#8211; tak, tam też byś się przydał.</h3>
<p>Trzecią wadą jest fakt, iż Git ma kłopoty pod Windowsem. Ponoć nie są to już problemy z kompilacją (istnieje wersja msys która działa) ale miliony (czy jakoś tak) skrypcików doczepionych do Git-a nie działa, bo nie mamy basha i innych fajnych rzeczy. Ludzie&#8230; Czy nie można zrobić tego kulturalnie, tak, żeby nawet człowiek któremu Linux kojarzy się z chorobą weneryczną mógł tego używać? Pomnę tutaj takie dodatki jak seria Tortoise, pluginy SCC dla Visual Studio czy też choćby pluginy NetBeans. Dlaczego mimo, że Bazaar jest projektem młodszym to ma własnego TortoiseBzr (w testach) czy też plugin SCC dla Visual Studio (w developmencie, ponoć coś działa).</p>
<h3>Podsumowanie</h3>
<p>Pewnie każdy kto to czyta albo stwierdzi że albo Git jest do niczego, albo że plotę bzdury. Owszem, Git ma zalety takie jak gigantyczna prędkość działania czy też branche in-place (nie tworzysz nowego katalogu, po prostu katalog roboczy zmienia się). Ale te zalety są sobie, a wady sobie.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.migol.net/2008/12/14/git-trzy-rzeczy-ktore-mnie-wkurzaja/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
