Сделать внешние репозитории доступными только для чтения всем, кроме сопровождающих.
Я полностью согласен с J. Джон ответ выше. Создание ловушки перед фиксацией - это излишне. svn: externals (это просто ссылка на внешний репозиторий, отсюда и название), поэтому он все еще находится в отдельном репозитории (вы можете проверить это, перейдя к извлеченному внешнему файлу и выполнив команду 'svn info | grep URL'), так что просто поставить необходимое разрешение в этом внешнем репо. Что-то вроде:
[external_repo]
@maintainer = rw
@others = r
И из репо (давайте назовем это репо), где это определяется как «внешний» (давайте назовем внешнее репо как репоВ), вам не нужно ничего делать. Когда кто-то (кроме человека, который является частью @maintainers) пытается зафиксировать внешнее репо с помощью кода, который он / она извлек из repoA, коммит будет перенаправлен на внешний репо, и, следовательно, разрешение, которое вы устанавливаете выше, на этом репо сработает и заблокирует фиксацию.
Надеюсь, это поможет прояснить ситуацию.
Исмаэль Казимпан:)