Пройти первую базу с помощью TortoiseSVN - PullRequest
3 голосов
/ 11 марта 2011

Хорошо, я был убежден, что SVN - это путь к предыдущей публикации , но я еще не видел прозрения. Я не уверен, как настроить SubVersion для своей среды разработки.

Вот мои текущие настройки. Я не хочу возиться с этим, и было бы очень хорошо, если бы Subversion мог сидеть рядом с ним:

Работа:

N: \ Projects
N: \ Projects \ Lib
N: \ Projects \ App1
N: \ Projects \ App1 \ Help
N: \ Projects \ App1 \ Images
N: \ Projects \ App2
.. и т. д.

N: находится на отдельном сервере в здании.

Существует несколько других машин для разработки с локально установленными инструментами, но вся разработка происходит со ссылкой на файлы на сервере, т.е. на рабочих станциях не сохраняется исходный код.

Начало

Ноутбук с тем же набором инструментов разработки и исходными кодами в c: \ Projects \ App1 .. и т. Д., Т. Е. Зеркалом настройки n: \ Projects at work.

Источники между N: \ Projects и C: \ Project в настоящее время выровнены с пользовательским приложением в сочетании с DropBox. Исключения файлов гарантируют, что не исходные файлы не синхронизируются

Я хочу запустить SubVersion с этой настройкой.

  • Куда мне положить репозиторий?
  • Предполагая, что у меня может быть хранилище в взаимно доступное место, будет SVN удалить текущую необходимость синхронизации между работой и домом?

Ответы [ 5 ]

8 голосов
/ 11 марта 2011

Чтобы использовать Subversion, вы замените ваш общий исходный каталог на хранилище Subversion, которое находится на сервере.Каждая рабочая станция разработчика будет проверять копию всего исходного кода локально (однако, если хотите, это может быть личная область на сетевом сервере).

Вы можете сохранить свое дерево N:\Projects как только для чтения копия ежедневной сборки или что-то еще.Но одной из целей Subversion является посредничество между двумя людьми, редактирующими один и тот же файл примерно в одно и то же время.Это несовместимо с общим каталогом, содержащим доступный для записи исходный код.Кроме того, если несколько разработчиков «совместно» используют один и тот же рабочий каталог Subversion, это обречено на провал.

4 голосов
/ 11 марта 2011

Почему бы не создать доступную в Интернете (бесплатную) пробную учетную запись Subversion и немного поиграть, чтобы ознакомиться с ней, прежде чем переместить в нее все дерево исходного кода.Просто чтобы случайно не удалить все, что у вас есть.Может быть, начать с одного фиктивного проекта.Размещайте что-нибудь в интернете.Даже не заплатив ни цента, вы могли бы использовать этот сайт:

http://www.projectlocker.com/

Тогда вы можете настроить свой собственный сервер подрывной работы.Вы можете создать совершенно новое приложение Delphi (файл -> новое приложение Delphi), добавить кнопку, дважды щелкнуть эту кнопку и написать текстовое окно сообщения, или все, что вам нравится делать в демонстрационных приложениях.Теперь создайте хранилище Subversion (возможно, они называют их проектами, находящимися в хранилище проектов) и добавьте папки, в которые вы сохранили этот проект, в этот репозиторий.

Теперь вы можете играть с (a) черепахой SVN, (b) сборка интеграции SVN в Rad Studio XE, если у вас есть Rad Studio XE, и (c) плагины управления версиями, которые входят в JCL, если у вас нет Rad Studio XE.

Кроме того, могу ли я предложить, что если вы хотите иметь хоть какую-то надежду узнать, что вы делаете, вы научитесь добавлять, фиксировать и обновлять из командной строки.Это действительно не так сложно.И это окупится позже.

Зная, что вы можете набрать svn co <a href="http://reposite.something.com/svn/myproject" rel="nofollow">http://reposite.something.com/svn/myproject</a>, чтобы извлечь проект на свой диск, это очень удобно.Иногда я думаю, что графические интерфейсы являются тренировочными колесами для вашего мозга.Вы наносите вред себе, если не изучаете командные строки.

