Экономика стран

К сожалению, большинство людей, которые будут ими затронуты почти весь мир, не будут иметь никакого влияния на результат. Вести Экономика Дайджест иностранной прессы за 14 августа.
Вести Экономика Греции снова придется списывать долги Греция не сможет самостоятельно расплатиться по долгам, и понадобится новая реструктуризация долгов, чтобы спасти страну от банкротства.

Pracuj z SVN w systemie plików

  1. Problem z udostępnianiem plików
  2. Model „Lock-Change-Unlock”
  3. Model „Kopiuj-Zmień-Połącz

Subversion (SVN) to scentralizowany system współpracy

Subversion (SVN) to scentralizowany system współpracy. Opiera się na repozytorium, które zawiera dane w postaci drzewa systemu plików - zwykłej hierarchii plików i katalogów. Klienci łączą się z repozytorium i odczytują lub modyfikują te pliki. Zapisując dane, klient udostępnia informacje innym. Czytając dane, klient otrzymuje informacje od innych.

Cechą repozytorium SVN jest to, że „pamięta” wszelkie zmiany w dowolnym pliku, a nawet zmiany w samym drzewie katalogów, takie jak dodawanie, usuwanie i przenoszenie plików i katalogów. W dowolnym momencie klient może uzyskać najnowszą wersję drzewa systemu plików. Oprócz tego klient ma możliwość obejrzenia poprzedniego stanu systemu plików.

Dostępna jest szczegółowa dokumentacja dotycząca konfiguracji i korzystania z Subversion. tutaj .

Pamięć masowa jest centralną bazą danych, zwykle umieszczoną na serwerze plików i zawierającą wersje z pełną historią. Dostęp do pamięci można uzyskać za pomocą różnych protokołów sieciowych lub z dysku lokalnego.

Kopia robocza to katalog na komputerze lokalnym, z którym pracuje programista. Deweloper może pobrać najnowszą wersję plików z repozytorium, pracować z nim lokalnie, a gdy są pewni zmian, mogą naprawić te pliki z powrotem do repozytorium. Kopia robocza nie zawiera historii projektu, ale zawiera kopię plików znajdujących się w repozytorium, zanim programista zaczął je zmieniać. W ten sposób możesz dowiedzieć się, jakie konkretne zmiany zostały wprowadzone.

W ten sposób możesz dowiedzieć się, jakie konkretne zmiany zostały wprowadzone

WAŻNE

Zmiany można wyświetlać tylko w przypadku plików tekstowych. W przypadku plików binarnych można znaleźć tylko fakt zmiany.

Wersja - stan drzewa systemu plików. Zatwierdzanie zmian w drzewie systemu plików jest operacją atomową. To znaczy Deweloper może zmieniać zawartość kilku plików, tworzyć nowe katalogi i pliki, usuwać, zmieniać nazwy i kopiować pliki i foldery, a następnie zatwierdzić całą zmianę jako pojedynczą całą zmianę - wersję.

Audyty w repozytorium mogą być reprezentowane jako seria plików systemu plików - tablica numerów wersji, zaczynając od 0 i rosnąca od lewej do prawej (rys. 1). Pod każdym numerem znajduje się drzewo systemu plików. Każde drzewo jest „migawką” stanu repozytorium po każdym zatwierdzeniu.

Rys. 1. - Składanie poprawek do repozytorium

INFORMACJE

W przeciwieństwie do innych systemów kontroli wersji, numery wersji Subversion odnoszą się do całych drzew, a nie pojedynczych plików.

Problem z udostępnianiem plików

Podczas pracy z SVN może wystąpić sytuacja, gdy dwóch programistów pracuje nad tą samą funkcjonalnością zaimplementowaną w tym samym pliku. Jeśli pierwszy programista najpierw zapisze zmiany, a drugi kilka sekund później, zmiany wprowadzone przez pierwszego programistę mogą zostać usunięte. I chociaż zmiany te są zapamiętywane przez system, zmiany wprowadzone przez pierwszego programistę będą nieobecne w ostatniej wersji pliku.

Aby uniknąć tego problemu, używane są dwa modele wersjonowania:

  • model „Locking-Modifying-Unlocking”;
  • Model Kopiuj-Modyfikuj-Połącz.

Model „Lock-Change-Unlock”

Repozytorium pozwala tylko jednemu użytkownikowi wprowadzać zmiany do pliku naraz. Zanim pierwszy użytkownik może dokonać zmian w pliku, musi go najpierw zablokować. Drugi użytkownik nie będzie mógł zatwierdzić swoich zmian, dopóki pierwszy nie dokona zmian w repozytorium i nie usunie blokady.

