Subversion (SVN)
От: _DEBUG Беларусь  
Дата: 06.04.03 19:28
Оценка:
Кто нибудь пользуется? Есть ли клиенты для винды?

Спасибо
... << RSDN@Home 1.0 beta 6a >>
\n Give me MSDN and I'll show you the world
Re: Subversion (SVN)
От: Dimentiy Россия  
Дата: 07.04.03 08:23
Оценка: 15 (1)
Здравствуйте, _DEBUG, Вы писали:

DEB>Кто нибудь пользуется?


Я пользуюсь, правда недавно — хорошая вещч.
Сервер svn может работать как сам по себе, так и в качестве модуля Apache. Я использую именно этот вариант. Глюков пока не замечено.

Скоро будет русский перевод полного руководства по Subversion.

Если есть заинтересованность у народа, могу накидать типа QuickStart по Subversion для Windows. Надо? Сейчас самое время начинать пользовать — скоро релиз выйдет.

DEB>Есть ли клиенты для винды?


svn.exe
Графических пока нет. Есть некий RapidSVN, но это поделие и клиентом-то назвать язык не поворачивается.

Можно написать в рамках RSDN.
Re[2]: Subversion (SVN)
От: _DEBUG Беларусь  
Дата: 07.04.03 08:48
Оценка:
Здравствуйте, Dimentiy, Вы писали:

D>Здравствуйте, _DEBUG, Вы писали:


DEB>>Кто нибудь пользуется?


D>Если есть заинтересованность у народа, могу накидать типа QuickStart по Subversion для Windows. Надо? Сейчас самое время начинать пользовать — скоро релиз выйдет.

Если не сложно Сейчас сижу разбираюсь с ним — любая помощь очень кстати.

DEB>>Есть ли клиенты для винды?


D>svn.exe

D>Графических пока нет. Есть некий RapidSVN, но это поделие и клиентом-то назвать язык не поворачивается.

D>Можно написать в рамках RSDN.

Хорошая мысль — готов принять посильное участие
... << RSDN@Home 1.0 beta 6a >>
\n Give me MSDN and I'll show you the world
Re: Subversion (SVN)
От: DemAS http://demas.me
Дата: 07.04.03 09:21
Оценка:
Здравствуйте, _DEBUG, Вы писали:

D>Кто нибудь пользуется? Есть ли клиенты для винды?


А что это такое ? Поделись, если есть время.
... <<Слушаю silent >>
Re[2]: Subversion (SVN)
От: Dimentiy Россия  
Дата: 07.04.03 09:40
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS> А что это такое ? Поделись, если есть время.


http://www.rsdn.ru/Forum/Message.aspx?mid=234085&amp;only=1
Автор: Dimentiy
Дата: 05.04.03
Subversion(SVN) QuickStart
От: Dimentiy Россия  
Дата: 07.04.03 10:20
Оценка: 141 (19) +1
#Имя: FAQ.tools.svn.quickstart
Disclaimer: Прошу относиться с пониманием к тому, что данный текст пишется "на коленке" и разумеется не может рассматриваться как полноценное описание. Цель описания — только создать и настроить простейший репозиторий и начать работу с системой svn.

1. Использованное программное обеспечение:
-----
Apache 2.0.44
(apache_2.0.44-win32-x86-no_ssl.msi, 5 000 704 bytes)
(Текущая версия 2.0.45, но я использовал 0.44, поэтому так и описываю. Отличий в настройке нет.)
Subversion
(svn-0.20.0-setup.exe, 3 806 357 bytes)

Для заметки: Зачем нужен Apache?
Доступ к репозиторию Subversion возможен несколькими способами — локально, с использованием собственного протокола и standalone сервера, а также с использованием Apache и WebDAV. Последний способ, имхо, является предпочтительным — настройка доступа осуществляется средствами Apache и соответсвенно очень конфигурабельна, протокол http работает везде где только можно, надёжность Apache в общем-то доказана временем. Кроме того, хотя это уже и не так важно для нашего дела, система Subversion построена на APR (Apache Portable Runtime) и портируется на все платформы, на которых работает Апач. Ну, а с использованием локальных файлов вообще, ИМХО, лишена смысла

