Использование проекта Android с Team Foundation Server 2010 и ветвления. Есть ли более простой способ?
Это то, что я сделал. Если есть лучший способ, пожалуйста, ответьте.
- Убедитесь, что все разработчики установили Android SDK & Tools по одним и тем же путям.
- Установите плагин Eclipse TFS от Microsoft.
Ссылка на момент написания этой статьи: http://www.microsoft.com/en-us/download/details.aspx?id=25125
Вот шаги, за которыми я следовал:
- Я запустил свой проект Android в случайной папке (рабочая область) и сделал начальную разработку.
- Затем я хотел переместить проект в мою ветку разработки по адресу
$root/Development/MyBranch/Android
- Папка Android не существует, поэтому я создал с использованием TFS. Если вы сделаете это вручную из проводника, то TFS не позволит вам создать его на стороне сервера.
- Из исходного рабочего пространства проекта я сделал "Экспорт" -> "Общие | Настройки", в какую-то папку.
- Затем я сделал "Switch Workspace" -> "Other", я указал локальный путь
$root/Development/MyBranch/Android
- Теперь я получаю пустое рабочее пространство.
- Затем я сделал "Импорт" -> "Настройки проекта" и указал файл, который я экспортировал ранее.
- Затем я сделал "Импорт" -> "Общие | Существующие проекты в рабочую область" с "Копировать проекты в рабочую область".
- Удивительно, но я запустил свой проект с нового места, как обычно, с несколькими икотами.
- Тогда я сделал "Team|Share Project..."
- Я последовал за волшебником.
- Существует сумасшедший экран о создании нового рабочего пространства. Просто нажмите EDIT и убедитесь, что корневое сопоставление TFS в порядке.
- Завершите работу мастера и все готово.
- При запуске проекта плагин также добавит папки gen и bin в TFS. Не пытайтесь бороться с этим, просто проверьте их. Подробнее позже.
- На данный момент у меня все проверено, поэтому я сливаюсь с Main.
- На этом этапе я хочу объединить проект с веткой другого разработчика.
- Процесс похож.
- Используя TFS, создайте папку $root/Development/OtherDev/Android.
- Запустите Eclipse на ПК разработчика и выполните "Switch Workspace" -> "Other".
- Укажите локальный путь к $root/Development/OtherDev/Android
- Теперь вы получаете пустое рабочее пространство.
- Затем "Импорт" -> "Настройки проекта" и укажите экспортированный ранее файл настроек (я включил его в TFS для справки).
- Затем "Импорт" -> "Общие | Существующие проекты в рабочую область" с "Копировать проекты в рабочую область" и скопируйте проект из локальной папки $root/Main/Android
- Затем выполните команду "Team|Share Project...", чтобы связать проект с TFS.
- Теперь закройте Eclipse.
- Сделать слияние
$root/Main/Android
в$root/Development/OtherDev/And
- Регистрироваться
$root/Development/OtherDev/Android
Угадайте что, похоже, что вы сделали. Если я не сделал что-то не так, но пока это "работает на наших ПК".
Особое примечание: поскольку Eclipse/TFSPlugin всегда будет пытаться добавить каталоги gen+bin в систему управления версиями, просто держите их всегда проверенными, и даже если вы когда-нибудь отметите их, не сливайте их обратно с main. Это просто пустая трата дискового пространства на TFS, объединяющая эти файлы.
Этот метод настолько сложен, что просто не выглядит правильным. Есть ли лучший способ получить те же результаты?
Спасибо!
1 ответ
Что касается каталогов bin/gen... TFS 2010 SP1 и новее имеет опцию игнорирования. Бин должен быть добавлен автоматически, а ген - нет. Чтобы добавить, щелкните правой кнопкой мыши папку, затем выберите команду, а затем нажмите кнопку "Пропустить". Возможно, вам придется удалить эти папки в TFS в обратном направлении, но они больше не будут синхронизироваться с TFS.