Відновлення підключення проекту підривної програми Eclipse


100

У мене є проект із підривної роботи, який я розробляю за допомогою Eclipse. Я зробив оригінальний замовлення з сховища svn зсередини Eclipse. Все було добре протягом декількох тижнів, тоді з незрозумілої причини Eclipse (конкретно: підкліп у Ganymede) вже не визнає мій проект під контролем svn. Командне контекстне меню показує лише основні параметри меню "застосувати патч" / "поділитися цим проектом". З оболонки я все ще можу оновити проект за допомогою інструментів командного рядка svn, тому я знаю, що облікові дані svn все ще працюють. Інші проекти, що знаходяться в підривній програмі в тій же копії Eclipse, як і раніше працюють.

Я розумію, що можу видалити локальну копію та перевірити її ще раз, але я краще зрозумію, що пішло не так - виправити проблему, а не замаскувати симптоми. Де Eclipse зберігає свої знання про те, які проекти перебувають під контролем версій? Я переглянув .projectфайл і .settingsкаталог, але не побачив явної згадки про природу svn або щось подібне, навіть у проектах, які все ще працюють належним чином.

Відповіді:


124

Якщо ви використовуєте sublipse в якості постачальника SVN, рекомендую зробити наступне

Команда -> Поділитися проектом зазвичай достатньо для підключення метаданих.

(тобто, якщо припустити, що .svn файли все ще є, якими вони здаються, якщо ви можете працювати в командному рядку).

Сподіваюся, це допомагає, чому це станеться, я поняття не маю


9
У мене така ж проблема, але ця відповідь мені не допомагає. Eclipse пропонує мені створити новий проект у Subversion. Немає можливості відновити проект.
migu

1
Підтверджений спосіб робити цю справу.
pestaa

1
Велике спасибі за цю відповідь, врятувало мені багато часу. Тепер я можу нарешті просто оновити весь свій робочий набір.
Седрік Мері

1
Це працювало для мене (із 64-бітним Eclipse Indigo та Subclipse), дякую! Я просто хотів додати, що коментар "припускаючи, що .svn файли все ще є", можливо, не зовсім правильний. Тобто, я був здивований, побачивши, що, хоча мій проект все ще пов'язаний з моїм сховищем (як підтвердив TortoiseSVN), в каталозі проектів не було каталогу .svn ! Я завжди думав, що такий каталог є у кожному каталозі, що контролюється SVN, але зараз я бачу, що це не так. Як би там не було, пункт OP полягав у тому, що якщо каталог все ще знаходиться під конфігурацією, то це має працювати, здається, дійсним.
Роб Кранфілл

1
Працював і в Підривній ... Дякую!
jaibatrik

23

Я знайшов простий спосіб просто реімпортувати проект


1
Ти чоловік ... :) У мене був лише варіант "Застосувати патч" і це вирішило ... Чому я не подумав про це :)
IncrediApp,

Так, реімпорт здається найпростішим :-)
user942640

У мене був також варіант меню "Застосувати патч". Реімпорт працював. Десь має бути файл конфігурації, який визначає це. Заднім числом я хотів би створити резервну копію відповідної робочої області конфігурації та файли / папки проекту, щоб я міг побачити, що змінилося. Сподіваємось, наступна людина, яка прочитає це рішення, зробить це і поділиться тим, що змінилося.
Піксельстікс

7

Просто виконувати команду -> Поділитися проектом (на відповідь на це запитання, яку надав @Paul Whelan) для мене не вийшло. Майстер Share Project діяв так, ніби проект ще не був у SVN (навіть якщо папка .svn була присутня для мого проекту).

Я вирішив проблему, видаливши додатки Subversive та JavaHL (через Довідку | Про Eclipse | Кнопка Деталі про встановлення | Вкладка встановленого програмного забезпечення | Видалення ...), а потім перевстановив Subversive. Коли з'явиться запит після перезапуску Eclipse, я вирішив встановити роз'єм SVNKit, а не роз'єм JavaHL.

Зробивши це, коли я знову спробував Team -> Share Project ..., Eclipse правильно визнав, що мій проект уже присутній у SVN, і він успішно відновив з'єднання.


Навіщо ділитися проектом? share project опублікує ваш локальний проект на сервері svn, якщо у вас є щось місцеве, що не повинно переходити на SVN-машину, це може спричинити проблеми. Що він хоче зробити, це відновити з'єднання, що, мабуть, неможливо, рішення буде нова перевірка, зрештою встановіть субкліп замість підривного
JBoy

4

Додаток: виявляється, що моя проблема виявляється, коли я запускаю Eclipse за межами компанії vpn, з проектом у робочій області, який додається до сховища svn всередині vpn. На щастя, перемикання плагінів Eclipse svn з підривного на субкліп вирішило це.

Ян


3

