Tworzę osobiste projekty na dwóch komputerach bez korzystania ze wspólnego serwera lub połączenia sieciowego między nimi.
Czy jakieś popularne systemy kontroli wersji niezawodnie obsługują korzystanie z przenośnej pamięci masowej (takiej jak urządzenie flash USB) jako wspólnego repozytorium?
version-control
billpg
źródło
źródło
Odpowiedzi:
Użyj DVCS, takich jak Git lub Mercurial .
Rozproszone systemy kontroli wersji nie mają wspólnego centralnego serwera.
Dzięki DVCS każda kopia repozytorium zawiera pełną historię - wszystko. Oznacza to, że w przypadku użycia na kluczu USB wszelkie zmiany, które wprowadzisz, zostaną wprowadzone w repozytorium na kluczu USB, a po przeniesieniu między komputerami zachowa tę historię.
źródło
Oprócz GIT, Mercurial itp. Zasugerowanych powyżej, spójrz także na Fossil - Zaletą tego jest to, że pliki binarne w czasie wykonywania są małe (około 1 MB dla Windows i Linux), wymagana jest przenośna i zerowa instalacja. Dlatego, w przeciwieństwie do innych (o ile mi wiadomo), można go umieścić na urządzeniu pamięci masowej i uruchomić na dowolnym komputerze, do którego podłączona jest pamięć, bez konieczności najpierw instalowania aplikacji na komputerze. Obejmuje Wiki i system śledzenia zmian / błędów z repozytorium. Ma również wbudowane GUI.
Nie używałem go poważnie (głównie używam GIT), ale byłem pod wrażeniem jego lekkości, a włączenie Wiki i narzędzia do śledzenia defektów czyni go idealnym do małych projektów. Moją jedyną obawą było to, że niektóre z bardziej zaawansowanych funkcji GIT mogą nie być możliwe, aw przeciwieństwie do GIT społeczność użytkowników nie jest tak duża, że łatwo jest znaleźć odpowiedzi na pytania.
źródło
Korzystanie z DCVS jest prawdopodobnie dobrym pomysłem, ale nie jest to jedyna opcja.
Mam małe repozytorium CVS na pendrivie USB. Kiedy chcę uzyskać do niego dostęp, po prostu muszę użyć ścieżki katalogu głównego repozytorium
cvs -d <path>
lub ustawić$CVSROOT
tę ścieżkę (co oczywiście wymaga zamontowania napędu systemowego w systemie).Jeśli jesteś już przyzwyczajony do korzystania z CVS, powinno to być wykonalne. To samo powinno mieć zastosowanie do SVN. Oznacza to po prostu, że twoje centralne repozytorium znajduje się na pendrivie i nie zawsze jest widoczne.
Istnieją argumenty przemawiające za użyciem DCVS zamiast ogólnie CVS. Nie sądzę, aby na te argumenty miał szczególny wpływ to, czy centralne repozytorium znajduje się na dysku USB, czy gdzie indziej. Na przykład równie łatwo można utworzyć repozytorium git na dysku USB.
źródło
Jako dodatek do innych odpowiedzi:
Podczas gdy DVCS bardzo dobrze pasuje do tego problemu, możesz technicznie użyć Subversion, jeśli czujesz się z tym lepiej. Subversion może używać katalogu lokalnego zamiast serwera centralnego. Możesz po prostu umieścić to na pendrivie i używać.
Wadą, w porównaniu do DVCS, jest to, że możesz pracować tylko z Subversion (tj. Zatwierdzać, przeglądać logi itp.), Gdy napęd pendrive jest podłączony. Ponadto, zawsze musi to być ten sam napęd pendrive (lub przynajmniej -to-date copy), ponieważ w Subversion nie powinieneś używać więcej niż jednego repozytorium (jest to część niepoddana dystrybucji). Więc jeśli kiedykolwiek zapomnisz swojego napędu kciuka, nie możesz go używać, w przeciwieństwie do Git lub Mercurial.
Uwaga:
Jak wyjaśniono powyżej i w komentarzach, DVCS naprawdę lepiej pasuje do twojego problemu. Wspomniałem tylko o Subversion ze względu na kompletność, a jeśli masz jakiś szczególny powód, aby używać Subversion.
źródło
svn
(lub rzeczywiście Cv) może przemawiać za korzystaniem z tego rozwiązania, ale w interesie pełnego ujawnienia należy również wspomnieć o wadach tego podejścia. Zmodyfikuj punkty z mojego komentarza do swojej odpowiedzi. Jeśli to zrobisz, chętnie wyczyszczę (skasuję) moje komentarze. * 8 ')