Dobry klient SVN dla systemu Linux (Ubuntu) [zamknięty]

160

Subversion ma doskonałego klienta na Windows (oczywiście Tortoise). Wszystko, co wypróbowałem na Linuksie, po prostu - cóż - jest do bani w porównaniu ...

BuZZ-dEE
źródło
1
Dupe od stackoverflow.com/questions/52105/...
bradtgmurray

Odpowiedzi:

104

Zastrzeżenie: Dawno, dawno temu byłem jednym z programistów RabbitVCS (wcześniej znanego jako NautilusSvn).

Jeśli używasz Nautilusa, możesz być zainteresowany RabbitVCS (wspomnianym wcześniej przez Trevora Bramble). To niezafałszowany klon TortoiseSVN dla Nautilusa napisany w Pythonie. Chociaż wciąż jest wiele do zrobienia (szczególnie w obszarze wydajności), niektórzy ludzie wydają się być z tego całkiem zadowoleni.

Nazwa całkiem pasuje do projektu, bo historia, do której się odwołuje, dość dokładnie oddaje tempo rozwoju (czyli długie drzemki). Jeśli zdecydujesz się zacząć używać RabbitVCS jako klienta kontroli wersji, prawdopodobnie będziesz musiał ubrudzić sobie ręce.

Bruce van der Kooij
źródło
4
wypróbowałem to i jestem zakochany ... dzięki za opracowanie: D
Gabriel Solomon
1
RabbitVCS wygląda bardzo ładnie! Prawie szkoda, że ​​przestałem używać svn na rzecz Mercurial: D
Kimble
1
Naprawdę bardzo miły klient. Zainstalowałem go wczoraj i nie mogłem być szczęśliwszy.
Nils Pipenbrinck
Wow - działa świetnie na Ubuntu 10.4 - dzięki za wskazówkę.
HDave
4
Spowalnia mój komputer do punktu bezużyteczności.
Matthew Przeczytaj
33

Generalnie używam wiersza poleceń dla svn, to najszybszy i najłatwiejszy sposób, aby to zrobić, szczerze mówiąc, polecam wypróbowanie.
Zanim to odrzucisz, powinieneś prawdopodobnie zadać sobie pytanie, czy naprawdę jest jakaś funkcja, do której potrzebujesz GUI i czy wolisz otworzyć aplikację GUI i pobrać pliki, czy po prostu wpisać „svn co svn: // site -goes-here.org/trunk ”

Możesz łatwo dodawać, usuwać, przenosić, zatwierdzać, kopiować lub aktualizować pliki za pomocą prostych poleceń podanych w "svn help", więc dla większości użytkowników jest to więcej niż wystarczające.

HappySmileMan
źródło
9
Narzędzie wiersza poleceń nie jest takie świetne, jeśli chcesz pracować w GNOME bez dotykania powłoki.
tovare
29
Dlaczego chcesz pracować bez dotykania skorupy (lub dlaczego myślisz, że możesz być w ten sposób w połowie tak produktywny), pozostaje tajemnicą.
Carl Meyer,
17
GUI jest przyjemne, gdy trzeba selektywnie zatwierdzać pliki, ponieważ wszystko inne terminal jest wystarczająco dobre. Wszystkie problemy, które miałem z CLI, wynikały z tego, że nie rozumiałem, co się naprawdę dzieje
Slartibartfast
72
-1, pytanie nie brzmi „Czy powinienem używać CLI dla SVN?”, Tylko „Czy ktoś może polecić klienta podobnego do TortoiseSVN dla Linuksa?”.
cdmckay
7
Uważam, że w przypadku scalania klient graficzny z szybkimi wizualnymi różnicami po kliknięciu plików bardzo pomaga!
Peter Ajtai,
22

Na początek postaram się tutaj nie zabrzmieć flamastycznie;)

