Szkic tematu pracy magisterskiej
Transkrypt
Szkic tematu pracy magisterskiej
Szkic tematu pracy magisterskiej wersja 1 Bartosz Gęza 1 Cel dokumentu Celem tego dokumentu jest sprecyzowanie tematu pracy magisterskiej. Zaczynając od obszernego opisu zagadnienia, kolejne streszczenia będą coraz bardziej zwięzłe, aż do otrzymania kandydata na tytuł pracy. 2 Pełen opis Git jest rozpoczętym w 2005 rozproszonym (zdecentralizowanym) systemem kontroli wersji (ang. DVCS - distributed/decentralized version control system). Jest to narzędzie pozwalające programistom tworzyć, przeglądać i wymieniać między sobą wersje oprogramowania. Rozproszenie systemu charakteryzuje się tym, że do korzystania z git użytkownicy nie muszą stale i bezpośrednio być ze sobą połączeni. Git należy do najpopularniejszych z tego systemów, które zaczęły się pojawiać na początku XXI wieku. Istniejące wcześniej systemy kontroli wersji posiadają centralny serwer, a użytkownicy muszą uzyskać zezwolenie do odczytu i wprowadzania zmian. Decentralizacja spowodowała, że użytkownik stał się autorytetem i decyduje, od kogo przyjmować wersje oprogramowania. Ta cecha przyczyniła się do popularności DVCS wśród twórców wolnego i otwartego oprogramowania - pozwala na niezależne rozwijanie projektu bez kontroli osób trzecich. Jednym ze sposobów dystrybucji kodu źródłowego wolnego oprogramowanie jest udostępnianie publicznego repozytorium systemu kontroli wersji, z którego użytkownik może pobrać dowolną historyczną wersję kodu. Żeby otrzymywać aktualizacje, okresowo pobiera z repozytoriów nowsze wersje. Cechą git, która jest wymieniana, jako wada jest przechowywanie wszystkich wersji projektu w każdej kopii repozytorium. Chcąc pobrać przez git źródła jądra linuksa, pobieram repozytorium rozmiaru 540 MB, gdy archiwum z najnowszą wersją (2.6.39.1) zajmuje 73MB. Aktualizacja przez git po trzech tygodniach miała tylko 8.5 MB. Jest to koszt zarówno łącza internetowego, jak i przestrzeni dyskowej. W ramach pracy magisterskiej zamierzam stworzyć narzędzie dostarczające użytkownikowi powiadomienia o nowych wersjach śledzonych projektów. W przypadku wielu programistów w jednej sieci lokalne lub wielu repozytoriów jednego projektu na jednym systemie plików, oszczędzające również łącze internetowe i przestrzeń dyskową. Takie narzędzie ułatwi także pracę w grupie bez centralnego serwera. 1 Ma to być bufor pomiędzy użytkownikiem i zdalnymi repozytoriami, z których korzysta. Okresowo sprawdzałby ich stan, pobierał aktualizacje. Dodatkowo modyfikacja w mechanizmie pobierania git spowodowałaby preferowanie pobierania danych z lokalnego źródła, gdy to możliwe. 2