Как всегда, у каждого варианта есть свои плюсы и минусы.
Использование веток может быть более стабильным, но оно требует больше обслуживания, когда вам необходимо перейти на более новую ветку. Это также требует, чтобы их команда разработчиков потратила дополнительное время, когда ветвь объединена со стволом.
С другой стороны, использование транка может заставить вас справляться с ошибками других людей и писать грязный обходной код, чтобы обойти его. Это может стать особенно грязным, если у вас возникнут странные проблемы с OutOfMemory / Performance, которые невозможно закрепить за конкретной библиотекой (или вашим собственным кодом). Помните, что это не ваш код, и у вас, вероятно, нет рабочей силы, чтобы помочь им в их усилиях по обеспечению качества ...
Так что, я думаю, последнее слово в том, что это зависит. Я бы предложил принять во внимание эти факторы:
- Изменится ли используемый вами API?
- Важно ли работать над "чистым кодом" или вы можете позволить себе возиться с ошибками других людей?
- Важно ли, чтобы приложение использовало «передовую» версию библиотек?
В качестве дополнительного примечания и из своего опыта могу сказать, что один из наших программистов пропал пару ночей сна, потому что работал с ветками, а обновление до новой ветки изменило весь API и логику. :)
НТН