Лучшее отражение рефакторинга интерфейса extract в Subversion

Я извлекаю интерфейс, для которого я хотел бы сохранить исходное имя. Фактический класс получит суффикс «Impl» в соответствии с нашими соглашениями об именах. Я хочу знать, как лучше всего отразить это в Subversion, чтобы история «AppPropertiesImpl.java» охватывала свою жизнь как «AppProperties.java». Что касается нового «AppProperties.java», я думаю, это может быть либо новый файл, либо копия старого. Есть идеи, как это осуществить?

Вот что у меня есть сейчас:

AppProperties.java

public class AppProperties {
    public static final CONSTANT_ONE = "CONSTANT_ONE";

    private String propertyOne;

    public String getPropertyOne() {
        return propertyOne;
    }

    public String setPropertyOne(String propertyOne) {
        this.propertyOne = propertyOne;
    }
}

И я хочу получить в итоге:

AppProperties.java

public interface AppProperties {
    public static final CONSTANT_ONE = "CONSTANT_ONE";
    String getPropertyOne();
    String setPropertyOne(String propertyOne);
}

AppPropertiesImpl.java

public class AppPropertiesImpl implements AppProperties {
    private String propertyOne;

    public String getPropertyOne() {
        return propertyOne;
    }

    public String setPropertyOne(String propertyOne) {
        this.propertyOne;
    }
}

setPropertyOne () ничего не делает ...

Michael Myers 08.12.2008 19:19

Если бы это был настоящий код, вам лучше было бы сказать ему, что «Свойство 1» - глупое название для свойства. :)

Bombe 09.12.2008 17:08
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
375
2

Ответы 2

Переименуйте AppProperties.java в AppPropertiesImpl.java (используя svn rename) и зафиксируйте. После этого измените свои файлы и добавьте новый AppProperties.java в Subversion. Вуаля.

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

sblundy 08.12.2008 18:32

Затем вам нужно создать ветку для этого изменения. Насколько мне известно, svn rename (или svn move) всегда создают фиксацию.

Bombe 08.12.2008 18:33

Если вы хотите сохранить историю файла, который вы хотите использовать, svn move

svn move AppProperties.java AppPropertiesImpl.Java

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