Преимущество размещенной службы subversion, подобной той, что я показал выше, заключается в том, что у вас есть резервная копия вне сайта.Конечно, такой хостинг всегда бесплатен даже для крупных проектов, если вы пишете что-то с открытым исходным кодом.Затем вы можете разместить на sourceforge.В противном случае вам потребуется (а) использовать свой собственный хостинг, доступный через Интернет, или (б) оплатить хостинг, в противном случае вы не сможете легко получить доступ к своему хранилищу дома и на работе.

Лично, если бы я занимался написанием программного обеспечения своим собственным делом или моей профессиональной работой, я бы размещал свой собственный сервер Subversion, и он был бы только частным (LAN), и я использовал бы VPN для доступа к нему.из дома.

3 голосов
/ 11 марта 2011

1: Вы определенно хотите, чтобы хранилище было доступно из обоих мест. Либо вам понадобится система распределенного управления версиями, например, Mercurial или Git

.

2: Да, вам больше не понадобится ваше собственное приложение синхронизации. Это именно работа для вашей системы управления версиями. Синхронизация вручную в дополнение к использованию SVN не является необходимой и даже создаст много конфликтов.

1 голос
/ 11 марта 2011
  1. Поместите хранилище в самое безопасное место.Обычно это означает хороший резервный сервер (диски и т. Д.), Находящийся в контролируемой серверной комнате, и тот, который должным образом резервируется.Когда вы переключаетесь на VCS, исходный код для работы обычно находится в «песочницах» локальных машин, потому что у каждого разработчика должен быть свой собственный.Затем изменения принимаются и отправляются на / с сервера.Имейте в виду, что некоторые инструменты могут иметь проблемы с удаленным каталогом, например, из-за способа работы протокола SMB - проверьте, что они явно поддерживаются, если вам нужно их использовать.Если у вас нет первостепенной потребности в безопасности, IMHO работать в локальных ящиках быстрее и проще.
  2. Если вы можете получить доступ к серверу SVN из дома (т. Е. Через VPN), он не будет отличаться от работы в офисе.Вы будете «синхронизировать» (обновлять / фиксировать) свою песочницу для ноутбука таким же образом, вам не нужны локальный сервер и репозиторий.Если вам нужен локальный сервер (причина может заключаться в том, что вы не можете получить доступ к центральному хранилищу извне, должны работать автономные файлы версий и т. Д.), Могут быть способы репликации между серверами SVN, но в этот момент может быть распределенная VCSдолжен работать лучше в таком сценарии.
1 голос
/ 11 марта 2011
  1. Ваш общий каталог должен быть удален, и копия кода, присутствующего на каждом компьютере, который является рабочей копией репозитория SVN.
  2. Используйте свой сервер с файлами, чтобы разместить сервер SVN наэто или любой другой сервер, к которому имеют доступ все, включая ваш домашний компьютер.
  3. Фиксация / обновление каждый день, несколько раз в день и управление слияниями при необходимости.

ДляДомашний доступ проще всего получить выделенный сервер в сети или перенаправить правильный порт на вашем маршрутизаторе (но вам, очевидно, потребуется некоторый контроль доступа на месте), чтобы ваш репозиторий был доступен извне.При необходимости вы можете ограничить доступ с вашего домашнего IP-адреса или из списка IP-адресов с хорошим маршрутизатором.

Другое решение, как уже говорилось, - это другой тип системы версий, называемый «распределенный», где каждое принятие выполняется локально вваш собственный репозиторий на вашем ПК, и этот репозиторий объединен с «основным» репозиторием для совместного использования кода, а изменения других членов команды возвращены в ваш локальный репозиторий (технически вам не нужен «основной» репозиторийDVCS, но для компании это то, что у вас будет).

См. Git или Mercurial для хорошего DVCS (синтаксис Git отстой, но это наиболее широко используемая и технически лучшая система).

...