2. Установка продуктов
-----
Используя стандартные процедуры установки, устанавливаем Subversion и Apache.
Примем для простоты, что конечные директории установки, соответственно, C:\Program Files\Subversion\ и C:\Program Files\Apache Group\Apache2\ (директории по умолчанию).

Необходимо убедиться, что переменная PATH содержит путь к C:\Program Files\Subversion\ . Как это делается в Win9x, я уже не помню. По-моему, надо перегружаться — хотя не догма. Это необходимо для использования утилит svn и svnadmin из командной строки.

Всё, базова установка совершена. Далее мы будем настраивать Apache, репозиторий и сеть.

3. Конфигурация сети.
-----
Имя хоста для Subversion. Для простоты примем, что мы настраиваем хост svn.rsdn.ru Разумеется, каждый системный администратор должен будет использовать при установке и настройке имя другого хоста и правильно настроить DNS, если предполагается коллективная работа. Для простоты опять же, этот вариант мы рассматривать не будем и просто напишем в файл hosts (местоположение на WinNT/2000/XP — %SystemRoot%\System32\drivers\etc\hosts) следующую строчку:


# 38.25.63.10 x.acme.com
# x client host

127.0.0.1 localhost
127.0.0.1 svn.rsdn.ru

Теперь обращение к svn.rsdn.ru с Вашей машины будет перенаправляться на 127.0.0.1, где и стоит Apache. Для начала работы с системой достаточно. Впоследствии Вы настроите правильные IP-адреса.

4. Настройка Apache
-----
Настройка Apache осуществляется с использованием настроечного файла httpd.conf в каталоге C:\Program Files\Apache Group\Apache2\conf\ .
Настройка апача — дело тонкое и многогранное, на httpd.apache.org лежит исчерпывающая документация на эту тему, и мы касаться её не будем. Для нашей задачи понадобится не так много настроек.
Оговорим только ещё одну вещч. Apache допускает, как полноценный веб-сервер, обслуживание множества виртуальных хостов. Для простоты описания примем, что данный Apache обслуживать будет только Subversion. Тот, что использует VHOSTS — знает что делать с файлами настройки в своём случае.

Итак. Имеем стандартный файл httpd.conf. Вносим в него следующие изменения:

— Устанавливаем переменную ServerName:

ServerName svn.rsdn.ru:80

— Разрешаем использование модуля mod_dav:

#LoadModule dav_module modules/mod_dav.so
меняем на
LoadModule dav_module modules/mod_dav.so

— Разрешаем использование модуля Subversion:

Добавляем строку
LoadModule dav_svn_module modules/mod_dav_svn.so

ПОСЛЕ строки с mod_dav.so.

— Настраиваем параметры доступа к репозиторию

Добавляем в конец файла httpd.conf следующие строки:

<Location /svn>
DAV svn
SVNPath "C:/repository"
</Location>


Здесь предполагается, что физически репозиторий будет находиться в каталоге "C:\Repository". Доступ к корню репозитория будет осуществляться по адресу http://svn.rsdn.ru/svn/
Обратите внимание на использование прямых слэшей вместо обратных в настройках Apache.

Также нужно скопировать файл mod_dav_svn.so из поставки Subversion в каталог C:\Program Files\Apache Group\Apache2\modules\ и файл libdb40.dll из поставки Subversion — в каталог "C:\Program Files\Apache Group\Apache2\bin\" .
Это собственно модуль системы Subversion и библиотека доступа к репозиторию, используемая модулем. В принципе, libdb40.dll может наверное находиться не в bin\, а в любой директории, описанной в переменной PATH.

Перезапустим сервис Apache.


5. Настройка Subversion, создание репозитория.
-----

В состав системы Subversion входят две основные консольные утилиты — svn.exe и svnadmin.exe. Первая утилита — собственно клиент, используемый нами в работе. svnadmin — утилита для обслуживания репозитория — создания, создания резервных копий и т.д.

Запустим консоль (cmd.exe). Подадим команду:

svnadmin create "C:\repository"

Если нет сообщений об ошибках — значит наш репозиторий создан!

В англоязычной документации команда "svnadmin create ..." описана как "svn create ....". "Не верь глазам своим".. очепятка. Уже описана в списке багов.

-----

