Przywróć połączenie projektu Eclipse subversion


100

Mam projekt w Subversion, który rozwijam za pomocą Eclipse. Zrobiłem oryginalne pobranie z repozytorium svn z wnętrza Eclipse. Przez kilka tygodni wszystko było dobrze, a potem z nieznanego powodu Eclipse (w szczególności: subclipse na Ganimedesie) nie rozpoznaje już mojego projektu jako kontrolowanego przez svn. Menu kontekstowe zespołu pokazuje tylko podstawowe opcje menu „zastosuj poprawkę” / „udostępnij ten projekt”. Z powłoki nadal mogę aktualizować projekt za pomocą narzędzi wiersza poleceń svn, więc wiem, że poświadczenia svn nadal działają. Inne projekty w ramach subversion w tej samej kopii Eclipse nadal działają.

Zdaję sobie sprawę, że mogę usunąć lokalną kopię i sprawdzić ją ponownie, ale wolę zrozumieć, co poszło nie tak - naprawić problem, zamiast maskować objawy. Gdzie Eclipse przechowuje swoją wiedzę o projektach objętych kontrolą wersji? Przejrzałem .projectplik i .settingskatalog, ale nie widziałem żadnej wyraźnej wzmianki o naturze svn lub czymś podobnym, nawet w projektach, które nadal działają poprawnie.

Odpowiedzi:


124

Jeśli używasz sublipse jako dostawcy SVN, zalecam wykonanie następujących czynności

Zespół -> Udostępnij projekt zwykle wystarczy, aby połączyć metadane.

(to znaczy, zakładając, że pliki .svn nadal istnieją, a wydaje się, że są, jeśli możesz pracować z wierszem poleceń).

Mam nadzieję, że to pomaga, dlaczego tak się stało, nie mam pojęcia


9
Mam ten sam problem, ale ta odpowiedź mi nie pomaga. Eclipse proponuje mi utworzenie nowego projektu w Subversion. Nie ma możliwości ponownego podłączenia projektu.
migu

1
Potwierdzony sposób na zrobienie tego.
pestaa

1
Bardzo dziękuję za tę odpowiedź, zaoszczędziłem dużo czasu. Teraz mogę wreszcie zaktualizować cały mój zestaw roboczy.
Cedric Meury

1
To zadziałało dla mnie (z Eclipse Indigo 64-bit i Subclipse), dzięki! Chciałem tylko dodać, że komentarz „zakładający, że pliki .svn wciąż tam są” jest być może nie do końca poprawny. To znaczy, byłem zaskoczony widząc, że chociaż mój projekt jest nadal powiązany z moim repozytorium (jak potwierdził TortoiseSVN), w katalogu projektu nie było katalogu .svn ! Zawsze myślałem, że istnieje taki katalog w każdym katalogu kontrolowanym przez SVN, ale teraz widzę, że tak nie jest. W każdym razie punkt OP był taki, że jeśli katalog jest nadal w konfiguracji, to powinno działać, wydaje się prawidłowe.
Rob Cranfill

1
Pracowałem też w Subversive ... Dzięki!
jaibatrik

23

Znalazłem łatwy sposób, po prostu ponownie zaimportuj projekt


1
Jesteś mężczyzną… :) Miałem tylko opcję „Zastosuj poprawkę” i to rozwiązało problem… Dlaczego o tym nie pomyślałem :)
IncrediApp

Tak, ponowny
import

Miałem też tylko opcję menu „Zastosuj poprawkę”. Ponowny import zadziałał. Gdzieś musi znajdować się plik konfiguracyjny, który to określa. Z perspektywy czasu żałuję, że nie utworzyłem kopii zapasowej odpowiedniego obszaru roboczego konfiguracji i plików / folderów projektu, aby móc zobaczyć, co się zmieniło. Miejmy nadzieję, że następna osoba, która przeczyta to rozwiązanie, zrobi to i podzieli się tym, co się zmieniło.
Pixelstix

7

Samo robienie zespołu -> Udostępnij projekt (zgodnie z odpowiedzią na to pytanie udzieloną przez @Paul Whelan) nie działa dla mnie. Kreator udostępniania projektu działał tak, jakby projekt nie był jeszcze w SVN (mimo że folder .svn był obecny w moim projekcie).

Ostatecznie rozwiązałem problem, odinstalowując dodatki Subversive i JavaHL (poprzez Pomoc | O Eclipse | przycisk Szczegóły instalacji | Zakładka Zainstalowane oprogramowanie | Odinstaluj ...), a następnie ponownie zainstalowałem Subversive. Po wyświetleniu monitu po ponownym uruchomieniu Eclipse zdecydowałem się zainstalować złącze SVNKit zamiast złącza JavaHL.

Po wykonaniu tej czynności, kiedy ponownie wypróbowałem Team -> Share Project ..., Eclipse poprawnie rozpoznał, że mój projekt był już obecny w SVN i pomyślnie przywrócił połączenie.


Dlaczego warto udostępniać projekt? share project opublikuje twój lokalny projekt na serwerze svn, jeśli masz coś lokalnie, co nie powinno iść na maszynę svn, może to powodować problemy, to, co chce zrobić, to przywrócić połączenie, co najwyraźniej nie jest możliwe, rozwiązanie byłby nowy checkout, ostatecznie zainstaluj subclipse zamiast subversive
JBoy

4

Dodatek: okazuje się, że mój problem pojawia się, gdy uruchamiam Eclipse poza siecią VPN firmy, z projektem w obszarze roboczym, który jest dołączony do repozytorium svn wewnątrz VPN. Na szczęście zmiana wtyczek Eclipse svn z subversive na subclipse rozwiązała problem.

