фиксация удаления Java файлов и содержащего их пакета в Subclipse - PullRequest
0 голосов
/ 06 марта 2020

В последнее время нам пришлось переключаться на работе с Subversive на Subclipse, потому что нам нужно было обновить до Java 11, и Subversive больше не поддерживается в последних версиях Eclipse. Это сработало несколько хорошо, но мы иногда сталкиваемся с проблемами при попытке удалить файлы. Например, предположим, что у вас есть дерево пакетов ниже Java, которое вы хотите удалить без других пакетов или файлов внутри дерева.

package
|---file1.java
|---file2.java

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

Оказывается, что когда он синхронизируется с Subversion, некоторые коммиты по какой-то причине оказываются сдавленными в единая фиксация удаления пакета без удаления базовых файлов java. Затем, когда он пытается обновить это удаление до своей локальной рабочей копии, он удаляет только половину файлов: они все еще остаются в представлении обозревателя проекта Eclipse, но они успешно удаляются в файловой системе Windows.

Поскольку они остаются в его представлении обозревателя проектов Eclipse, он получает предупреждения и ошибки, связанные с удаленными файлами, например операторы импорта, которые не разрешают и не создают ошибки пути. Однако, поскольку они удалены из файловой системы, Subclipse не может обновить их, потому что в отношении Subclipse его локальная рабочая копия актуальна! Он должен вручную воссоздать файлы в Windows Explorer и затем может переопределить и обновить, чтобы полностью получить изменения.

У нас также есть проблема, что некоторые изменения, которые мы фиксируем при синхронизации, появляются принадлежать к случайным более старым коммитам, изменяющим этот файл, даже если они старше десяти лет, причем несколько машин достаточно странно разрешают изменения в разных коммитах. Как ни странно, зафиксированное изменение часто только частично разрешается в более старый коммит, обычно только в 1 или 2 файла, а остальные изменения разрешаются в недавний коммит.

Мы думаем, что эти проблемы могут быть как-то связаны. Это известная проблема с Subclipse в определенной среде? И если да, то как нам это исправить?

...