Я бы с осторожностью отнесся к Maven, потому что:
- это еще один репозиторий в системе, где у вас уже есть репозиторий с вашей текущей системой контроля версий;
- it (Maven) основан на единственном «общем контроле версий», который есть у каждого разработчика, - файловой системе (что означает отсутствие метаданных или свойств, прикрепленных к файлу, отсутствие надлежащей истории с точки зрения того, кто что изменил и когда)
Теперь, когда имеешь дело со сторонними организациями, ты можешь рассмотреть возможность их использования в своей системе контроля версий, но в упакованном виде : это очень компактно, с сжатыми источниками и документацией, чтобы иметь как можно меньшее количество файлов .
Таким образом, вы легко сможете управлять развертыванием этих (многих) сторонних библиотек, так как количество файлов для развертывания невелико.
Кроме того, наличие их под контролем исходного кода позволяет вам создать ветку (скажем, ветку «взломать»), в которой вы будете хранить упакованную (или упакованную в архив) версию взломанной библиотеки.
То, что вы можете хранить во внешнем виде, это распакованный полный набор файлов, представляющих эти библиотеки, поскольку на них нет реальной разработки или просто пунктуальный хак: обычно ваша задача не состоит в том, чтобы разрабатывать существующие библиотеки, но использовать их (даже немного измененные) для более быстрой реализации некоторых функций вашего проекта.
Если вам необходимо в какой-то момент сравнить взломанную версию с какой-либо официальной версией, вы просто извлечете из svn соответствующий «взломанный» номер версии, распакуете его и сравните с официальной (и хранимой извне) версией. (например, с winmerge)