Нет, в SVN нет умного способа добавить файлы в коммит. Это побочный эффект действительно атомных коммитов. Как только фиксация завершена, она завершена. Если бы это было иначе, то фиксация не была бы атомарной, так как она все еще ждала бы добавления «последних» файлов.
Кажется, вы изучили очевидные методы отката коммита, используя "svn dump" и "svn dumpfilter". Единственными другими вариантами являются получение резервной копии дерева SVN «как раз перед», чтобы сделать фиксацию по ошибке. Удачи в вашем алгоритме предотвращения ошибок!
Если вы действительно находите это раздражающим, я полагаю, вы могли бы добавить хук перед фиксацией для создания резервной копии, но у него есть свои проблемы. Возможно, вы не поймете, что вы забыли файл до того, как кто-то перезаписывает резервную копию, и фиксация может занять много времени (из-за резервного копирования).
Лучшим решением, по-видимому, является аннотирование ваших коммитов как части набора изменений для той же ошибки. Таким образом, поиск исправления ошибки приведет к появлению двух записей в журнале, который в основном описывает, что обе фиксации были необходимы, чтобы «исправить» проблему. Это может оказать некоторое влияние на инструменты интеграции, так как если вы используете хуки или инструменты для проверки ваших журналов, они должны выдержать несколько коммитов на одну ошибку. Часто это означает ручное обновление ошибки как «готовой к сборке», потому что вы никогда не знаете, когда ошибка исправлена одним коммитом, или если для ее завершения требуется другой коммит из-за забвения.