#eclipse #svn #replace #subversive
#eclipse #svn #заменить #subversive
Вопрос:
Я хочу локально заменить папку в моем проекте, которая извлекается с сервера SVN с помощью subversive plug-in в Eclipse. В то же время я хочу сохранить историю изменений, внесенных в эту папку до этого изменения.
Например, у меня есть папка с именем JDK, которая содержит папки JDK 1.5, но я хочу заменить ее папками и файлами JDK 1.6. Многие имена папок остаются неизменными, но содержимое отличается.
Я попытался удалить все внутри папки JDK и поместить папки и файлы JDK 1.6 в папку JDK, но subversive спросил меня, хочу ли я перезаписать все внутри папки JDK или нет. Я беспокоюсь, что если я перезапишу папки и файлы, история этой папки будет потеряна. Мой вопрос в том, каков наилучший способ заменить старую папку JDK и сохранить историю, используя Eclipse?
Ответ №1:
- За пределами eclipse попробуйте удалить содержимое папки jdk 1.5. (внутри eclipse SVN будет обрабатывать отсутствующее содержимое как отсутствующие файлы, возврат к папке jdk вернет все файлы обратно)
- За пределами eclipse скопируйте содержимое JDK 1.6 в старую папку jdk 1.5.
- Скомпилируйте свой код и посмотрите, работает ли JDK 1.6
-
Проверьте свойства вашего файла фиксации. В Eclipse выполните SVN-> Commit. Могут произойти три вещи (а) если новые файлы имеют то же имя, что и старые, тогда SVN обрабатывает их как обновление,
(b) если файл новый, то вам следует добавить его в репозиторий, SVN обработает его как новый.
(c) если файл old file не имеет новой замены, то удалите файл в репозитории. SVN удалит ее из репозитория.
Примечание: SVN может не разрешить вам выполнять фиксацию без SVN-> update, поскольку папка .svn, возможно, была удалена. Тем не менее, если вы его обновите, все файлы (c), указанные выше, вернутся. Возможно, вам потребуется сделать заметки по всем тем файлам, которые не применимы к JDK 1.6, и удалить их вручную.
Комментарии:
1. Последняя часть обновления кажется очень рискованной, потому что может появиться много файлов, которые появляются снова. Могу ли я не выполнять обновление SVN, чтобы избежать конфликтов?
2. Исходя из моего опыта, либо вы можете попытаться удалить содержимое JDK 1.5, не удаляя папку .svn в каждой папке, либо вам нужно отслеживать, что добавляется обратно после обновления.