Допустим, у меня есть несколько небольших автономных проектов, каждый из которых использует свой собственный репозиторий git.
Это может быть на любом языке, я думаю, но на практике меня интересуют в основном C, C ++ и Java..
Наряду с этими проектами и их поддержкой у меня есть множество небольших служебных функций и классов, если хотите, «персональная стандартная библиотека» (далее я буду называть это «библиотекой», но имейте в виду, чтоэто не монолитная вещь: вы можете выбирать из нее кусочки).В большинстве моих проектов я использую один или несколько файлов из этой библиотеки.
Я ищу какой-нибудь способ справиться с этой ситуацией.Каждый репозиторий git должен быть автономным в том смысле, что если вы клонируете проект в одиночку, он поставляется со всеми файлами, необходимыми для его компиляции.То есть я не хочу добавлять всю библиотеку как подмодуль (действительно, некоторые проекты могут представлять собой пару исходных файлов, один из которых взят из библиотеки, и я не хочу импортировать 100 других файлов).
Каждый проект должен иметь возможность выбирать, какие файлы из lib он использует.Если я обновляю lib, в идеале у проектов должен быть простой способ получения обновлений.
Я рассмотрел символические ссылки: каждый проект ссылается на файлы, которые он хочет получить из lib, но git не следует символическим ссылкам.Я рассмотрел жесткие ссылки - может быть, это работает?Он не выглядит очень переносимым для файловых систем, которые не поддерживают жесткие ссылки.
Как мне достичь своих целей?