Собственно, на этом этапе система готова к работе. Это не значит, что работа завершена — нужно назначить в случае необходимости разные права доступа для разных пользователей, возможно доступ посредством ssh — но эти вопросы больше относятся к конфигурации Apache и здесь их рассматривать ни к чему.
Главное — система на этоп этапе готова к началу работы.

Описывать собственно работу с системой я не буду — в последнем номере журнала RSDN за 2002 год есть хорошая статья о работе с CVS. Последовательность импорта начального проекта, синхронизации — аналогична и для svn.
Надо однако учитывать, что идеология-то общая, а реализация у cvs и svn разная. Посему за деталями, пока я книжку не перевёл, отсылаю к англоязычному оригиналу, а здесь просто приведу некоторые первые команды:

svn mkdir -m "Directory for my test project" http://svn.rsdn.ru/svn/testproject
— создаём тестовую директорию testproject в репозитории для нашего первого проекта. Обратите внимание на изменение номера Revision репозитория. В отличие от CVS, где все файлы имеют свою нумерацию — в svn любое изменение репозитория приводит к изменению общего Revision number.

svn import -m "initial release" http://svn.shtrih-m.ru/svn/testproject .
— Включаем в репозиторий файлы из текущего каталога с подкаталогами (обратите внимание на точку в конце команды).

Выполнение команды
svn co http://svn.shtrih-m.ru/svn/testproject .
в пустой директории создаст рабочую копию проекта, полученную из репозитория, и на этом этапе можно начинать работу.


Если что не работает — спрашивайте.
Enjoy!
svn
Re[4]: Errata
От: Dimentiy Россия  
Дата: 07.04.03 21:10
Оценка:
Не считая нескольких опечаток в тексте

svn import -m "initial release" http://svn.shtrih-m.ru/svn/testproject .
следует читать как
svn import -m "initial release" http://svn.rsdn.ru/svn/testproject .
в применении к описанному примеру.

svn co http://svn.shtrih-m.ru/svn/testproject .
следует читать как
svn co http://svn.rsdn.ru/svn/testproject .

Издержки copy/paste

Спасибо за оценки.
Re[4]: Ну раз надо, лови ;-) Subversion(SVN) QuickStart
От: .smoke Россия  
Дата: 08.04.03 09:08
Оценка:
А возможна ли связка IIS + SVN?
Re[5]: Нет. Subversion - кроссплатформенный продукт.
От: Dimentiy Россия  
Дата: 08.04.03 09:36
Оценка:
S>А возможна ли связка IIS + SVN?

Subj.
Re[6]: Нет. Subversion - кроссплатформенный продукт.
От: _DEBUG Беларусь  
Дата: 09.04.03 03:14
Оценка:
Здравствуйте, Dimentiy, Вы писали:

S>>А возможна ли связка IIS + SVN?


Читая доки я так понял, что невозможна (наверное пока )
На настоящий момент возможна работа только с локальными файлами и Апачем.
Есть исходники — можно самим дописать

Кстати — есть фри ГУИ клиент для него TortoiseSVN
... << RSDN@Home 1.0 beta 6a >>
\n Give me MSDN and I'll show you the world
Re[7]: Нет. Subversion - кроссплатформенный продукт.
От: Dimentiy Россия  
Дата: 09.04.03 12:46
Оценка: +1 -3
Здравствуйте, _DEBUG, Вы писали:

_DE>Здравствуйте, Dimentiy, Вы писали:


S>>А возможна ли связка IIS + SVN?


Я не спрашивал, я отвечал на этот вопрос. См. выше дерево сообщений.

_DE>На настоящий момент возможна работа только с локальными файлами и Апачем.


Это не так. Возможна работа с использованием ra_dav (используя модуль apache), ra_file (с локальными файлами) и ra_svn (с использованием собственного протокола и сервера svnserve). Так что вариантов на само деле три, а не два.

В девелоперском списке рассылки сегодня обсуждается забавная тема "Why is subversion so slow?"
Именно с применением mod_dav_svn. Моё имхо — хотя тормоза и присутствуют, они не настолько серьёзны, чтобы париться на эту тему.

_DE>Есть исходники — можно самим дописать


Можно-то можно, а нужно ли? Какой выигрыш это даёт?
Гораздо нужнее написать MSSCCI(SCC API) — интерфейс к Subversion, но Microsoft, к сожалению, зажимает спецификации.

