Я разрабатываю плагин для другого компонента программного обеспечения, который, как и большинство программного обеспечения, периодически выпускается в новых версиях (2011,2012, 2013 и т. Д.). Конкретные версии моего плагина будут совместимы только с конкретными версиями родительского приложения.
Как лучше организовать мой SVN-репозиторий, чтобы отслеживать, какая версия совместима с какой?
Я думал о такой структуре:
Repo\MyProject2012\Trunk
Repo\MyProject2012\Branches
Repo\MyProject2012\Tags
Затем, когда будет выпущена версия родительского приложения 2013 года, и мне нужно будет сделать новую версию моего плагина, я скопирую MyProject2012\Trunk
в новую папку MyProject2013\Trunk
и создам соответствующие MyProject2013\Tags
и MyProject2013\Branches
папок.
Хотя я не уверен, как обращаться с номерами версий. Если последняя версия версии 2012 моего плагина 2.5, должна ли первая версия 2013 года быть 1.0? 2,6? 3,0
В качестве альтернативы я также думал о том, чтобы иметь одну папку проекта и отслеживать изменение версий моего плагина с 2012 по 2013 годы с помощью тегов в хранилище. Тем не менее, переключение между 2012 и 2013 годами будет серьезным изменением, поскольку это означает, что мой плагин должен будет ссылаться на совершенно новый API родительского приложения. Кроме того, это затруднит исправление ошибки в версии 2012 моего плагина после того, как я начну работать над версией 2013 года, поскольку будет только одна папка ствола.