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

Podobne dokumenty