Co ludzie myślą o kopalnych DVCS? [Zamknięte]

124

fossil http://www.fossil-scm.org
Znalazłem to niedawno i zacząłem używać go w moich projektach domowych. Chcę usłyszeć, co inni myślą o tym VCS.

To, czego mi brakuje, to obsługa IDE. Mam nadzieję, że nadejdzie, ale dobrze używam wiersza poleceń.

Moje ulubione rzeczy w Fossil: pojedynczy plik wykonywalny z wbudowanym serwerem internetowym wiki i śledzeniem błędów. Repozytorium to tylko jeden plik bazy danych SQLite ( http://www.sqlite.org ), na którym można łatwo tworzyć kopie zapasowe. Podoba mi się również to, że mogę uruchomić Fossil i przechowywać repozytorium na moim pendrive. Oznacza to, że mój rozwój oprogramowania stał się całkowicie przenośny.

Powiedz mi co myślisz....

javelinBCD
źródło
To wygląda naprawdę interesująco. Czy wiesz, czy jest jakieś narzędzie do wysyłania / ciągnięcia do / z git, mercurial lub svn?
Thilo
Znalazłem link na Fossil Wiki. Tak naprawdę nie patrzyłem na to. Ktoś, kto potrzebuje tej funkcji, spójrz i skomentuj: < fossil-scm.org/index.html/wiki?name=Import+CVS+Repositories >
javelinBCD
Ten adres URL został zmieniony na: fossil-scm.org/fossil/wiki?name=Import+CVS+Repositories
Mike DeSimone
3
Fossil dodał import i eksport GIT ... fossil-scm.org/index.html/doc/trunk/www/inout.wiki
javelinBCD
@javelinBCD: FYI Git nie jest akronimem
błąd

Odpowiedzi:

182

Panie Millikin, jeśli poświęci pan kilka chwil na przejrzenie dokumentacji dotyczącej skamielin, myślę, że są tam uwzględnione pańskie zastrzeżenia. Przechowywanie repozytorium w bazie danych SQLite jest prawdopodobnie bezpieczniejsze niż jakiekolwiek inne podejście. Zobacz tekst odsyłacza, aby poznać niektóre zalety korzystania z transakcyjnej bazy danych do przechowywania repozytorium. Jeśli chodzi o wzdęcia: cała sprawa jest w jednym samodzielnym pliku wykonywalnym, co wydaje się obalać tę obawę.

Pełne ujawnienie: jestem autorem skamieniałości.

Zwróć uwagę, że napisałem Fossil, ponieważ żaden inny DVCS nie spełniał moich potrzeb. Z drugiej strony moje potrzeby nie są Twoimi potrzebami, więc tylko Ty możesz ocenić, czy skamielina jest dla Ciebie odpowiednia. Ale zachęcam cię, żebyś przynajmniej zajrzał do dokumentacji i spróbował zrozumieć problem, który skamielina próbuje rozwiązać, zanim go odrzucisz.


źródło
43
Fossil wygląda świetnie, niezła robota.
Greg Hewgill,
7
Funkcje oferowane przez Fossil, których nie ma w innych DVCS, obejmują: - Zintegrowane wiki. - Zintegrowane śledzenie błędów - Niezmienne artefakty - Samodzielny, samodzielny plik wykonywalny, który można uruchomić w więzieniu chroot - Prosty, dobrze zdefiniowany, trwały format pliku - Zintegrowany interfejs sieciowy
A.Bouchez
71
Pełne ujawnienie: Jest także autorem SQLite;)
Alan Plum
18
+1 za tę część Twojej odpowiedzi: „Z drugiej strony, moje potrzeby nie są Twoimi potrzebami, więc tylko Ty możesz ocenić, czy skamielina jest dla Ciebie odpowiednia”. Przeszedłem szkolenie z zarządzania jakością, a oni zdefiniowali jakość jako „Adekwatność do celu”. Twoja odpowiedź wskazuje dokładnie w tym samym kierunku!
sergiol
1
@pluma, zacząłem interesować się Fossilem, odkąd dowiedziałem się, że jest on stworzony przez twórcę Sqlite, pana D Richarda Hippa :) Nawet ja go nie używałem, ale mogę sobie wyobrazić, że jest lekki i wytrzymały.
Edwin Yip
47

