У меня есть проект с несколькими зависимостями, которые находятся в разных репозиториях. Каждый раз, когда я фиксирую изменения в своем проекте, я пишу номера ревизий всех зависимых репозиториев, чтобы в случае, если мне когда-нибудь придется вернуться к этой ревизии (назовем это 5), я сразу узнаю, какие ревизии версия 5 зависимых репозиториев гарантированно будет работать, обновлять зависимости до указанных версий, компилировать и запускать проект. Так, например, если у меня есть:
Dep1 @ Revisions 10
Dep2 @ Revisions 20
Dep3 @ Revisions 10
Proj @ Revisions 35
И, скажем, когда Proj был на ревизии 17
, ревизия Dep1 была 5
, Dep2 ревизия была 13
и Dep3 версия была 3
. Итак, в моих журналах SVN я записал что-то вроде этого:
!! Works with Dep1 Rev 5, Dep2 Rev 13, Dep3 Rev 3
Мне это кажется примитивным и заставляет меня поверить, что есть лучший способ сделать это. Теперь в одном из моих других вопросов, Ivy Dependency Manager был рекомендован. Я еще не рассматривал это подробно (кажется сложным, и еще одна вещь, которую я должен изучить). Мне кажется, что журнал SVN (и Mercurial и т. Д.) Можно было бы разбить на Log
и Dependencies (if any)
, где последние можно было бы отключить, если не было никаких зависимостей (если, конечно, я не знаю, что проще / лучшее решение). Это позволило бы получить более чистый журнал, который может даже предупреждаться при каждом новом коммите, чтобы снова проверить ранее определенные зависимости и убедиться, что они не изменились.
Итак, мне было интересно, как все справляются с этими ситуациями и есть ли у вас какие-либо советы, приемы, программы, предложения, которые вы можете предложить.
Спасибо.