Проект, над которым я работаю, отчаянно нуждается в рефакторинге. Проблема в том, что обычно существует несколько веток (обслуживание, новые функции и т. Д.), И я не уверен, что мы можем легко перемещать, переименовывать и удалять файлы и каталоги и объединять изменения. Я опасаюсь, что переместил бы файл в ветку рефакторинга, пока кто-то другой обновляет файл в другой ветке. Я надеялся на небольшое окно, в котором в основной ветке есть все и никаких ветвей не требуется, но бизнес всегда нуждается в изменениях (немедленно или как часть незначительного выпуска).
Управление исходным кодом осуществляется с помощью Subversion. Легко / возможно ли радикально изменить проект в одной ветке, сохранив синхронизацию изменений с другими? Я неплохо умею объединять изменения, чтобы поддерживать ветки в актуальном состоянии, и, возможно, просто вносить небольшие изменения рефакторинга за раз. В противном случае, действительно ли это можно сделать, только выделив некоторое время, когда мы будем работать только над рефакторингом (т.е. без других веток)? Я пытался убедить владельцев бизнеса, что нам нужно время для рефакторинга, и, хотя они согласны с этим, сейчас это просто невозможно.
Одна из важных вещей, связанных с рефакторингом, заключается в том, что он должен выполняться всегда (а не раз в разы). Это кажется выполнимым с реальным кодом (разделение функций, удаление повторяющегося кода и т. Д.), Но я не так уверен в правильном переименовании и группировке файлов.