Локальная история Eclipse ... где хранятся файлы? - PullRequest
27 голосов
/ 09 июня 2009

Может кто-нибудь объяснить, как работает местная история Eclipse?

Я случайно переписал файл в проекте, но мне нужно вернуться к более ранней версии. Есть ли вероятность, что Eclipse куда-нибудь кэширует старый файл?

Ответы [ 6 ]

41 голосов
/ 09 июня 2009

Чтобы завершить ответ CurtainDog: из FAQ по затмению

Каждый раз, когда вы изменяете файл в Eclipse, копия старого содержимого сохраняется в локальной истории. В любой момент вы можете сравнить или заменить файл любой более старой версией из истории.
Хотя это не замена реального хранилища кода, оно может помочь вам при случайном изменении или удалении файла.
Локальная история также имеет то преимущество, для которого она на самом деле не предназначена: она также может помочь вам, когда в вашем рабочем пространстве возникла катастрофическая проблема или если вы получили ошибки диска, которые повредили файлы вашего рабочего пространства. В крайнем случае, вы можете вручную просмотреть локальную папку истории, чтобы найти копии файлов, которые вы потеряли, что немного похоже на использование кэша Google для просмотра веб-страниц, которые больше не существуют.

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

.metadata/.plugins/org.eclipse.core.resources/.history/

Вы можете использовать инструмент поиска вашей операционной системы, чтобы найти файлы, которые вы ищете.


Обратите внимание: если вам нужно импортировать вашу локальную историю в новое рабочее пространство, вам понадобятся оба:

  • .metadata / .plugins / org.eclipse.core.resources / .history
  • .metadata / .plugins / org.eclipse.core.resources / .project

чтобы иметь функциональную локальную историю в этом новом рабочем пространстве.

20 голосов
/ 09 июня 2009

Попробуйте щелкнуть правой кнопкой мыши файл в eclipse и выберите «Заменить на -> Локальная история».

Если есть доступная история, она будет отображаться как список времени редактирования.

Но, что более важно, как указано в других ответах, обязательно поместите свои файлы в систему контроля версий! SVN довольно прост в настройке (вам не нужен сервер; он может просто использовать файловую систему); используйте его, даже если вы не делитесь с другими.

Совет: всякий раз, когда вы слышите, как вы говорите «да!», Проверьте весь свой код. Через 10 минут вы скажете: «Как я это испортил?»

8 голосов
/ 23 ноября 2010

Если вы потеряли полную структуру пакета из-за случайного удаления или переопределения svn / cvs, выберите проект> щелкните правой кнопкой мыши> Восстановить из локальной истории => выберите файлы.

3 голосов
/ 31 октября 2018

В ответе VonC содержится вся информация, необходимая для поиска местоположения резервных копий кода. Я бы просто добавил, что если вы работаете на Mac или Linux, вы можете сделать что-то вроде этого:

$ cd [WORKSPACE]/.metadata/.plugins/org.eclipse.core.resources/.history/
$ grep -rl "class Foo" . | xargs ls -lt

При этом будут найдены все версии файла, который содержит определенную строку (например, "class Foo"), и отсортированы их по дате / времени, чтобы легко найти самую последнюю версию.

2 голосов
/ 15 октября 2013

Вы можете использовать ссылку http://wiki.eclipse.org/FAQ_Where_is_the_workspace_local_history_stored%3F очень полезно

0 голосов
/ 09 июня 2009

Откройте представление CVS, и вы должны увидеть фильтр для локальной истории. После этого вы сможете щелкнуть правой кнопкой мыши правильную версию и получить содержимое или выполнить сравнение и объединение вручную. Я не уверен, какие настройки затмения используются для сохранения местной истории, но есть хороший шанс, что вы сможете вернуть свои вещи, если будете действовать быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...