Я извлекаю интерфейс, для которого я хотел бы сохранить исходное имя. Фактический класс получит суффикс «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;
}
}
Если бы это был настоящий код, вам лучше было бы сказать ему, что «Свойство 1» - глупое название для свойства. :)




Переименуйте AppProperties.java в AppPropertiesImpl.java (используя svn rename) и зафиксируйте. После этого измените свои файлы и добавьте новый AppProperties.java в Subversion. Вуаля.
Я бы предпочел сделать это за один коммит, так как у нас работает CI, который будет жаловаться.
Затем вам нужно создать ветку для этого изменения. Насколько мне известно, svn rename (или svn move) всегда создают фиксацию.
Если вы хотите сохранить историю файла, который вы хотите использовать, svn move
svn move AppProperties.java AppPropertiesImpl.Java
setPropertyOne () ничего не делает ...