Ech ... Dlaczego ludzie nie chcą, aby klienci zintegrowani z eksploratorem plików byli drogą do zrobienia? Jest o wiele bardziej wydajne niż otwieranie terminali i pisanie. Prosta matematyka, ~ dwa kliknięcia myszą w porównaniu z ~ 10 + naciśnięciami klawiszy. Muszę jednak zaznaczyć, że uwielbiam wiersz poleceń, ponieważ wykonuję dużo pracy administracyjnej i wolę automatyzować rzeczy tak szybko i łatwo, jak to tylko możliwe.

Zepsuty przez TortoiseSVN w systemie Windows byłem zdumiony brakiem zintegrowanego klienta podobnego do żółwia, kiedy przeniosłem się na ubuntu. Dla zwykłych programistów zintegrowany klient IDE może być wystarczający, ale do ogólnego użytku i, powiedzmy, grafików lub innych przypadkowych pracowników biurowych, klient musi być zintegrowany ze standardowym eksploratorem plików, w przeciwnym razie większość ludzi w ogóle nie będzie go używać .

Kilka uwag na temat niektórych klientów:

kdesvn, Klient, który jak dotąd podoba mi się najbardziej, chociaż jest jedna ogromna irytacja w porównaniu z TortoiseSVN - musisz wejść w specjalny tryb układu subversion, aby uzyskać nakładki wskazujące stan pliku. Dlatego nie nazwałbym zintegrowanego kdesvn.

NautilusSVN wygląda obiecująco, ale od wersji 0.12 ma problemy z wydajnością z dużymi repozytoriami. Pracuję z repozytoriami, w których kopie robocze mogą czasami zawierać ~ 50 000 plików, które TortoiseSVN obsługuje, ale NautilusSVN nie. Mam więc nadzieję, że NautilusSVN wkrótce otrzyma nową zoptymalizowaną wersję.

RapidSVN nie jest zintegrowany, ale spróbowałem. Zachował się dość dziwnie i kilka razy się zawiesił. Został odinstalowany po około 20 minutach.

Naprawdę mam nadzieję, że projekt NautilusSVN wkrótce wyda nową wersję zoptymalizowaną pod kątem wydajności.

Wygląda na to, że NaughtySVN może wyglądać całkiem fajnie, ale na razie brakuje mu nakładek ikon i nie ma wydania od dwóch lat ... więc powiedziałbym, że NautilusSVN jest naszą jedyną nadzieją.


źródło
13
To, co jest efektywne dla jednego, nie jest efektywne dla drugiego.
rasjani
2
W niektórych przypadkach wiersz poleceń jest szybszy. Szczególnie jeśli już nawigujesz po drzewie katalogów w terminalu. W niektórych przypadkach integracja svn w przeglądarce jest bardzo przyjemna. W szczególności lubię mieć możliwość otwarcia folderu i natychmiastowego, graficznego podglądu, które pliki zostały zmodyfikowane, które są wpisane, a które nie są dodawane do repozytorium. W takim przypadku nie można interpretować danych wyjściowych z narzędzia CLI tak szybko, jak oglądanie emblematów w przeglądarce. Jednak założenie, że narzędzie, które jest najlepsze dla Ciebie, jest najlepsze dla innych, jest bardzo, bardzo aroganckie.
dusktreader
1
Użytkownik VIM tutaj. Co to jest eksplorator plików?
thomas-peter
Simple math, ~two mouse clicks versus ~10+ key strokes Mysz wymaga wskazania jej (zapytaj ekspertów od UI, to nie bez znaczenia), a to, co możesz zrobić z 10 naciśnięciami klawiszy, może mieć znacznie większą gęstość operacji niż kliknięcia myszą (np. Autouzupełnianie, symbole wieloznaczne, wyszukiwanie w historii poleceń ...). Wciąż jest kilka razy, kiedy jedno kliknięcie oszczędza czas (np. Kopiowanie-wklejanie z wyjścia ostatniego polecenia zamiast UP i umieszczanie $ (...)), ale jest więcej wyjątków. W każdym razie upraszczanie za pomocą „prostej matematyki” jest po prostu błędne.
Narcolessico
16

kdesvn jest prawdopodobnie najlepszym, jaki znajdziesz.

Ostatnio sprawdzałem, że może połączyć się z konquerorem, ale minęło trochę czasu, przeszedłem do gita :)