Від затемнення я закрив проект (и) і знову відкрив, що вирішило проблему. Всі посилання SVN повертаються до всіх проектів у моєму робочому просторі.


1
Я спробував закрити і знову відкрити проект, але це не спрацювало для мене.
Епу

2

У мене була така ж проблема, і цей форум допоміг мені знайти правильну відповідь.

Мій попередній проект був налаштований за допомогою підкліпу. Нове затемнення мало підрив.

Встановлення підкліпа допомогло мені повернути параметри svn під команду!

Сподіваюся, це допомагає комусь іншому.

з повагою

Аншу Пратек


Я не можу встановити підкліп у кеплері. будь-яке рішення?
Vivek

1

Не знаючи, на якій платформі ви працюєте, я не знаю, чи ваша проблема схожа на мою. Однак у мене нещодавно (насправді на двох різних платформах!) Виникли проблеми, коли оновлення Subversive (або, можливо, сам Eclipse, не зрозуміло) змусило коннектори більше не завантажуватись. Без роз'ємів Subversive не може підключитися до проекту. Але Eclipse не вимкне вас із вашого проекту через це, він просто видалить функціонал, пов'язаний з SVN.

Подивіться на вигляд Помилки, що представляє собою журнал різних помилок Eclipse (винятки, що не знайдені класом тощо), і подивіться, чи є рядки, пов’язані з підривними компонентами. На жаль, я не можу реально рекомендувати рішення - на моїй платформі Mac OSX було достатньо перевстановити основні підривні елементи та роз'єми. На моїй машині Linux (можливо, через оновлення ОС) мені доведеться повністю перевстановити Eclipse, оскільки нагромадилося занадто багато шару, щоб я міг повністю дослідити його.


1

У випуску Juno з Subversive я зробив:

  • Файл / Імпорт відображає спливаюче вікно Імпорт.
  • Звідти виберіть Загальні / Існуючі проекти у робочому просторі.
  • На наступній панелі ви вибираєте кореневий каталог. Тоді він покаже вам усі підкаталоги. Усі вони будуть вибрані за замовчуванням.
  • Зніміть вибір тих, яких не хочете.

Потім він "імпортує" ваш існуючий каталог, який можна використовувати на місці, вони вже знаходяться всередині каталогу робочої області.


0

Те ж саме і в моєму випадку: .svn dirs були там, але мій проект не підтримував svn дій.

Після трохи тюкання виявилося, що підривний плагін просто зник після примусового припинення затемнення.

Рішенням було (пере) встановити підривний, і тепер все добре.

Cheers v.

ОНОВЛЕННЯ: Я переключив eclipse на нову версію, в якій просто не було встановлено плагін, через що мені довелося встановлювати його з нуля.


0

Це працювало для мене: клацніть правою кнопкою миші-> TortoiseSVN -> Налаштування -> Властивості накладання значків, Вибір оболонки як кеш статусу. Натисніть Ок, оновити сторінку.


0

Я можу надійно відтворити цю проблему - це трапляється під час перевірки певних проектів Maven, запустивши "Check out as Maven Project ..." не в папці, що містить саму POM, а в батьківському каталозі (наприклад, "trunk"). У цьому випадку Subclipse перевіряє проект без будь-яких скарг, вводячи його в каталог робочої області з назвою заповнювача, наприклад maven.1424425443350. Всередині цього каталогу він створює підкаталог з назвою артефакту Мавена. Це плутає як Subclipse, так і Subversion: Subclipse, як ми бачили, одразу забуває, що проект знаходиться під контролем версій, і якщо ви посилаєтеся svn statusз командного рядка в maven.1424425443350каталозі, він скаже вам, що каталог знаходиться під контролем версій, але це всі файли з контрольованою версією відсутні.

Жоден із способів вирішення, поданих в інших відповідях, не спрацює, якщо саме це призвело до того, що Subsclipse забуде своє з'єднання SVN. Натомість єдине рішення - видалити проект і перевірити його ще раз, переконавшись, що перевірка виконується в каталозі, що містить POM, а не якийсь каталог вищого рівня.

Кращим загальним рішенням буде Subclipse відмовитись від запуску "Check out as Maven Project ..." у каталогах, які не містять POM, або в іншому випадку, щоб краще обробляти випадки, коли він намагається це зробити так чи інакше, шукаючи підкаталоги для Maven-проектів.


0

Я використовував дві реалізації SVNKit (1.7.x та 1.8.x) одночасно із версією сховища SVN (1.8.x).

В результаті Команда -> Поділитися проектами ... завжди вимагала повідомлення про зобов'язання. Очевидно, був використаний SVNKit 1.7.x, який не сумісний зі SVN 1.8.x.

Після видалення SVNKit 1.7.x eclipse використав єдину доступну правильну версію SVNKit 1.8.x і все працювало так, як очікувалося.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.