Должен ли я "удалить" старый ствол недавно переписанного проекта? - PullRequest
0 голосов
/ 31 марта 2009

Недавно я пересматривал старый проект, над которым последний раз работал около двух лет назад. Очевидно, за это время я узнал новые привычки о том, как лучше всего программировать, и у меня возникло желание держать тесты, отказываться от реализации и повторно реализовывать весь проект. Это не большой проект, и я полагаю, что я не потеряю много, переписав его.

Однако я не знаю, что делать с историей версий. Вероятно, когда я закончу его обновление, новая версия будет делиться только 3-4% своего кода со старой версией. Кроме того, изменения, как правило, настолько обширны, что попытка поддерживать чистые наборы изменений - упражнение в разочаровании и тщетности. Учитывая это, кажется ненужным заставлять потенциальных разработчиков загружать старые неактуальные версии.

Один вариант, который я рассматривал, - это переместить ствол в ветку, что-то вроде old-trunk/, и начать разработку в пустой ветке. Я не знаю, хорошая ли это идея, и я обеспокоен тем, что наличие двух стволов может привести к путанице. Что подводит меня к вопросу:

Что думает ТАК? Если бы вы столкнулись с проектом, который «сбросил» свой ствол, вы бы смутились?

Ответы [ 5 ]

4 голосов
/ 31 марта 2009

Почему бы просто не пометить / пометить ствол с помощью «OldVersion» и продолжить разработку в том же месте? Таким образом, вы полностью избегаете двойную ветвь и по-прежнему сохраняете способы добраться до старой версии вашего кода. Если вы не разрабатываете другой продукт, вы, вероятно, захотите оставить тот же ствол.

0 голосов
/ 31 марта 2009

Нет, меня это не смущает, потому что проектная документация покажет это еще до того, как я в нее попаду. У нас ВСЕ есть дерьмо, которое нужно переделать, и, честно говоря, должно быть.

Скажите всем, что это небезопасно и не соответствует HIPAA, и они позволят вам перекодировать его; o) А затем начните размещать корм в The Daily WTF для остальных из нас 80))

0 голосов
/ 31 марта 2009

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

0 голосов
/ 31 марта 2009

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

Однако, если вы планируете написать вещь с нуля и просто скопировать несколько маленьких кусочков старого кода, возможно, вам следует подумать о запуске этого в новом хранилище.

0 голосов
/ 31 марта 2009

Я отмечаю $ trunk, так что есть «копия». Пометьте его последней выпущенной версией или датой до того, как вы вернулись к ней, и т. Д. Я на самом деле помечаю выпущенную дату и называю мои метки самой датой. (используйте Label вместо тега, если это то, что поддерживает ваша система).

После того, как это будет помечено, удалите / переименуйте / пересмотрите по мере необходимости. История версий есть, на всякий случай. И у вас есть полная копия, помеченная / помеченная для целей архивирования.

...