Jakiego oprogramowania kontroli wersji użyć do osobistego Dropbox? [Zamknięte]

9

Chcę skonfigurować repozytorium synchronizacji, które byłoby podobne do Dropbox.

Cele / wymagania:

  1. Bezpłatne (bardzo preferowane Open Source)
  2. Host systemu Linux (prawdopodobnie Ubuntu)
  3. Klienci Windows / Mac / Linux
  4. Potencjał dla wielu użytkowników z ograniczonym dostępem (opcjonalnie)
  5. Preferowane łatwe, niekoniecznie musi być automatyczne
  6. Kontrola wersji bardzo preferowana

Zasadniczo chcę być w stanie korzystać z wielu komputerów, możliwe z różnymi systemami operacyjnymi, oraz mieć dostęp do plików, korzystać z nich i synchronizować je wszystkie. Chcę też mieć lokalną kopię repozytorium, gdy nie jestem podłączony do sieci (tak jak w przypadku laptopa, chcę zachować lokalne repozytorium, aby zachować zmiany i połączyć je później z repozytorium „master” ).

Na przykład edytuję kilka zdjęć na moim laptopie w ciągu dnia poza moją siecią, ale kiedy wrócę do domu, chciałbym zsynchronizować zmiany, w tym zmiany przyrostowe, z moim komputerem stacjonarnym w domu.

Chciałbym również, aby moi współlokatorzy mieli również dostęp do tego repozytorium i mogli z niego korzystać, ale ograniczali dostęp do niektórych plików. Na przykład, mogę chcieć użyć tego do tworzenia kopii zapasowych danych finansowych, ale nie chcę, aby mieli dostęp do tych plików.

Jestem programistą i znam SVN, ale wiem, że nie byłoby to najbardziej odpowiednie, ponieważ nie radzi sobie dobrze z plikami binarnymi i nie prowadzi lokalnego repozytorium. Wiem, że istnieją lepsze wybory, ale tak naprawdę nie znam ich wystarczająco dobrze, aby wybrać najlepszy.

wag2626
źródło
czy powinna to być wiki społeczności?
wag2639
1
Nie, jeśli mnie o to zapytasz, to tylko pytanie dotyczące oprogramowania, na które raczej nie będzie łatwo odpowiedzieć
Ivo Flipse,
Myślałem o rtęci lub coś w tym rodzaju, ale nie znam różnic między nimi.
wag2639
1
SVN nie radzi sobie dobrze z plikami binarnymi? Wiadomości dla mnie, do tego właśnie używam!
Fałszywe imię

Odpowiedzi:

5

W przypadku subversion możesz mieć lokalne repozytorium - po prostu utwórz je lokalnie i gotowe. Następnie możesz regularnie synchronizować ze zdalnym repozytorium za pomocą svnsync. Lub zrób to na odwrót, użyj zdalnego repo i zsynchronizuj lokalnie (tak jak robię to w przypadku kopii zapasowych).

Svn dobrze radzi sobie z plikami binarnymi, a przynajmniej z każdym innym SCM. Problem z plikami binarnymi polega na tym, że trudno je odróżnić, co nie jest wadą svn, tylko właściwością plików binarnych.

Git lub Mercurial (lub Bazaar ) brzmi bardziej odpowiednio do twoich potrzeb, ponieważ są rozproszonymi SCM, ponieważ cały czas operujesz na lokalnym repozytorium, a następnie wypychasz zmiany do zdalnego repo. Mercurial jest prawdopodobnie najlepszy dla systemu Windows, ponieważ masz dobre narzędzia GUI; Bazaar jest opracowany przez Canonical i Git przez Linusa. To o wszystkich różnicach między nimi, na których wszyscy się troszczą :) Istnieją porównania w sieci - oprócz tego, że git nie jest rodzimym systemem Windows, Mercurial jest prawdopodobnie lepszy, ponieważ obsługuje więcej „tego, co masz, to to, co mają użytkownicy zdalni”, podczas gdy Git jest bardziej „tym, co mają użytkownicy zdalni, jest tym, na co im pozwalasz” co wymaga większego wysiłku od ciebie, biorąc pod uwagę twoje wymagania (oba oczywiście mogą współużytkować wszystkie lub podzbiory, ale Mercurial łatwiej jest ograniczyć podzbiór, niż Git może udostępniać wszystkie)

Jeśli chcesz używać „oba”, możesz mieć git-svn lub SVK, które dodają rozproszoną funkcjonalność do SVN.

gbjbaanb
źródło
7

Sugerowałbym git. Wystarczy skonfigurować różne repozytoria dla swoich danych finansowych i „udostępnionych” danych. Dostęp jest udzielany przez ssh.

sml
źródło
tak, git jest rozwiązaniem.
alexanderpas
Ostatnio sprawdziłem, że git nie ma obsługi okien opadania.
Nifle
2
Kiedy był ostatni raz? Przed ostatnim razem (ponad rok temu) powiedziałbym to samo, ale teraz jest przyzwoity klient TortoiseGit, a msysgit jest całkiem OK, czasami trochę podskakuje. Ale w ciągu ostatnich kilku miesięcy było dość stabilne i użyteczne
jdehaan
@jdehaan - To było około sześć miesięcy temu sprawdziłem ostatni. Sprawdzę twoje sugestie.
Nifle
1

Czy jest jakiś szczególny powód, dla którego Dropbox nie działa dla Ciebie? Obejmuje wszystko na liście funkcji z dodatkiem obsługi urządzeń mobilnych. Nie jestem pewien, czy będziesz w stanie znaleźć „łatwy” system kontroli wersji, który dobrze radzi sobie z plikami binarnymi.

Jeśli zdecydujesz się korzystać z Git, oto ciekawy post na temat hostowania repozytoriów Git w Dropbox:

http://intranation.com/entries/2010/02/using-dropbox-git-repository/

Ta technika powinna również działać z repozytoriami Mercurial i Subversion.

Kevin
źródło
Gdyby musiał zagwarantować bezpieczeństwo danych, nie byłby w stanie z Dropbox, ponieważ jest to firma zewnętrzna.
Darth Android
Tak, to główny powód, ale ma też mały limit i nie chcę płacić.
wag2639
Jeśli martwisz się o bezpieczeństwo, po prostu zaszyfruj dane. Twój dom może zginąć w pożarze, ktoś może się włamać i ukraść komputer, albo dysk twardy może zawieść. Prawdopodobnie będziesz mieć większe bezpieczeństwo danych z dużym renomowanym dostawcą usług, takim jak Dropbox. Mogę jednak wczuć się w to, że nie chcę płacić.
Lèse majesté
1
„Jeśli musi zagwarantować bezpieczeństwo danych ...”? Jeśli musi zagwarantować bezpieczeństwo danych, to jest zepsuty. Nic nie jest odporne na włamanie. Ufasz swojemu usługodawcy internetowemu po prostu za pomocą Internetu, więc czemu nie zaufać Dropbox. W kategoriach względnych (z których naprawdę trzeba korzystać) Dropbox jest najbezpieczniejszym z dostępnych.
cottsak
1

iFolder . Sprawdź, czy to funkcje, aby wiedzieć, czy tego właśnie szukasz. (Nie ma kontroli wersji, więc jeśli ta funkcja jest koniecznością , iFolder nie jest tym, czego szukasz).

Po prostu zapisujesz pliki lokalnie - jak zawsze - a iFolder automatycznie aktualizuje pliki na serwerze sieciowym i dostarcza je na inne używane maszyny.

GmonC
źródło