Хорошо, вот в чем дело, вы хотите, чтобы источник поставщика был представлен вместе с историей, но вы также применяете свой патч к источнику поставщика. Получить их источник с историей легко. Получить их источник с историей, а затем применить ваши патчи и постоянно делать это, это сложно.
Теперь, предполагая, что вы не помещаете исходный каталог поставщика в свой источник (т.е. вы строите два проекта отдельно), у вас есть несколько вариантов, если вы храните два источника в отдельных репозиториях.
Если вы хотите, чтобы источник поставщиков вместе с историей, вы можете настроить svnsync для хранилища поставщиков и регулярно получать их изменения. Svnsync - это прекрасный способ получить что-то удаленно в виде локальной копии с полным набором истории. Но единственное предостережение для svnsync заключается в том, что хранилище становится доступным только для чтения. Таким образом, вы не можете применить патч к их источнику.
Теперь, так как вы делаете это только один или два раза в год, вы можете пройти через процесс создания новой копии их репозитория с помощью svnsync. Разорвите синхронизацию и сделайте свою копию репозитория производителя доступной для записи, а затем примените свои исправления.
Другой вариант заключается в том, чтобы продавец сделал дамп своего репо и отправил его вам. Затем вы загрузите этот дамп в свой собственный репозиторий и сделаете чтение / запись.
При любом из этих вариантов вам придется повторно применять свои исправления к своей копии хранилища поставщика каждый раз, когда вы проходите этот процесс. По крайней мере, вы делаете это только один или два раза в год.
Теперь, если вам нужно иметь их источник в вашем источнике, продолжайте делать то же самое, но используйте svn: external, как вы отметили в своем вопросе. Вам все равно нужно будет применить любые исправления, которые вам нужно сделать, к источнику поставщика, к вашей копии хранилища поставщика.