betacode

Программирование C# для группы использующей Visual Studio и SVN

1- Введение

Статья основана на:
  • Visual Studio 2013 (Ok for Visual studio 2015).

2- Установка требует

Это модель работы в группе C# используя Visual Studio и SVN:
Программисты в группе вместе принимют участие в разработке приложения, результат работы каждого члена группы будет выставлено в SVN Repository (Репозиторий SVN) и поделено всем другим членам.
Чтобы получить SVN Repository вам нужно установить SVN Server например Visual SVN на каком-нибудь компьютере, это будет сервером SVN. Можете посмотреть инструкцию установки и конфигурации Visual SVN по ссылке:
В случае если у вас нет SVN Server. Вы можете зарегистрировать аккаунт XP-DEV чтобы получить бесплатный SVN Repository с памятью до 1.5G достаточно для работы группы. Смотрите инструкцию регистрации и использования XP-DEV по ссылке:
  • TODO Link!
Далее на каждом компьютере членов группы должен быть установлен AnkhSVN, это plugin для Visual Studio чтобы общаться с SVN Server.

3- Конфигурация SVN Plugin для Visual Studio

После того как вы настроили AnkhSVN, вам нужно перезагрузить Visual Studio, и начать конфигурацию SVN Plugin для Visual Studio.
В Visual Studio выберите:
  • Tools/Options

4- Совместное использование Project в SVN Repository

Для начала, члену команды нужно поделиться кодом первоначального проекта в SVN Repository (Репозиторий SVN).
Допустим в Visual Studio у меня есть 1 Solution с названием MySolution, он содержит 3 Project. Я загружу MySolution в SVN Repository.
В Visual SVN создан готовый Repository с названием CSharpProjects.
Copy URL:
URL который в скопировали может содержать название сервера SVN.
  • https://TRAN-VMWARE/svn/CSharpProjects/
Вы можете поменять название сервера адресом IP.
Если вы используете XP-DEV и создаете SVN Repository, вы получите соответствующий URL, используйте этот URL.
Вернуться к Visual Studio.
Мы загрузим 2 Project: ProjectController & ProjectModel для совместного использования в репозиторий (repository) CSharpProjects:
Ввести аккаунт SVN:
MySolution и Project внутри загружены в SVN Repository.
Это изображение в Visual SVN Server:

5- Checkout Project из SVN Repository

Другие члены в команде сделают checkout Project из Repository со своего компьютера.
Open Visual Studio:
Выбрать местоположение папки где Solution (содержащий project) будет сохранен на локальном компьютере.
Solution скачан на ваш компьютер из SVN Repository:
Вы можете проверить в папке локального компьютера.

6- Commit

Now we modify (or add) files on Projects, and Commit them to Repository.
Добавить новый файл.
Чтобы загрузить измененные данные в SVN Repository. Вы можете нажать на правую кнопку мыши на Solution выберите "Commit Solution Changes". Этот способ расположит все новые файлы или измененные файлы Project расположенные в Solution в SVN Repository.
Вы так же можете нажать на правую кнопку мыши на Project содержащий новый файл или измененный файл, выберите:
  • Source Control/Commit Project Changes
Вы так же можете выбрать новый файл или измененный файл, чтобы загрузить в SVN Repository:

7- Update

Используя функцию Update, вы можете обновить новые и измененные файлы из SVN Repository в локальный компьютер
Нажмите на правую кнопку мыши на Solution выберите "Update Solution to Lastest version" чтобы обновить изменения всех Project в Solution. Если в SVN Repository есть новый project, тот project тоже будет скачан на локальный компьютер.
Вы так же можете обновить определенные изменения Project.
Или обновить изменения определенных файлов или папок.

8- Основные функции

Мы изучим способ использования некоторых важных функций.

8.1- Add to svn:ignore

Если у вас есть папка или файл, который вы хотите, чтобы SVN пропустил, не загрузил в SVN Repository. Вы можете использовать функцию: Ignore
Например у вас есть папка содержащая файлы данных, которыми вы не хотите делиться как в изображении ниже:
Нажмите на правую кнопку мыши на папку MyNote, выберите:
  • Subversion -> Ignore -> Ignore Files in Folder (*).
После выполнения функции "Ignore", вам нужно commit изменения.

8.2- TODO -