_DE>Кстати — есть фри ГУИ клиент для него TortoiseSVN


Отстой этот TortoiseSVN (моё сугубое ИМХО). Как и TortoiseCVS.
Re[8]: Для der Igel
От: Dimentiy Россия  
Дата: 09.04.03 14:09
Оценка:
_DE>Кстати — есть фри ГУИ клиент для него TortoiseSVN

D>Отстой этот TortoiseSVN (моё сугубое ИМХО). Как и TortoiseCVS.


Подивившись на вашу реакцию, которую по счастию уже снёс модератор — скачал я новую версию TortoiseSVN.
Ну, что сказать — действительно, можно пользоваться. Даже наверное удобно. Кому-то. Так что свои слова насчёт "отстой" я, скромно потупившись, возьму обратно.

Но речь не об этом. TortoiseSVN позволяет делать только ограниченное количество операций. В этом и её прелесть, и слабость. Прелесть в том, что никакой лишней информации. Update, Commit, Add... в общем-то, и всё. Легко и понятно, и научить пользоваться можно быстро. А слабость в том, что для работы этого недостаточно.

Для обычного разработчика, имхо, вообще важнее возможность работать с версиями из своей IDE, чем из приложения Explorer.
Автоматизации — никакой. Всё ручками. А зачем?

Если обобщить, в среде Windows нужен COM-объект вроде "SourceControl.Subversion", чтобы можно было использовать его везде, где хочется — в том числе и в Tortoise. Так правильно.
Тогда к одной и той же функциональности можно будет делать разные интерфейсы в зависимости от задач и уровня пользователей.
А так как сделано — извините, неправильно. Не тот это путь. Имхо, конечно.
Re: Subversion (SVN)
От: Dimentiy Россия  
Дата: 14.05.03 17:55
Оценка: 12 (1)
Здравствуйте, _DEBUG, Вы писали:

_DE>Есть ли клиенты для винды?


Вышла альфа-версия плагина для VS.Net. Домашняя страница проекта:
http://ankhsvn.tigris.org/
Можно пробовать пользоваться (и писать отзывы авторам!).

Что до клиента TortoiseSVN — он теперь нормально работает со всеми файлами (интернациональные символы в имени файла). Текущая версия — 0.10, вполне стабильна.
Версия 0.11 появится в пятницу и (на любителя) будет включать мою русификацию .
Re[4]: Ну раз надо, лови ;-) Subversion(SVN) QuickStart
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 15.05.03 14:21
Оценка:
Здравствуйте, Dimentiy, Вы писали:


D>Disclaimer: Прошу относиться с пониманием к тому, что данный текст пишется "на коленке" и разумеется не может рассматриваться как полноценное описание. Цель описания — только создать и настроить простейший репозиторий и начать работу с системой svn.


Если есть желание немного расширить этот материал, то я готов в свою очередь разместить его на своём сайте.
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
Re[5]: Ну раз надо, лови ;-) Subversion(SVN) QuickStart
От: Dimentiy Россия  
Дата: 15.05.03 18:18
Оценка:
Здравствуйте, Akzhan, Вы писали:

A>Если есть желание немного расширить этот материал, то я готов в свою очередь разместить его на своём сайте.


Вообще есть страница, посвященная Subversion, на сайте Алексея Махоткина. Но там пока ничего нет Хотя у него другая ситуация, он насколько я понимаю пишет с коллегами из Новософта CVS следующего поколения.

Так что думаю, что тексты эти будут на моём сайте (вернее, будет специальный сайт) — так сложилось, что я сейчас перевожу основной мануал по Subversion и с завтрашнего дня являюсь Release-Manager проекта TortoiseSVN.
Окончательные тексты выкладывать рано, поскольку система развивается (и соответственно меняется). Но эти изменения уже не носят принципиальный характер, думаю скоро всё закончится релизом.

p.s. Нет желания написать svn-плагин для Delphi/Builder?
Re[6]: Ну раз надо, лови ;-) Subversion(SVN) QuickStart
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 15.05.03 18:32
Оценка:
Здравствуйте, Dimentiy, Вы писали:

D>p.s. Нет желания написать svn-плагин для Delphi/Builder?