Ian


3

Po zaćmieniu zamknąłem projekt (y) i otworzyłem go ponownie, co rozwiązało problem. Linki All by SVN powracają do wszystkich projektów w moim obszarze roboczym.


1
Próbowałem zamknąć i ponownie otworzyć projekt, ale to nie zadziałało.
Epu

2

Miałem ten sam problem i to forum pomogło mi w znalezieniu właściwej odpowiedzi.

Mój wcześniejszy projekt został skonfigurowany przy użyciu subclipse. Nowe zaćmienie było podporządkowane.

Zainstalowanie subclipse pomogło mi odzyskać opcje svn w zespole!

Mam nadzieję, że pomoże to komuś innemu.

pozdrowienia

Anshu Prateek


Nie mogę zainstalować subclipse w kepler. jakieś rozwiązanie?
Vivek

1

Nie wiedząc, na jakiej platformie jesteś, nie wiem, czy Twój problem jest podobny do mojego. Jednak ostatnio (właściwie na dwóch różnych platformach!) Miałem problemy, w wyniku których aktualizacja Subversive (lub być może samego Eclipse, niewyraźne) powodowała, że ​​złącza nie ładowały się. Bez łączników Subversive nie może połączyć się z projektem. Ale Eclipse nie będzie przez to blokować twojego projektu, po prostu usunie funkcjonalność związaną z SVN.

Spójrz na widok Errors, który jest dziennikiem różnych błędów Eclipse (wyjątki dotyczące nie znalezionych klas, itp.) I zobacz, czy są tam jakieś wiersze związane z komponentami Subversive. Niestety, nie mogę naprawdę polecić rozwiązania - na mojej platformie Mac OSX wystarczyło przeinstalować podstawowe elementy i złącza Subversive. Na moim komputerze z Linuksem (prawdopodobnie z powodu aktualizacji systemu operacyjnego) muszę całkowicie przeinstalować Eclipse, ponieważ nagromadziło się zbyt dużo cruft, aby móc to w pełni zbadać.


1

W wydaniu Juno z Subversive zrobiłem:

  • Plik / Importuj wywołuje wyskakujące okienko Import.
  • Stamtąd wybierz Ogólne / istniejące projekty w obszarze roboczym.
  • W następnym okienku wybierz katalog główny. Następnie pokaże wszystkie podkatalogi. Wszystkie zostaną wybrane domyślnie.
  • Odznacz te, których nie chcesz.

Następnie „zaimportuje” istniejący katalog, który można wykorzystać w miejscu, w którym znajdują się już w katalogu obszaru roboczego.


0

To samo w moim przypadku: były tam katalogi .svn, ale mój projekt nie wspierał działań svn.

Po krótkim szturchnięciu okazało się, że wywrotowa wtyczka po prostu zniknęła po wymuszonym zaćmieniu wyjścia.

Rozwiązaniem było (ponowne) zainstalowanie Subversive i teraz wszystko znowu jest w porządku.

Cheers v.

AKTUALIZACJA: Zmieniłem eclipse na nową wersję, która po prostu nie miała zainstalowanej wtyczki, co jest powodem, dla którego musiałem zainstalować ją od zera.


0

To zadziałało dla mnie: kliknij prawym przyciskiem myszy -> TortoiseSVN -> Ustawienia -> Właściwości nakładki ikon, Wybieranie powłoki jako pamięci podręcznej stanu. Kliknij OK, odśwież stronę.


0

Mogę niezawodnie odtworzyć ten problem - zdarza się to podczas sprawdzania niektórych projektów Mavena przez uruchomienie „Wyewidencjonuj jako projekt Maven…” nie w folderze zawierającym sam POM, ale w katalogu nadrzędnym (takim jak „trunk”). W tym przypadku Subclipse pobiera projekt bez żadnych skarg, umieszczając go w katalogu obszaru roboczego z nazwą zastępczą, taką jak maven.1424425443350. W tym katalogu tworzy podkatalog z nazwą artefaktu Mavena. To myli zarówno Subclipse, jak i Subversion: Subclipse, jak widzieliśmy, natychmiast zapomina, że ​​projekt jest pod kontrolą wersji, a jeśli wywołasz svn statusz wiersza poleceń w maven.1424425443350katalogu, poinformuje Cię, że katalog jest pod kontrolą wersji, ale że Brakuje wszystkich plików z kontrolą wersji.

Żadne z obejść przedstawionych w innych odpowiedziach nie zadziała, jeśli to właśnie spowodowało, że Subsclipse zapomniał o połączeniu SVN. Zamiast tego jedynym rozwiązaniem jest usunięcie projektu i ponowne sprawdzenie, tym razem upewniając się, że wyewidencjonowanie jest wykonywane w katalogu zawierającym POM, a nie w jakimś katalogu wyższego poziomu.

Lepszym rozwiązaniem ogólnym byłaby odmowa uruchomienia przez Subclipse polecenia „Sprawdź jako projekt Maven…” w katalogach, które nie zawierają POM, lub w celu lepszej obsługi przypadków, w których i tak próbuje to zrobić, przeszukując podkatalogi projektów Maven.


0

Używałem dwóch implementacji SVNKit (1.7.x i 1.8.x) jednocześnie z wersją repozytorium SVN (1.8.x).

W rezultacie Zespół -> Udostępnij projekty ... zawsze żądał wiadomości o zatwierdzeniu. Oczywiście użyto SVNKit 1.7.x, który nie jest kompatybilny z SVN 1.8.x.

Po usunięciu SVNKit 1.7.x eclipse używał jedynej dostępnej poprawnej wersji SVNKit 1.8.x i wszystko działało zgodnie z oczekiwaniami.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.