Po ponad roku używania Fossil w nietrywialnych projektach deweloperskich, czuję się na tyle pewnie, że mogę zająć się tym tematem.

Poniżej przedstawiam moje dotychczasowe doświadczenia. Czasami porównuję z git i svn, po prostu dlatego, że dobrze znam te SCM, a porównywanie ułatwia mi zrozumienie pomysłu.

Jestem całkowicie zakochany w tym SCM, więc to głównie punkty na plusie.

Co mi się podoba w Fossil:

1) Mamy kilka maszyn (win / mac / wiele dystrybucji Linuksa), a instalacja pojedynczego pliku wykonywalnego jest tak piękna, jak się wydaje. Brak zależności; po prostu działa. Git to bałagan plików, a piekło zależności w Subversion sprawia, że ​​jest on bardzo nieprzyjemny w niektórych dystrybucjach Linuksa, zwłaszcza jeśli musisz go samodzielnie zbudować.

2) Domyślny przepływ pracy Fossil idealnie pasuje do naszych projektów, a bardziej gitarowe przepływy pracy są możliwe w razie potrzeby.

3) Okazało się, że jest wyjątkowo solidny, nawet w przypadku dużych projektów. Nie spodziewałbym się niczego innego od facetów, którzy napisali sqlite. Żadnych wypadków, korupcji, zabawnych interesów.

4) Właściwie jestem bardzo, bardzo zadowolony z wydajności. Nie tak szybko, jak na wielkich drzewach, ale też niewiele wolniej. Nadrabiam stracony czas nie musząc sprawdzać dokumentacji przy każdym innym poleceniu, jak to ma miejsce w przypadku git.

5) Fakt, że za każdą operacją stoi wypróbowana, nieprawdziwa baza danych transakcyjnych, sprawia, że ​​lepiej śpię w nocy. Tak, przeszliśmy przez więcej niż jeden okropny incydent związany z przestarzałymi i uszkodzonymi repozytoriami Subversion (na szczęście pomocna społeczność pomogła nam je naprawić). Nie mogę sobie wyobrazić, aby działo się to w Fossil. Nawet Subversion 1.7.x używa Sqlite teraz do przechowywania metadanych. (Spróbuj wyłączyć zasilanie w trakcie zatwierdzania git - pozostawi to uszkodzone repozytoria!)

6) Zintegrowany tracker problemów i wiki są oczywiście opcjonalne, ale bardzo przydatne, ponieważ są zawsze dostępne - nie jest wymagana instalacja. Chciałbym, żeby tracker problemów miał więcej funkcji, ale hej - to SCM.

7) Wbudowany serwer i web gui są po prostu genialne i całkiem konfigurowalne poprzez css.

8) Czasami musimy importować do iz repozytoriów git i subversion. To oczywiste w Fossil.

9) Repozytorium pojedynczego pliku. Brak katalogów „.svn” w każdym miejscu.

Za czym tęsknię / czego nie lubię w Fossil:

1) Niech ktoś napisze TortoiseFossil dla naszych nietechnicznych użytkowników Windows :)

2) Społeczność nie jest jeszcze tak duża, więc prawdopodobnie wielu osobom trudno jest wprowadzić ją w swojej firmie. Miejmy nadzieję, że to się zmieni, uzyskując wszystkie korzyści płynące z dużej społeczności (dokumentacja, więcej testów nowych wersji itp.)

3) Chciałbym, żeby lokalny interfejs sieciowy miał funkcję wyszukiwania (w tym wyszukiwanie zawartości plików).

4) Mniej opcji scalania niż w git (chociaż przepływ pracy Fossil sprawia, że ​​scalanie jest mniej prawdopodobne).

Mam nadzieję, że każdy daje szansę Fossilowi ​​- świat jest lepszym miejscem z rzeczami, które po prostu działają i których nie trzeba być naukowcem od rakiet, aby ich używać.

