wiki:Techniczne
Last modified 14 years ago Last modified on 11/15/07 21:14:39

Przechowywanie danych

Załóżmy że chcemy zabezpieczyć katalog /home/user/work/. Wtedy układ katalogów będzie wyglądał następująco:

/home/user/work/ nasz zabezpieczony katalog
/home/user/.fsos_work/ katalog roboczy FileSOS
/home/user/.fsos_work/conf.ini plik konfiguracyjny FileSOS
/home/user/.fsos_work/work kopia robocza SVN (o ile w konfiguracji nie podano innej lokalizacji)
/home/user/.fsos_work/repo lokalne repozytorium SVN (o ile w konfiguracji nie podano innej lokalizacji oraz korzysta się z lokalnego repozytorium)

W większośći przypadków program fsos_fuse tylko pośredniczy w wywołaniach systemowych pomiedzy /home/user/work/ a /home/user/.fsos_work/work. Inaczej jest podczas operacji zapisu, zmiany nazwy, obcięcia pliku, oraz stworzenia nowego. Wtedy poza pośrednictwem program wywołuje odpowiednie procedury SVN oraz kolejkuje commit.

Tworzenie zasobu

Podane przykładowe polecenia wywoływane podczas tworzenia zasobu. Są one zależne od tego jakie repozytorium będzie stosowane oraz istnienia katalogu zasobu.

Typ repozytorium:

  • lokalne - automatycznie tworzne przez fsos_admin w podanym lub domuślnym katalogu
  • zdalne - nie są automatycznie tworzone i zarządane; repozytorium dostępne na serwerze sieciowym (za pomocą protokołów svn://, svn+ssh://, http://,

https://), mogą również znajdować się na lokalnym dysku (ewentualnie dysku sieciowym) ale są traktowane jakio zdalne; ich stworzeniem musi zając się użytkownik;

Istnienie katalogu:

  • katalog nie istnieje - stworzenie nowego katalogu z wersjonowaniem
  • katalog istnieje - zawartość katalogu bedzie od tej pory wersjonowana

Przykładowe polecenia tworzenia zasobu

Repozytorium lokalne oraz nieistniejący katalog

  • mkdir /home/user/work/
  • mkdir /home/user/.fsos_work/
  • mkdir /home/user/.fsos_work/work
  • mkdir /home/user/.fsos_work/repo
  • svnadmin create /home/user/.fsos_work/repo
  • svn checkout file:///home/user/.fsos_work/repo /home/user/.fsos_work/work
  • mount

Repozytorium lokalne oraz istniejący katalog

  • mkdir /home/user/.fsos_work/
  • mkdir /home/user/.fsos_work/work
  • mkdir /home/user/.fsos_work/repo
  • svnadmin create /home/user/.fsos_work/repo
  • svn import /home/user/work/ file:///home/user/.fsos_work/repo
  • svn checkout file:///home/user/.fsos_work/repo /home/user/.fsos_work/work
  • rm -rf /home/user/work/* (ewentualnie)
  • mount

Repozytorium zdalne oraz nieistniejący katalog

  • mkdir /home/user/work/
  • mkdir /home/user/.fsos_work/
  • mkdir /home/user/.fsos_work/work
  • mkdir /home/user/.fsos_work/repo
  • svn checkout svn://host/repo " /home/user/.fsos_work/work
  • mount

Repozytorium zdalne oraz istniejący katalog

  • mkdir /home/user/.fsos_work/
  • mkdir /home/user/.fsos_work/work
  • mkdir /home/user/.fsos_work/repo
  • svn import /home/user/work/ svn://host/repo
  • svn checkout file:///home/user/.fsos_work/repo /home/user/.fsos_work/work
  • rm -rf /home/user/work/* (ewentualnie)
  • mount

Dane w pliku konfiguracyjnym

  • Ścieżka do kopi roboczej svn
  • Ścieżka do repozytorium
  • Ewentualne: nazwa użytkownika i hasło
  • Częstotliwość uaktualniana repozytorium
  • Informacje o ostatnim uaktualnieniu (wersja, data, itp)
  • Informacje o ostatniej synchronizacji (wersja, data, itp)

Programy wchodzące w skład FileSOS

fsos_fuse

  • Podstawowa część programu
  • Z użyciem FUSE mountuje się w podanym katalogu
  • Przekształca odwołania systemowe (open, read, write, itp) na odpowienie polecenia SVN
  • Udostępnia metodę komunikacji umożliwiającą kontrole aktualnie zamontowanej wersji
  • W funkcjonowaniu przypomina demona
  • Nie przeznaczony do bezpośredniego wywoływania
  • Może być uruchomionych wiele instancji, każda przypisana do jednego kontrolowanego katalogu

fsos_admin

  • Program pomocniczy ułatwiający zarządzanie zasobami FileSOS
  • Dostępne polecenia:
    • create - utworzenie nowego zasobu
    • mount - zamontowanie, wywołanie fsos_fuse
    • unmount - odmontowanie
    • clean - oczyszczenie repozytorium z zbędnych i/lub tymczasowych zapisów
    • delete - usunięcie zasobu, ewentualnie zaprzestanie wersjonowania zasobu oraz usunięcie poprzednich zapisów
    • info - informacje o zasobie
  • Program działający w linii komend

fsos_manager

  • Program pomocniczy ułatwiający zarządzanie zasobami FileSOS
  • Pracuje w środowisku graficznym
  • Udostępnia listę zasobów użytkownika
  • Dostępne możliwosci:
    • create - utworzenie nowego zasobu (ewentualny kreator)
    • mount - zamontowanie, wywołanie fsos_fuse
    • unmount - odmontowanie
    • clean - oczyszczenie repozytorium z zbędnych i/lub tymczasowych zapisów
    • delete - usunięcie zasobu, ewentualnie zaprzestanie wersjonowania zasobu oraz usunięcie poprzednich zapisów
    • info - informacje o zasobie
  • Elementy:
    • Tray icon
      • On left click - show main window
      • on right click - popup menu
    • Tray Menu
      • Exit
      • About
      • Show
      • mount point:
        • Unmount
        • Back to previous
    • Main Window
      • Menu:
        • File:
          • Nowy zasób
          • Zamknij
          • Zakończ
        • Zasób
          • Synchronizuj
          • Snapshot
          • Mount
          • Umount
          • Properties
        • Pomoc
          • Pomoc
          • Tip of the day
          • About
  • Lista: kolumny:
    • jest zamontowane
    • punkt montowania
    • repozytorium
    • aktualna wersja (data )
    • typ uaktualniania
  • Status bar
    • Opis przycisku
  • Previous versions list:
    • Filtr
    • Kolumny:
      • zaznaczona
      • numer
      • data zatwierdzenia
    • Popup menu:
      • Przywroć tą wersję
      • Pokaż tą wersję

Prototyp GUI

Attachments