Вы можете использовать ловушку предварительной фиксации , чтобы отклонить фиксацию, если foo.c изменен как часть фиксации, а foo_A.c - нет.В зависимости от того, сколько файлов в вашем проекте, это может быть сложно, если перечислить файлы явным образом в скрипте ловушек.
Если у вас есть согласованные соглашения об именах файлов, вы можете использовать некоторыелогика сопоставления с образцом в скрипте.(например, если вы знаете, что имена оптимизированных файлов всегда заканчиваются на "_A", вы можете немного проще автоматизировать проверку.)
В качестве альтернативы вы можете попытаться решить проблему в процессе сборки,Сценарий сборки может выполнить «svn info» для двух файлов, а затем выдать предупреждение / ошибку, если номера версий SVN двух файлов не совпадают.Однако может быть трудно определить, отличаются ли числа оборотов по законным причинам (например, вы сознательно отредактировали только один из файлов).пытаясь решить проблему неправильно.Я бы попытался структурировать код, чтобы предотвратить появление этого класса ошибок.Если обе функции необходимо изменить одновременно, это является признаком ненужного дублирования в кодовой базе.Посмотрите на объединение общих элементов двух файлов в одном месте.