Kent Fredric
źródło
15

Możesz także przyjrzeć się git-svn , który jest w istocie front-endem gita do subversion.

Glen Solsberry
źródło
1
git-svn jest jedynym klientem svn, jakiego kiedykolwiek mogłem produktywnie używać.
Dustin
3
+1. Wydaje się to dziwne, ale git jest lepszy w subversion niż sam subversion - operacje działają szybciej, ma rozsądne narzędzie grep, zużywa mniej miejsca na dysku po stronie klienta (!) I zapewnia bufor do przechwytywania błędów popełnienia.
4
Nie zaliczyłbym tego jako „klienta Subversion”.
Adam Byrtek
@AdamByrtek Jeśli może wyewidencjonować z repozytorium svn i zatwierdzić zmiany w repozytorium svn nadrzędnym, jest to klient svn. Myślę, że myślisz w kategoriach zastosowania istniejącego doświadczenia w działaniu svn.
Peter Cordes
git-svn jest BARDZO powolny podczas sprawdzania dużego projektu, więc prawdopodobnie. chcę zrobić płytko z ostatnich stu obrotów lub coś podobnego. --depthnie jest obsługiwany; zobacz stackoverflow.com/questions/747075/… aby dowiedzieć się, jak to zrobić półautomatycznie. (za pomocą, svn logaby znaleźć bieżącą prędkość -r n:HEAD). Użyłem tego, aby pobrać drzewo źródłowe Audacity, w którym mogłem się pobawić, i nałożyć na niego niektóre łatki z pakietu Debiana. A wszystko to za pomocą narzędzi git, których używam lokalnie. :)
Peter Cordes
12

IMHO jest jeden świetny klient svn gui, SmartSVN. Jest to projekt komercyjny, ale istnieje wersja podstawowa (w 100% funkcjonalna), z której można korzystać bezpłatnie, nawet w celach komercyjnych. Jest napisany w Javie, więc jest wieloplatformowy (wymaga pakietu sun-java *) http://smartsvn.com


źródło
2
Jeśli kiedykolwiek korzystałeś z TortoiseSVN, zaczniesz nienawidzić SmartSVN w ciągu kilku dni, nawet jeśli nie zapłaciłeś za to ani grosza: jest to niezwykle niewygodne i nieintuicyjne w codziennej pracy (chyba że przeszedłeś szkolenie).
AntonK,
i nie działa domyślnie z openJDK
mlvljr
Pobrałem i pracuję z tym. Jak dotąd super!
B Faley
5

Myślę, że możesz rzucić okiem na RabbitVCS

RabbitVCS to zestaw narzędzi graficznych napisanych w celu zapewnienia prostego i łatwego dostępu do używanych systemów kontroli wersji. Obecnie jest zintegrowany z menedżerem plików Nautilus i obsługuje tylko Subversion, ale naszym celem jest włączenie innych systemów kontroli wersji, a także innych menedżerów plików. RabbitVCS jest inspirowany TortoiseSVN i innymi.

Mam zamiar spróbować ... wygląda obiecująco ...

opensas
źródło
+1 rabbitvcs rocks!, Wygląda na to, że mam Tortoise SVN nad Ubunutu :)
shahjapan
2

Nikt inny o tym nie wspomniał i ciągle zapominam nazwę, więc dodam te instrukcje tutaj dla siebie, gdy następnym razem go wyszukam ...

obecnie pagavcs wydaje się być najlepszą opcją .

chcesz jeden z tych .debplików

sillyspamfilter: //pagavcs.googlecode.com/svn/repo/pool/main/p/pagavcs/

(Wersja 1.4.33 jest tym, co zainstalowałem teraz, więc wypróbuj tę, jeśli najnowsza powoduje problemy)

zainstaluj, a następnie uruchom

nautilus -q

aby zamknąć Nautilusa, a następnie ponownie otworzyć Nautilusa i powinieneś być dobry bez konieczności wylogowywania / zamykania

Niestety królik po prostu dławi się dużymi repozytoriami, więc jest bezużyteczny, paga nie spowalnia przeglądania, ale też nie próbuje uciekać się do katalogów, aby sprawdzić, czy coś się zmieniło.