grand johnson
źródło
2
Zapomniałem wspomnieć, że TortoiseFossil prawdopodobnie nadejdzie któregoś dnia, ale na razie mamy code.google.com/p/fuel-scm .
grand johnson,
3
Jest „SharpFossil” / „WinFossil”: repository.mobile-developers.de/cgi-bin/ikoch/sharpfossil/ ...
cmroanirgo
2
Istnieje przepis na dodanie pola wyszukiwania biletów, które działa naprawdę dobrze. Wykorzystuje możliwości skryptowe TH1, które oferuje
Fossil
Narzędzie fuel-scm zostało przeniesione pod adres fuel-scm.org/fossil/index . Innym podejściem jest wykorzystanie środowiska IDE programu Visual Studio, jeśli jest używane dla projektów związanych z systemem Windows. Zobacz dokumentację na stronie fossil-scm.org/xfer/doc/trunk/www/fossil-from-msvc.wiki
g5thomas
Po prostu ciekawy: czy coś się zmieniło w ostatnich latach?
jno
14

Fossil jest mały, prosty, ale potężny i solidny, przypomina mi kilka zasad kultury C. Lubiane przez tych, którzy rozwijają się samodzielnie i nadal współpracują. Każdy świetny projekt powinien zaczynać się od zasad i kontynuować je u podstaw, ponieważ gromadzi więcej warstw (GUI, dodatkowe funkcje).

Jestem pod wrażeniem Fossil i rozpoczęciem użytkowania ... przyjrzeć kopalnych

Twoje zdrowie

vijiboy
źródło
11

Ląduję na tej stronie po roku od ostatniego postu, rekurencyjny dodawanie, o którym tu mowa, jest teraz załatwiony.

Fossil fascynuje mnie prostotą, szczególnie po tym, jak zmagałem się z systemem śledzenia błędów, który działałby z Mercurial. Muszę zobaczyć, jak zarządzać wieloma projektami, publikować repozytoria dla dostępu wielu użytkowników i jak łączyć, zarządzać łatkami itp. Mam wrażenie, że nie będzie to rozczarowujące w przyszłości.

rawjeev
źródło
7

Nie jestem zainteresowany używaniem go do kontroli wersji kodu źródłowego, ale interesuje mnie rozproszona osobista wiki z kontrolą wersji, którą mogę synchronizować między wszystkimi używanymi przeze mnie maszynami.

Kristopher Johnson
źródło
4

Damian,

1 / tak, Fossil nie obsługuje rekursywnego dodawania. Istnieją jednak dość proste obejścia, takie jak

for /r %i in (*.*) do fossil add "%i"

w systemie Windows i

find . -type f -print0 | xargs -0 fossil add --

w systemie Unix.

2 / Widziałem komunikat o źle sformułowanym manifeście podczas dodawania pliku ze znakami spoza ASCII w nazwie pliku. Problem został rozwiązany w ostatniej kompilacji.

Pozdrawiam, Petr


źródło
2
Zawsze możesz użyć PowerShell w systemie Windows i sprawia, że ​​tego rodzaju linia poleceń działa znacznie przyjemniej.
javelinBCD
14
W systemie Linux / Unix / Mac OS XI po prostu wykonaj „fossil add”. i dodaje wszystko, wszystkie moje podkatalogi i wszystko
Trausti Thor
2
„Fossil addremove” jest również w pełni rekurencyjny na wszystkich platformach. Powyższy post jest najprawdopodobniej nieaktualny.
FvD
1
Tak, ten post jest przestarzały
Johannes Kuhn,
3

Myślę, że skamielina jest naprawdę fajna. Najważniejszą cechą dla mnie była łatwa instalacja i przyjazne dla programistów ustawienia domyślne. Obecnie używam go do śledzenia lokalnych zmian moich plików. (Nasz projekt jest hostowany w sourceforge i śledzony w CVS). W ten sposób mogę „zatwierdzać” lokalnie, nawet jeśli w innym przypadku spowodowałoby to uszkodzenie projektu, więc mniejsze zmiany mogą być również śledzone.

zslevi
źródło
1

Fossil jest dobry. Jest prosty i łatwy w użyciu. Jeśli Fossil może zapewnić interfejs GUI do zameldowania i wyewidencjonowania, byłoby lepiej (preferuj java gui niż archiwizowanie wieloplatformowego GUI).

