Восстановить соединение с проектом Subversion Eclipse

У меня есть проект в Subversion, который я разрабатываю с помощью Eclipse. Я выполнил исходную проверку из репозитория svn из Eclipse. Все было хорошо в течение нескольких недель по какой-то неизвестной причине, Eclipse (в частности, subclipse в Ганимеде) больше не распознает мой проект как находящийся под контролем svn. В контекстном меню команды отображаются только основные параметры меню «применить патч» / «поделиться этим проектом». Из оболочки я все еще могу обновить проект с помощью инструментов командной строки svn, поэтому я знаю, что учетные данные svn все еще работают. Другие проекты, находящиеся под подрывной деятельностью в той же копии Eclipse, все еще работают.

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
100
0
63 906
12

Ответы 12

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

Команда -> Поделиться проектом обычно достаточно для подключения метаданных.

(то есть, если предположить, что файлы .svn все еще там, как кажется, если вы можете работать в командной строке).

Надеюсь, это поможет понять, почему это произошло, я понятия не имею

У меня такая же проблема, но этот ответ мне не помогает. Eclipse предлагает мне создать новый проект в Subversion. Нет возможности переподключить проект.

migu 07.08.2009 10:30

Подтвержденный способ сделать это.

pestaa 24.04.2010 11:26

Большое спасибо за этот ответ, сэкономивший мне много времени. Теперь я наконец могу просто обновить весь свой рабочий набор.

Cedric Meury 13.10.2011 12:26

Это сработало для меня (с 64-разрядной версией Eclipse Indigo и Subclipse), спасибо! Я просто хотел добавить, что комментарий «при условии, что файлы .svn все еще существуют», возможно, не совсем правильный. То есть я был удивлен, увидев это, хотя мой проект все еще связан с моим репозиторием (как подтвердил TortoiseSVN) в каталоге проекта не было каталога .svn! Я всегда думал, что такой каталог есть в каталоге, управляемом каждый SVN, но теперь я понимаю, что это не так. В любом случае, точка OP заключалась в том, что если каталог все еще находится в конфигурации, это должно работать, кажется действительным.

Rob Cranfill 10.02.2012 22:49

Тоже работал в Subversive ... Спасибо!

jaibatrik 12.10.2012 07:49

Сработало для меня (я думаю, проблема возникла, когда я обновил Eclipse до Juno)

Mick Sear 14.11.2012 03:05

Но что, если директории .svn там нет?

aroth 01.01.2013 15:29

Ключевой особенностью изменений, внесенных в Subversion 1.7, является централизация хранения метаданных рабочих копий в одном месте. Вместо каталога .svn в каждом каталоге в рабочей копии рабочие копии Subversion 1.7 имеют только один каталог .svn - в корне рабочей копии. Этот каталог включает (среди прочего) базу данных на базе SQLite, которая содержит все метаданные, необходимые Subversion для этой рабочей копии.

Chelmite 27.07.2013 01:08

Оно работает. но знаете ли вы, в чем причина этого? это часто случается со мной.

skygeek 25.03.2014 08:34

Большое спасибо, что решил проблему, которую я пытаюсь решить в течение 3 дней

Emmanuel BRUNET 06.07.2014 13:26

Большое спасибо .. :) Спас мне жизнь .. Ты классный _ / _

zakaiter 17.03.2016 08:57

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

Посмотрите на представление «Ошибки», которое представляет собой журнал различных ошибок Eclipse (исключения класса не найден и т. д.) И посмотрите, есть ли какие-либо строки, относящиеся к компонентам Subversive. К сожалению, я не могу рекомендовать решение - на моей платформе Mac OSX было достаточно переустановить основные элементы и разъемы Subversive. На моей Linux-машине (возможно, из-за обновления ОС) мне нужно полностью переустановить Eclipse, так как накопилось слишком много мусора, чтобы я мог полностью исследовать его.

Дополнение: оказалось, что моя проблема проявляется, когда я запускаю Eclipse вне vpn компании, с проектом в рабочей области, который прикреплен к репозиторию svn внутри vpn. К счастью, переключение плагинов Eclipse svn с subversive на subclipse помогло решить эту проблему.

Ян

То же самое и в моем случае: там были каталоги .svn, но мой проект не поддерживал действия svn.

После небольшого тыкания выяснилось, что подрывной плагин просто пропал после принудительного выхода из затмения.

Решением было (пере) установить subversive, и теперь все снова в порядке.

Ваше здоровье v.

ОБНОВЛЕНИЕ: я переключил eclipse на новую версию, в которой просто не был установлен плагин, поэтому мне пришлось установить его с нуля.

У меня была такая же проблема, и этот форум помог мне найти правильный ответ.

