У нас есть общая функциональность, которой мы должны поделиться между несколькими приложениями. У нас уже есть несколько внутренних библиотек, в которые мы помещаем общий код с четко определенным интерфейсом. Однако иногда возникают проблемы с некоторым кодом (обычно одним или несколькими файлами .cpp), поскольку он не вписывается в существующую библиотеку и слишком мал для создания новой.
Наша текущая система контроля версий поддерживает общий доступ к файлам, поэтому обычно такие файлы просто передаются между приложениями, которые их используют. Я склонен считать это плохой вещью, но на самом деле, это дает понять, что вы точно видите, в каких приложениях они используются.
Теперь мы переходим к svn, у которого нет «реального» совместного доступа к файлам, есть этот svn:externals
материал, но будет ли все еще просто отслеживать места, где файлы используются совместно при его использовании?
Мы могли бы создать «мусорную» библиотеку (или папку) и временно поместить туда такие файлы, но это всегда та же проблема, что усложняет отслеживание зависимостей (какой проект использует этот файл?).
Иначе, есть ли другие хорошие решения? Как это работает в вашей компании?