Помимо наличия сторонних библиотек в вашем репозитории, стоит делать это таким образом, чтобы было легко отслеживать и объединять будущие обновления библиотеки (например, исправления безопасности и т. Д.). Если вы используете Subversion, стоит использовать правильную ветку vendor .
Если вы знаете, что будет холодный день в аду, прежде чем вы будете изменять код своей третьей стороны, тогда (как сказал @Matt Sheppard) внешний имеет смысл и дает вам дополнительное преимущество, которое становится очень простым переключитесь на последнюю версию библиотеки, если обновления безопасности или необходимая новая функция сделают это желательным.
Кроме того, вы можете пропустить внешние элементы при обновлении базы кода, сохраняя при длительной медленной загрузке процесс, если вам нужно.
@ Стю Томпсон упоминает хранение документации и т. Д. В системе контроля версий. В более крупных проектах я сохранял всю нашу папку «клиенты» в системе контроля версий, включая счета-фактуры / счета / протоколы совещаний / технические характеристики и т. Д. Весь матч по стрельбе. Хотя, хм, не забудьте сохранить их в отдельном репозитории, который вы сделаете доступным для: других разработчиков; клиент; ваш "вид из браузера" ... кашель ...:)