Мой предыдущий проект был настроен с помощью subclipse. Новое затмение пришлось подорвать.

Установка subclipse помогла мне вернуть параметры svn в команде!

Надеюсь, это поможет кому-то другому.

С Уважением

Аншу Пратик

Я не могу установить subclipse в kepler. любое решение?

Vivek 17.10.2013 15:24

Я нашел простой способ просто повторно импортировать проект

Ты мужчина ... :) У меня была только опция "Применить патч", и это решило проблему ... Почему я не подумал об этом :)

IncrediApp 26.09.2011 13:13

Да, реимпорт кажется самым простым :-)

user942640 20.04.2015 14:51

У меня также была только опция меню «Применить патч». Повторный импорт сработал. Где-то должен быть файл конфигурации, определяющий это. Оглядываясь назад, мне жаль, что я не сделал резервную копию соответствующей рабочей области конфигурации и файлов / папок проекта, чтобы я мог видеть, что изменилось. Надеюсь, следующий человек, который прочитает это решение, сделает это и поделится тем, что изменилось.

Pixelstix 06.01.2020 23:45

Просто выполнение Team -> Share Project (согласно ответу на этот вопрос, предоставленному @Paul Whelan) для меня не сработало. Мастер общего доступа к проекту действовал так, как будто проекта еще не было в SVN (хотя папка .svn присутствовала в моем проекте).

В итоге я решил проблему, удалив надстройки Subversive и JavaHL (с помощью Help | About Eclipse | Кнопка «Сведения об установке» | вкладка «Установленное программное обеспечение» | Удалить ...), а затем переустановить Subversive. При появлении запроса после перезапуска Eclipse я решил установить коннектор SVNKit, а не коннектор JavaHL.

После этого, когда я еще раз попробовал Team -> Share Project ..., Eclipse правильно распознал, что мой проект уже присутствует в SVN, и успешно восстановил соединение.

Зачем делиться проектом? share project опубликует ваш локальный проект на сервере svn, если у вас есть что-то локально, что не должно переходить на машину svn, это может вызвать проблемы, он хочет восстановить соединение, что, по-видимому, невозможно, решение будет новой проверкой, в конечном итоге, установить subclipse вместо подрывной

JBoy 14.01.2016 17:09

В eclipse я закрыл проект (ы) и снова открыл, что устранило проблему. Все ссылки SVN вернулись для всех проектов в моей рабочей области.

Я попробовал закрыть и снова открыть проект, но у меня это не сработало.

Epu 03.05.2012 03:29

В выпуске Juno с Subversive я сделал:

  • File / Import вызывает всплывающее окно Import.
  • Оттуда выберите Общие / Существующие проекты в рабочей области.
  • На следующей панели вы выбираете корневой каталог. Тогда он покажет вам все подкаталоги. Все они будут выбраны по умолчанию.
  • Отмените выбор тех, которые вам не нужны.

Затем он «импортирует» ваш существующий каталог, который можно использовать на месте, где они уже находятся внутри каталога вашей рабочей области.

Это сработало для меня: щелкните правой кнопкой мыши -> TortoiseSVN -> Настройки -> Свойства наложения значков, Выбор Оболочка в качестве кеша состояния. Нажмите ОК, обновить страницу.

Я могу достоверно воспроизвести эту проблему - это происходит при проверке определенных проектов Maven путем запуска «Check out as Maven Project…» не в папке, содержащей сам POM, а в родительском каталоге (например, «trunk»). В этом случае Subclipse проверяет проект без каких-либо жалоб, помещая его в каталог рабочей области с именем-заполнителем, например maven.1424425443350. Внутри в этом каталоге он создает подкаталог с именем артефакта Maven. Это сбивает с толку как Subclipse, так и Subversion: Subclipse, как мы видели, сразу же забывает, что проект находится под контролем версий, и если вы вызовете svn status из командной строки в каталоге maven.1424425443350, он сообщит вам, что каталог находится под контролем версий. но все файлы с контролем версий отсутствуют.

Ни один из обходных путей, представленных в других ответах, не будет работать, если это заставило Subsclipse забыть свое соединение SVN. Вместо этого единственное решение - удалить проект и снова проверить его, на этот раз убедившись, что проверка выполняется в каталоге, содержащем POM, а не в каком-либо каталоге более высокого уровня.

Лучшим общим решением было бы для Subclipse отказаться от запуска «Check out as Maven Project…» в каталогах, которые не содержат POM, или же лучше обрабатывать случаи, когда он все равно пытается это сделать, путем поиска в подкаталогах проектов Maven.

Я использовал две реализации 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, и все работало, как ожидалось.

Другие вопросы по теме