Нет ничего в SVN, чтобы сказать вам, какой код вы должны или не должны проверять, ветвиться, объединять или удалять. Это не его работа. Он отлично справляется со своей задачей - предоставляет вам инструмент для управления версиями для хранения вашего кода.
Итак, вам не нужен инструмент для лучшего управления вашим кодом, вам нужна внешняя система для лучшего управления разработчиками:)
Одним из способов является QA, тестирование и отслеживание ошибок - по мере внесения изменений в код, тот факт, что что-то было сделано с кодом, записывается и отслеживается на различных этапах. Как правило, вы не хотите, чтобы кто-либо вносил изменения в код без какой-либо причины (кроме «Я чувствовал, что это необходимо рефакторингом»), поэтому инструмент отслеживания в любом случае является хорошей идеей. Поскольку ошибки исправляются в одном выпуске, этот инструмент можно использовать для обеспечения исправления ошибки и в других версиях (когда это уместно - иногда вы не хотите, чтобы какое-то конкретное изменение было внесено в выпуск)
SVN может интегрироваться с этими инструментами, например, мой репозиторий обновляет мой багтрекер Mantis при добавлении некоторых волшебных слов в проверку (если вы введете «исправленный богомол # 1234» в комментарии проверки, ошибка богомола 1234 будет обновлена с помощью измененные файлы и их статус изменен на «ожидание теста»)
В качестве альтернативы могут также интегрироваться такие инструменты, как обзорная доска - когда вы вносите изменения, ревизия может публиковаться там, чтобы другие могли ее подписать, процесс выхода может включать в себя обеспечение объединения ошибки или создание нового отчета об ошибке для другие выпуски, в которых вы также нуждаетесь в исправлении.
Итак, проблема здесь не в SVN, а в ваших процессах разработки.