Wady:

  • Pierwszy użytkownik może zapomnieć o usunięciu blokady, co spowoduje utratę czasu przez drugiego programistę.
  • Blokowanie może powodować nadmierne kolejkowanie. Jeśli użytkownicy pracują z różnymi nie przecinającymi się częściami pliku (na przykład z początkiem i końcem), wówczas możliwa byłaby jednoczesna praca z plikiem, zakładając poprawne scalenie zmian.
  • Blokowanie może powodować fałszywe poczucie bezpieczeństwa. Użytkownicy mogą jednocześnie pracować z różnymi plikami zawierającymi zależne od siebie funkcje. Każdy użytkownik zablokował swój plik i uważa, że ​​rozpoczyna bezpieczne, odizolowane zadanie. Zapobiega to wcześniejszemu omówieniu ich zmian, które mogą być ze sobą niezgodne, co doprowadzi do braku możliwości opracowanego rozwiązania.

Ten model jest wygodniejszy, jeśli pracujesz na plikach, które nie podlegają scaleniu. Na przykład, jeśli repozytorium zawiera obrazy, a dwie osoby zmieniają je w tym samym czasie, nie ma możliwości scalenia tych zmian razem.

Model „Kopiuj-Zmień-Połącz

Aplikacja kliencka każdego użytkownika odczytuje projekt z repozytorium i tworzy osobistą kopię roboczą - lokalne odbicie plików i katalogów repozytorium. Następnie użytkownicy pracują podczas zmiany swoich osobistych kopii. Ostatecznie osobiste kopie łączą się w nową, ostateczną wersję. Zazwyczaj system kontroli wersji wykonuje scalanie automatycznie, ale generalnie decyzja osoby jest konieczna.

Jeśli przy jednoczesnej pracy dwóch użytkowników zmiany się pokrywają, powstaje konflikt. Następnie użytkownik, który dokona drugiej zmiany, musi (po omówieniu z pierwszym użytkownikiem) ręcznie wybrać niezbędne z zestawu sprzecznych zmian. Po rozwiązaniu konfliktu scalony plik można bezpiecznie przenieść do repozytorium.

Decydującym czynnikiem w korzystaniu z tego modelu jest interakcja między użytkownikami. Przy słabej interakcji użytkownika zwiększa się liczba konfliktów semantycznych i składniowych.

W działającym folderze .svn kopii roboczej każdego pliku Subversion rejestruje informacje o dwóch ważnych właściwościach:

  • na której wersji plik w kopii roboczej jest oparty (robocza wersja pliku);
  • Data i godzina ostatniej aktualizacji lokalnej kopii pliku z repozytorium.

Na podstawie tych informacji Subversion może określić, w jakim stanie znajduje się plik kopii roboczej:

  1. Nie zmieniony i nieaktualny. Plik nie został zmodyfikowany w kopii roboczej. Repozytorium nie zarejestrowało żadnych zmian w tym pliku od czasu jego wersji roboczej. Jeśli spróbujesz zaktualizować lub naprawić, nic nie zostanie wykonane.
  2. Zmienione lokalnie i nieaktualne. Plik został zmodyfikowany w kopii roboczej. Repozytorium nie zarejestrowało żadnych zmian w tym pliku od czasu jego wersji podstawowej. Aktualizacja nie zostanie wykonana. Zatwierdzenie do repozytorium powiedzie się.
  3. Niezmieniony i przestarzały. Plik w folderze roboczym nie został zmieniony, ale został zmieniony w repozytorium. Plik musi zostać zaktualizowany, aby pasował do bieżącej wersji publicznej. Naprawienie nie zostanie wykonane. Aktualizacja powiedzie się.
  4. Zmienione lokalnie i przestarzałe. Plik został zmieniony zarówno w folderze roboczym, jak iw repozytorium. Próba zatwierdzenia zakończy się niepowodzeniem. Plik należy najpierw zaktualizować, próbując scalić zmiany opublikowane przez innego programistę z lokalnymi. Jeśli Subversion nie może wykonać samego połączenia, użytkownik rozwiąże konflikt.

Gdy jest wyłączony tryb rozwoju w systemie plików Aplikacja bpm'online korzysta z własnej kopii roboczej każdego pakietu użytkownika, dla którego włączono wersjonowanie. Te kopie robocze są umieszczane w katalogu określonym w elemencie defPackagesWorkingCopyPath pliku konfiguracyjnego ConnectionStrings.config (patrz „ Jak wdrożyć aplikację na miejscu „).

Jeśli tryb rozwoju jest włączony w systemie plików, kopię roboczą można utworzyć ręcznie w katalogu [Ścieżka do zainstalowanej aplikacji] Terrasoft.WebApp Terrasoft.Configuration Pakiet [Nazwa pakietu] (patrz „ Tworzenie pakietu w trybie programowania w systemie plików „).

Aby pracować z Subversion (SVN) w systemie plików, zaleca się korzystanie z aplikacji klienckiej. TortoiseSVN wersje nie niższe niż 1,9. Jest on zaimplementowany jako rozszerzenie powłoki systemu Windows i jest osadzony w menu kontekstowym Eksploratora Windows. Dostępna jest szczegółowa dokumentacja dotycząca używania TortoiseSVN. tutaj .

Навигация сайта
Реклама
Панель управления
Календарь новостей
Популярные новости
Информация
Экономика стран www.mp3area.ru © 2005-2016
При копировании материала, ссылка на сайт обязательна.