А разве Athlant не поддерживает SVN? Я являюсь зарегистрированным пользователем Devrace Athlant (http://www.devrace.com/) и принимал некоторое участие как бета-тестер.
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
Re[8]: Нет. Subversion - кроссплатформенный продукт.
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 15.05.03 18:36
Оценка:
Здравствуйте, Dimentiy, Вы писали:

D>Гораздо нужнее написать MSSCCI(SCC API) — интерфейс к Subversion, но Microsoft, к сожалению, зажимает спецификации.


Тогда Athlant не поддерживает Subversion.
Кстати, Андрей Семак, автор Athlant, может либо встроить модуль поддержки Subversion, либо помочь Вам в получении доступа к MS SCCI API spec.
По крайней мере он такой доступ получил (afair, через Сергея Вострикова).
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
Re[7]: Ну раз надо, лови ;-) Subversion(SVN) QuickStart
От: Dimentiy Россия  
Дата: 15.05.03 19:53
Оценка:
Здравствуйте, Akzhan, Вы писали:

A>Здравствуйте, Dimentiy, Вы писали:


D>p.s. Нет желания написать svn-плагин для Delphi/Builder?


A>А разве Athlant не поддерживает SVN? Я являюсь зарегистрированным пользователем Devrace Athlant (http://www.devrace.com/) и принимал некоторое участие как бета-тестер.


IMHO, не поддерживает. Системы Subversion-то, как таковой, нет ещё — только бета-версии.
А вообще, у меня сложилось очень неоднозначное, скажу дипломатично, мнение об Athlant. Во всяком случае, EAccessViolation я видел регулярно. Ничего конкретного не скажу. Возможно, конфликт был с чем-то, с моими классами, с JEDI — не знаю. Возможно, эти проблемы уже решены (если они были).

Хотя откровенно говоря, я проникся идеей интеграции в Shell, заложенной в TortoiseSVN. Мне чуть выше по тексту минусов накидали — пришлось сначала разобраться, потом проникнуться, потом включиться в команду Так что нужен ли такой плагин, равно как и плагин к VS.Net — большой вопрос. Конечно, чем больше выбор тем лучше — но лично я сейчас обхожусь Tortoise.
Re[9]: Нет. Subversion - кроссплатформенный продукт.
От: Dimentiy Россия  
Дата: 15.05.03 20:03
Оценка:
Здравствуйте, Akzhan, Вы писали:

A>Кстати, Андрей Семак, автор Athlant, может либо встроить модуль поддержки Subversion


Думаю, это было бы очень неплохо — думаю, в первую очередь для него самого как автора Athlant — лишнее преимущество.

A>, либо помочь Вам в получении доступа к MS SCCI API spec.

A>По крайней мере он такой доступ получил (afair, через Сергея Вострикова).

Конкретно мне доступ этот сейчас не нужен. Мне бы мануал перевести на хорошем уровне и FAQ-и для пользователей Windows на русском написать ("родной" мануал рассчитан в первую очередь на консольный режим использования и Unix). Причём неплохо успеть сделать это к релизу

Кроме того, уточню — я ни в коем разе не разработчик Subversion. Базовые модули пишутся людьми из CollabNet в основном, на фултайме. Просто нравится мне этот проект, правильный он какой-то Я слежу, чтобы в TortoiseSVN было всё нормально с русским, и только.
Кстати, в девелоперском списке рассылки Subversion пробегают русские имена, причём есть именно что разработчики отдельных вещей. Но им, скорее всего, не до переводов. Так что, каждому своё.
Re[8]: Athlant & Subversion
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 16.05.03 09:20
Оценка:
Здравствуйте, Dimentiy, Вы писали:

D>А вообще, у меня сложилось очень неоднозначное, скажу дипломатично, мнение об Athlant. Во всяком случае, EAccessViolation я видел регулярно. Ничего конкретного не скажу. Возможно, конфликт был с чем-то, с моими классами, с JEDI — не знаю. Возможно, эти проблемы уже решены (если они были).


Хе. Были малопринципиальные глюки в Athlant в ранних версиях. Но сейчас это вылизанный и удобный продукт. Мне им пользоваться удобнее, чем любым другим, возможно, исключая встроенный в VS.NET.

Если найдёшь ошибки в последних версиях, не поленись сообщить автору.

Да, чуть не забыл: я разместил feature request на Subversion API для Devrace Athlant.
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.