Я использую Bazaar для контроля версий, что меня очень устраивает. На базаре каждое дерево / проект в системе контроля версий называется «веткой».
В настоящее время у меня есть ветвь 'main' для реального приложения и ветвь 'dev', которая содержит некоторые вещи, такие как модульные тесты, а также руководство пользователя и т. Д. Таким образом, и приложение, и связанные с ним тесты версиями, но отдельно.
Однако я подозреваю, что то, как я это делаю, не самый лучший способ. Например, если бы я создавал ветки релизов из этой «основной» ветки, то эти ветки релизов не синхронизировались бы с модульными тестами, если я не разветвлял их так же.
В настоящее время, чтобы создать снимок приложения, я просто экспортирую все файлы из этой основной ветви и заархивирую их, потому что в дереве этой ветви нет ничего, что не является частью приложения, которое будет отправлено в клиенты.
Какой лучший способ сделать то, что я делаю? Если юнит-тесты идут в ту же «основную» ветвь, что и приложение, и если да, то какой удобный способ легко создать «снимок», то есть эквивалент «ежедневной сборки», которая содержит только файлы, которые будут распространяться вместе с приложение?
Спасибо всем за ответы. Трудно было решить, чей ответ принять. Решение, с которым я столкнулся, заключается в том, чтобы мои тесты находились в подкаталоге «tests» моего главного дерева; Я мог бы легко избавиться от этого позже, если бы не хотел распространять тесты.