Kriss
źródło
1

Jestem bardzo zadowolony z kdesvn - bardzo dobrze integruje się z Konquerorem, podobnie jak trortousesvn z Windows Explorerem i obsługuje większość funkcjonalności żółwia.

Oczywiście skorzystasz na tej integracji, jeśli używasz kubunto, a nie ubuntu.

Sunny Milenov
źródło
1

Spójrz na stół roboczy SVN, jest przyzwoity, ale nie doskonały

sudo apt-get install svn-workbench
Drejc
źródło
1

Czasami używam kdesvn do pracy bezpośrednio z repozytorium.

Często używam Subclipse podczas pracy nad projektami za pośrednictwem Eclipse.

Ale przede wszystkim używam starego dobrego CLI. Z niektórymi aliasami i skryptami bash do tworzenia kopii zapasowych, jest to naprawdę najbardziej zwięzła i niezawodna metoda użycia svn.

Wypróbowałem NautilusSVN (bez związku z NaughtySVN ) i svn-workbench i stwierdziłem, że są zbyt problematyczne lub brakuje im funkcjonalności. Wiem, że kiedyś wypróbowałem RapidSVN, ale nie mogłem być pod wrażeniem, ponieważ został szybko odinstalowany, ale nic z tego nie pamiętam.

Trevor Bramble
źródło
1

Jeśli go używasz, NetBeans ma doskonałe zarządzanie kontrolą wersji, z kilkoma klientami oprócz SVN.

Zalecałbym jednak, aby nauczyć się obsługi SVN z wiersza poleceń. CLI to duch Linuksa :)

samoz
źródło
1

Jeśli TortoiseSVN jest naprawdę zakorzeniony, możesz spróbować użyć go przez WINE? Chociaż tego nie próbowałem.

W przeciwnym razie stwierdziłem, że Eclipse z Subversive jest całkiem niezłe.

Grundlefleck
źródło
2
Próbowałem TortoiseSVN z WINE, ale bez powodzenia, ponieważ TortoiseSVN jest rozszerzeniem powłoki, które wymaga w pełni funkcjonalnego Eksploratora Windows, którego nie ma w WINE.
Andrea Francia
1

Jeśli używasz zaćmienia, podcięcie jest najlepszym, jakiego kiedykolwiek używałem. Moim zdaniem powinno to również istnieć samodzielnie ... Łatwe w użyciu, połączone z kodem i projektem, który masz w zaćmieniu ... Idealne dla programisty, który używa zaćmienia i chce mieć GUI.

Osobiście wolę klienta wiersza poleceń, zarówno dla systemu Linux, jak i dla systemu Windows.

Edycja: jeśli używasz XFCE i jego menedżera plików (zwanego Thunar), istnieje wtyczka, która działa całkiem dobrze. Jeśli nie chcę otwierać terminala, po prostu używam tego, ma wszystkie funkcje, jest szybki i łatwy w użyciu. Jest też jeden dla gita, chociaż ...

Atokreacje
źródło
1

Nautilus udostępnia menu kontekstowe dla działań svn

sudo apt-get install nautilus-script-collection-svn

cp -r /usr/share/nautilus-scripts/Subversion ~/.gnome2/nautilus-scripts/

Po więcej informacji

Menu kontekstowe Nautilusa

Santhosh Shettigar
źródło
1

Jako programista używam klienta eclipse + sub-eclipse (zakładając, że używasz svn do pobrania jakiegoś projektu deweloperskiego i skompilujesz je).

większość ludzi nie spędza dużo czasu z operacjami svn, a linia poleceń jest najszybszym sposobem na zrobienie tego.

jest też kilka fajnych narzędzi GUI:

http://rabbitvcs.org/

lub

http://www.harecoded.com/nautilus-subversion-integration-tool-execute-svn-commands-with-gnome-scripts-96355

chedi
źródło
0

Anjuta ma wbudowaną wtyczkę SVN, która jest zintegrowana z IDE.

LiraNuna
źródło