Główne zalety Fossil to "open source" i "use SQLite database", więc ktoś może skompilować kopalny kod źródłowy, aby kopać działały na platformie Google Android (urządzenia mobilne i tablety).

vgps
źródło
0

Próbuję teraz twojego vcs. Podoba mi się pomysł integracji wszystkich. W końcu to wszystko, czego chcę, kiedy szukam takiego systemu. Jestem aktywnym użytkownikiem Mercurial. I nie mogłem znaleźć integracji z trackerem problemów (próbowałem bezskutecznie ustawić p Trac z mercurial w przeszłości). Po pewnym teście zdaję sobie sprawę, że: 1) polecenie "dodaj" nie jest rekurencyjne lub nie mogę znaleźć w dokumencie sposobu na zrobienie tego 2) piszę bat (pracuję z Windows), aby dodać 750 plików i uruchamiam go (zajęło to chwilę). Po zatwierdzeniu uruchomienia skacze z komunikatem „manifest źle sformułowany”

Myślę, że możesz zająć się tymi problemami i innymi, wykonując ankietę, taką jak ta Mercurial, na https://www.mercurial-scm.org/wiki/UserSurvey . możesz napisać do mnie na dnoseda na gmail

jestem zainteresowany twoją pracą. ulepszaj to.

pozdrowienia

ps .: jako usprawnienie burmistrza możesz dodać coś takiego jak gitstat

user2427
źródło
3
(Nie jestem programistą Fossil - tylko użytkownikiem) 1. ma narzędzie do śledzenia problemów (jest to samo hosting) 2. folder Fossil add jest rekurencyjny (ignoruje pliki / foldery z początkowym „.”) Użyłem go zeszłej nocy, aby aa lokalne repozytorium skamieniałości pnia podwersji plt-scheme.org bez problemu 3. Lista mailingowa jest aktywna, a programista bardzo szybko reaguje - i nie wydaje się w tej chwili zbyt zatłoczony. Jest też narzędzie do śledzenia problemów, którego nie musiałem używać, ponieważ Fossil był dla mnie wolny od błędów.
Stephen
1
Fogbugz (śledzenie błędów) współpracuje z Kiln (repozytorium online dla Mercurial), oba dostarczone przez Fogcreek
Toby Allen
-9

Być może niewykształcona reakcja odruchu kolanowego, ale pomysł przechowywania repozytorium w binarnym blobie, takim jak baza danych SQLite, przeraża mnie. Wątpię również w korzyści płynące z włączenia wiki i narzędzi do śledzenia błędów bezpośrednio do VCS - albo są niedostatecznie wyposażone w porównaniu z pełnym oprogramowaniem, takim jak Trac, albo VCS jest ogromnie rozdęty w porównaniu z Subversion lub Bazaar.

John Millikin
źródło
21
SQLite nie jest „binarnym obiektem blob”. To naprawdę otwarty format plików, wieloplatformowy i dobrze udokumentowany. Ponieważ SQLite jest najczęściej używaną bazą danych, zawsze będzie ją obsługiwać w przyszłości. A magazyn artefaktów używany w kopalnych jest również wydajny, dobrze udokumentowany i łatwy do odczytania. SQLite jest obecnie jednym z największych projektów open source i jest hostowany przy użyciu oprogramowania Fossil.
A.Bouchez
3
jeden szybki i łatwy sposób interakcji z bazą danych sqlite, w tym eksport, można znaleźć w rozszerzeniu firefox code.google.com/p/sqlite-manager
matt wilkie
8
Wszystkie DVCS są „binarnymi plamami”, kiedy patrzysz na ich repozytoria. Ostatnim niebinarnym był CVS ... Ja też miałem zastrzeżenia, ale się z nimi uporałem.
Jürgen A. Erhard
2
„Fossil nie jest oparty na SQLite. Obecna implementacja Fossil wykorzystuje SQLite jako lokalny magazyn dla zawartości rozproszonej bazy danych oraz jako pamięć podręczną dla metainformacji o rozproszonej bazie danych, która jest wstępnie obliczana w celu szybkiej i łatwej prezentacji. programu SQLite w tej roli jest szczegółem implementacji i nie jest podstawą projektu. " www.sqlite.org/debug1/doc/trunk/www/theory1.wiki
Gulbahar