Программирование для группы с использованием XCode и SVN

1- Обзор XCode и SVN

При разработке большого приложения требуется много участников, на этот момент вам понадобится инструмент помогающий в управлении и разделении исходного кода. На данный момент существуют 2 популярных инструмента для поддержки это  SVN (Subversion) и GIT.
В данной статье я покажу вам как использовать  XCode IDE для интеракции с  SVN. Изображение ниже иллюстрирует интеракцию между  Code и  SVN.
SVN Repository: Является репозиторием (repository), использующийся как место для хранения данных, и разделен для всех участников в группе. Чтобы получить  SVN Repository вам нужно установить программное обеспечение  SVN Server на определенном компьютере, или можно использовать один  SVN Repository предоставленный бесплатно (Например  XP-Dev).
Cмотрите так же:
Участники в группе используют  XCode на их компьютере. И скачивают данные из SVN Repository в локальный директорий, который может так же называться локальным репозиторием ( Local Repository). Изменения на  Local Repository могут быть обновлены на SVN Repository и обратно.

2- Объявить SVN Repository на XCode

На  Mac OS откройте программу  XCode, вы увидите меню XCode на экране Desktop в левом углу.
Выберите tab "Accounts" и нажмите на иконку (+) чтобы добавить один аккаунт.
Имеется 3 вида аккаунтов (account), но в данном случае мы создадим один  Repository (Репозиторий).
Введите информацию  SVN Repository, и ваш  username/password.
OK, вы успешно создали  SVN Repository на  XCode.

3- Импортировать Project в SVN Repository

Для начала, нужно чтобы участник в группе расположил проекты в  SVN Repository. Для иллюстрации, у меня есть некоторые проекты расположенные в папке  SwiftTutorials на  Desktop. Я import (импортирую) эти проекты в  Repository.
В Mac OS откройте программу  Terminal.
CD к папке  Desktop.
Выполнить команду для  import (импортирования) папки  SwiftTutorial в  SVN Repository.

svn import -m "Some Note.."  Your_Directory_Path   Svn_Repository_Url

# Example:

svn import -m "Some Note.."   SwiftTutorials/   https://localhost/svn/SWIFT
 
OK, теперь проекты  import (импортированы) в SVN Repository. Вы можете увидеть их используя браузер и посещая Repository URL.

4- Checkout

После того как проекты появились в SVN Repository, и другие участники могут скачать (download) используя функцию  Checkout у  XCode.
Проекты полученные через функцию Checkout будут управлять ся с помощью  SVN в Local Repository (локальном репозитории). Это значит все участники в группе должны  Checkout, включая того, кто  import (импортировал) проекты в  SVN Repository.
Если вы тот человек, что расположил проекты в SVN Repository через функцию  import, то удалите ваши оригинальные проекты и получите проекты используя функцию  Checkout.
Откройте  XCode, и вы сможете увидеть меню "Source Control":
Назовите папку, содержащую проекты, которые будут скачаны, и расположение папки (Здесь я располагаю папку в Desktop).
После успешного  Checkout, у вас будет папка содержащая проекты, полученные из  SVN Repository, это и есть  Local Repository.
Откройте проекты с которыми вы только что сделали  checkout ​​​​​​​с помощью  XCode.
Открыть проект на  XCode:

5- Commit

Создать изменение на файле и сохранить, вы можете увидеть иконку буквы M (Modified), данная иконка говорит, что содержание этого файла было изменено.
Добавить файл, и вы увидите иконку буквы A (Added), данная иконка говорит, что файл был только что добавлен.
Теперь я загружу (upload) новые файлы и файлы с изменениями в SVN Repository используя функцию  Commit. Другие участники группы могут обновить эти изменения, используя функцию  Update.
Нажать на правую кнопку мыши на проект (Измененный) и выбрать:
  • Source Control/Commit ....
Commit успешно!

6- Update

Когда участник группы  Commit изменения в  SVN Repository, другие участники могут использовать функцию Update, чтобы обновить новые данные в свой компьютер ( Local Repository).
Нажать на правую кнопку мыши на проект и выбрать:
  • Source Control/Update ...

7- Discard Changes

Если вы что-то изменили в Local Repository например изменили файл, добавили новый файл, удалили файл, и вы хотите вернуть состояние перед сделанными изменениями, вы можете использовать функцию  Discard Changes.

Функция  Discard Changes восстановит удаленные файлы и убирает изменения в файлах. Данная функция не влияет на добавленные файлы. Вы можете применить функцию  Discard Changes полностью для всего проекта или для определенных файлов.
Нажать на правую кнопку мыши на проект (Или на папку, или на некоторые файлы) и выбрать:
  • Source Control/Discard Changes ...