Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Аспекты Subversion (WingedFox)
Author Message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 11, 2006 12:58 pm ()
   Post subject:
Reply with quote


М

Выделено из темы «DbSimple v2.x: лаконичная работа с различными СУБД»,
расположенной в форуме Конструктор (18 Декабря 2006, 01:49).
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 11, 2006 12:58 pm (спустя 1 секунду; написано за 3 минуты 26 секунд)
   Post subject:
Reply with quote

Предлагаю в SVN ставить теги на библиотеку.
Очень уж неудобно искать нужную ревизию по логу.

Ну и включить возможность скачивания архивов очень желательно, тогда и юзеры перестанут биться головой об стенку. 8*)

PS: можете открыть SVN на чтение, чтобы линковаться к библиотекам через svn:externals можно было?
Back to top
View user's profile Send private message
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Mon Dec 11, 2006 5:18 pm (спустя 4 часа 20 минут; написано за 57 секунд)
   Post subject:
Reply with quote

WingedFox
Тэги? Честно говоря, никогда с ними не работал... Сейчас кэширование допишу - пойду гуглить (-;
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 11, 2006 5:25 pm (спустя 7 минут; написано за 1 минуту 49 секунд)
   Post subject:
Reply with quote

Константин Жинько [tIT]
В SVN это простые каталоги, куда копируются исходники, после того как решено сделать релиз.

Посмотрите, например, svn.debugger.ru/wsvn/JS%20libraries/Virtual%20Keyboard/
В Эклипсе/ЧерепахоСВН пункт меню branch/tag.
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Tue Dec 12, 2006 1:56 pm (спустя 20 часов 30 минут; написано за 51 секунду)
   Post subject:
Reply with quote

Дмитрий Котеров
А какой URI? =)
/svn
/repos
/repository
дают 404 ошибку... =(
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Tue Dec 12, 2006 2:12 pm (спустя 16 минут; написано за 31 секунду)
   Post subject:
Reply with quote

dklab.ru/lib/

Вы также можете скачивать все примеры и библиотеки, а также отслеживать изменения в исходных кодах при помощи Subversion:

    * воспользовавшись интерфейсом WebSVN: dklab.ru/wsvn/lib/branches/RELEASE/
    * используя анонимный доступом к SVN: svn://dklab.ru/lib/branches/RELEASE/

Не работает разве?

Last edited by Дмитрий Котеров on Wed Dec 13, 2006 12:39 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Tue Dec 12, 2006 2:28 pm (спустя 15 минут; написано за 4 минуты 34 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров
Я предполагал, что существует http(s) доступ.
У меня на работе все порты закрыты, т.ч. svn:// для меня бесполезен, к сожалению.

Вообще, для нормальной работы возможно использовать только https, т.к. прокси его не режут, в отличие от HTTP, где тот же сквид благополучно убивает WebDAV.

А WebSVN (как и прочие веб-морды) полезен только для "одноразового" использования...
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 18, 2006 1:19 am (спустя 5 дней 10 часов 51 минуту; написано за 5 минут 28 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров
Раз SVN уже используется, я бы посоветовал вести нормальное версионирование: <релиз>.<изменение>.<багфикс>
Иначе теряется существенная информация - а чем текущая версия лучше, чем предыдущая.

Ну и автоподстановка номеров релизов в библиотеку делается очень просто:
Code (php): скопировать код в буфер обмена
    preg_match (www.php.net/preg_match)("/\\/[^\\.]*[\\.\\/]([^\\/]+)\\/[\\w\\.\\s$]+$/"," $HeadURL$ ", $v);
    $version = {$v[1]}.preg_replace("/\\D/","", " $Rev$ ");
Для путей вида /project/tags/<project_title>.<release>.<changeset>.<bugfix>


PS: сейчас WebSVN ругается:
Code (any language): скопировать код в буфер обмена
XML error: no element found (3) at line 3 column 0 byte 45
cmd: svn --non-interactive --config-dir /tmp log --xml --quiet --username anonymous --password none 'svn://dklab.ru/lib/lib/lib'
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 18, 2006 1:41 am (спустя 21 минуту; написано за 1 минуту 50 секунд)
   Post subject:
Reply with quote

WingedFox
1. Хотелось бы, чтобы номера версий подставлялись в файлы автоматически. А то мы уже замучались их руками менять. Присваивание $version тут не помогает, т.к. нужно отражать версию в прямо в тексте файла, а не просто вычислять переменную.
WingedFox wrote:
Для путей вида /project/tags/<project_title>.<release>.<changeset>.<bugfix>
Таги навешивать - тоже очень рутинно. Релизы часто, каждый раз создавать таг - замучаешься.
Возможно, есть более простой способ?
WingedFox wrote:
сейчас WebSVN ругается:
Правильно ругается, пути-то изменились. См. dklab.ru/lib/ внизу.
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 18, 2006 1:07 pm (спустя 11 часов 25 минут; написано за 13 минут 18 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров
В тексте файла - по опыту достаточно в заголовке держать
Code (any language): скопировать код в буфер обмена
$Id$
$HeadURL$
При хранении тегов в предлагаемом мной формате в коде сразу будет видно версию по HeadURL.
Дмитрий Котеров wrote:
Вообще, надо сказать, вся эта возня с ветками немного напрягает...
Константин Жинько [tIT] wrote:
Еще как!
Что сложного в том, чтобы в Эклипсе выбрать Team=>Branch/Tag, выбрать каталог для копирования и ввести название релиза по образу и подобию?
У меня эта операция занимает меньше минуты...

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

Чисто имхо - Вы выбрали очень неудачную структуру для хранения проектов.
Видно, что Вам удобнее так хранить, чтобы было проще цеплять /lib/ к проектам, но это же самое можно сделать куда как проще. Благо SVN прекрасно поддерживает подобные возможности.

Я бы предложил такую структуру репозитория (см. рисунок)
Тут получается куча выгоды:
1. все релизы доступны простым чекаутом/экспортом
2. вся разработка распределена по бренчам, что позволяет обойтись без лишних конфликтов. Например, Константин сделал бы правку в отдельном бренче и можно было бы оттестировать её до внесения в релиз, да и в принципе решить - нужна ли такая функциональность в главной ветке.
3. линковка проектов через svn:externals позволяет собрать разные версии фреймворка с разными версиями подключенных компонентов.

и так далее.
PS: Если нужно - могу развить мыслю далее 8*)
PPS: Вот почему в больших проектах есть отдельная персона - Configuration Manager 8*)
PPPS: Рекомендую изучить svnbook.red-bean.com/


repository_scheme.gif
 Description:
Схема репозитория
 Filesize:  42.42 KB
 Viewed:  47491 Time(s)

repository_scheme.gif


Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 18, 2006 2:10 pm (спустя 1 час 3 минуты; написано за 2 минуты 38 секунд)
   Post subject:
Reply with quote

WingedFox wrote:
Что сложного в том, чтобы в Эклипсе выбрать Team=>Branch/Tag, выбрать каталог для копирования и ввести название релиза по образу и подобию?
У меня эта операция занимает меньше минуты...
Проблема тут не только в рукоделии, но также и в идеологии. Не все библиотеки Конструктора можно четко разграничить друг от друга. Например, SemiParser используется и в FormPersister, и в MetaForm. Кроме того, некоторые библиотеки лежат в отдельных директориях, а некоторые - нет (это все в соответствии со стандартом PEAR именования библиотек).

В итоге невозможно вести линейку версий для каждой библиотеки в отдельности. Приходится навешивать версионность на весь Конструктор, а единственный способ этого добиться - ветка RELEASE.

В общем, если ты придумаешь, как быть с SemiParser.php и напишешь сюда, я с удовольствием выслушаю. :-)
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 18, 2006 2:23 pm (спустя 13 минут; написано за 3 минуты 54 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров
Ну так бОльшее число библиотек можно отделить друг от друга вообще без проблем.

А учитывая, что FormPersister и MetaForm в любом случае живут в одном каталоге - проблем никаких нет.
Проблема могла бы возникнуть, если бы потребовалось из одной библиотеки подключить только SemiParser, и ничто другое - да, силами SVN это не решается пока что.

В остальном - даже молотком можно забивать и гвозди, и пальцы 8*)

Пусть SemiParser лежит где есть, а компонентом будет каталог HTML 8*)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 18, 2006 3:03 pm (спустя 40 минут; написано за 1 минуту 33 секунды)
   Post subject:
Reply with quote

Мне кажется, это все же плохое решение.

Все-таки, зачем нужна версионность, есть есть гарантировано стабильная ветка RELEASE?
И второй вопрос: у Subversion нет разве возможности в svn:externals указывать номер ревизии, которую хочется получить?
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 18, 2006 3:05 pm (спустя 1 минуту 50 секунд; написано за 1 минуту 25 секунд)
   Post subject:
Reply with quote

Да, еще одно замечание: библиотека - это не только классы, это еще и скрипты автоматического тестирования (t/) и демо-скрипты (test/). Их в директории с классами, естественно, нет (да и нечего им там делать в соответствии с PEAR Coding Standards). Как с ними быть, если разделять репозиторий на модули?
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 18, 2006 3:21 pm (спустя 15 минут; написано за 9 минут 49 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров
А зачем нужна ссылка не непонятный каталог RELEASE в каком-либо проекте, где фреймворк качают через svn:extenals?
Вот будет в релизе лежать не DbSimple v2.0, а 2.1, где метод query был переименован в coolQuery и всё. Пользователи этого проекта сразу пойдут лесом.

А если фреймворк указывал на DbSimple v2.0, то пока его не коснутся изменения - он будет отдавать именно v2.0 с методом query.
Дмитрий Котеров wrote:
указывать номер ревизии
Это на 4 действия дольше и куда как менее удобно/понятно/дружественно к пользователю.
Если пользовать эту практику - тогда каталог RELEASE вообще не нужен - достаточно сказать "качайте ревизию XYZ".
Дмитрий Котеров wrote:
это еще и скрипты автоматического тестирования (t/) и демо-скрипты (test/). Их в директории с классами, естественно, нет (да и нечего им там делать в соответствии с PEAR Coding Standards).
Тут есть "глубокое внутренее противоречие" 8*)
С одной стороны - тестам нечего делать вместе с классами, с другой - надо дать возможность их выкачать вместе.

Чисто имхо - это не удобно, когда надо рыскать по дереву исходников и искать "где же тесты?".
Хотя, вполне можно хранить всё в отдельном модуле, который будет прицеплен к фреймворку через svn:externals
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 18, 2006 4:00 pm (спустя 39 минут; написано за 2 минуты 16 секунд)
   Post subject:
Reply with quote

WingedFox wrote:
Вот будет в релизе лежать не DbSimple v2.0, а 2.1, где метод query был переименован в coolQuery и всё.
Вообще-то первая цифра версии (в нашем случае - 2) говорит как раз о версии интерфейса. Если метод переименуется, то это будет уже версия 3.x, а не 2.x...
WingedFox wrote:
Если пользовать эту практику - тогда каталог RELEASE вообще не нужен - достаточно сказать "качайте ревизию XYZ"
Нет, RELEASE нужен обязательно, потому что разработчики могут обмениваться "грязными" файлами через trunk-ветку.
Как, кстати, сделать, чтобы в svn:externals указывался номер ревизии? Какие там 4 действия?
WingedFox wrote:
Чисто имхо - это не удобно, когда надо рыскать по дереву исходников и искать "где же тесты?"
Вот именно для того, чтобы не рыскать, каждая статья Конструктора снабжена архивом demo.zip, в котором располагается только то, что относится к той или иной библиотеки. Этот архив, кстати, собирается из ветки RELEASE (но в полуавтоматическом режиме).
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 18, 2006 4:19 pm (спустя 18 минут; написано за 10 минут 35 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров
Ладно, будет там версия 3.х - что изменится от этого? Всё равно все пользователи должны будут _постоянно_, минимум 1 раз в день отслеживать изменения.
Пофиксите баг с доп. закавычиванием строк - у пользователя отвалится что-то, что учитывало наличие этого бага в релизе.
А так - он будет получать свой любимый баг до тех пор, пока сознательно не сменит используемый релиз.
Подумайте, почему все производители софта держат ссылки на старые релизы библиотек..?
Дмитрий Котеров wrote:
Нет, RELEASE нужен обязательно, потому что разработчики могут обмениваться "грязными" файлами через trunk-ветку.
Не нужен:
svn co -r 1234 svn://dklab.ru/lib/
Ну или:
svn:externals lib -r 1234 svn://dklab.ru/lib/

А 4 действия:
1. открыть репозиторий, найти библиотеку
2. открыть лог, найти сообщение "релиз такой-то", записать его ревизию
3. прописать ревизию в svn:externals

Вместо простого:
1. открыть репозиторий, выбрать релиз
2. прописать релиз в svn:externals
Дмитрий Котеров wrote:
но в полуавтоматическом режиме
Зачем, если при нормальном управлении репозиторием это всё делается полностью автоматически?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 18, 2006 7:47 pm (спустя 3 часа 28 минут; написано за 3 минуты 43 секунды)
   Post subject:
Reply with quote

WingedFox wrote:
А так - он будет получать свой любимый баг до тех пор, пока сознательно не сменит используемый релиз.
Да я это все прекрасно понимаю. Но решения все равно не вижу.
WingedFox wrote:
svn:externals lib -r 1234 svn://dklab.ru/lib/
Ну вот. Значит, юзер-таки может привязаться к ревизии. А, случаем, нет ли ключа для привязки к дате, а не к ревизии?

Если я напишу крон-скрипт, который раз в день будет автоматом создавать таг с текущей датой и содержимым из RELEASE и выкладывать его в /tags/ (в случае, если в течение дня RELEASE изменилась), это решит проблему с удобством?
WingedFox wrote:
Зачем, если при нормальном управлении репозиторием это всё делается полностью автоматически?
Блин. Да не делается это нормально, в ЦК не дураки сидят.
Я же писал тут про проблемы с SemiParser (это всего лишь частный случай). Пожалуйста, четко и ясно: КАК РЕШАТЬ ЭТУ ПРОБЛЕМУ?
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Mon Dec 18, 2006 8:04 pm (спустя 17 минут; написано за 8 минут 37 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Да я это все прекрасно понимаю. Но решения все равно не вижу.
Создавать новый тег на каждый новый релиз - прекрасно работающее решение.
Дмитрий Котеров wrote:
А, случаем, нет ли ключа для привязки к дате, а не к ревизии?
А к какой дате привязываться? И зачем? Тут же придётся учитывать время сервера.
Дмитрий Котеров wrote:
Если я напишу крон-скрипт, который раз в день будет автоматом создавать таг с текущей датой и содержимым из RELEASE и выкладывать его в /tags/ (в случае, если в течение дня RELEASE изменилась), это решит проблему с удобством?
WingedFox wrote:
Зачем делать всё наоборот?
Не проще ли написать элементарный хук-скрипт, который после коммита очередного тега сам скопирует его в RELEASE?
hooks/post-commit.php
Code (php): скопировать код в буфер обмена
$res = system_exec('/usr/bin/svnlook -r '.$GLOBALS['args'][1])
if (preg_match (www.php.net/preg_match)('#A\s+/path/to/tags#'))
  exec (www.php.net/exec)('/usr/bin/svn copy '.$GLOBALS['args'][0].' -r '.$GLOBALS['args'][1].' '.$GLOBALS['args'][0].'/lib/RELEASE');
Дмитрий Котеров wrote:
WingedFox wrote:
Зачем, если при нормальном управлении репозиторием это всё делается полностью автоматически?
Блин. Да не делается это нормально, в ЦК не дураки сидят.
Я же писал тут про проблемы с SemiParser (это всего лишь частный случай). Пожалуйста, четко и ясно: КАК РЕШАТЬ ЭТУ ПРОБЛЕМУ?
А что есть ЦК? 8*)

Тут ответ простой:
1. Файлы сами по себе не версионируются. Только каталоги.
2. Слить 2 каталога в 1 через svn:externals на данный момент невозможно.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Dec 18, 2006 9:30 pm (спустя 1 час 25 минут; написано за 1 минуту 44 секунды)
   Post subject:
Reply with quote

WingedFox wrote:
хук-скрипт
Можно и так, какая разница. Просто в фиксированную ветку мерджить легче, чем каждый раз вводить новые названия тэгов (которые, кстати, будут совпадать с датами, ведь это тэги для всего Конструктора).
WingedFox wrote:
Тут ответ простой:
Ясно. Это НЕ ответ. Ответа так и нет.
Повторяю вопрос: файл SemiParesr.php используется в N других библиотеках, но самостоятельную ценность вряд ли представляет. Вопрос: как добиться его версионирования?
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Wed Dec 20, 2006 1:46 pm (спустя 1 день 16 часов 15 минут; написано за 2 минуты 32 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
названия тэгов (которые, кстати, будут совпадать с датами
А зачем?
Тегать датами - самое бесполезное изобретение. Теряется информация о релизе, т.к. приходится лезть в changelog, чтобы понять уровень изменений в коде.
Дмитрий Котеров wrote:
Ясно. Это НЕ ответ. Ответа так и нет.
Повторяю вопрос: файл SemiParesr.php используется в N других библиотеках, но самостоятельную ценность вряд ли представляет. Вопрос: как добиться его версионирования?
Правила форума wrote:
На форуме запрещается:
   6. «качать права», требовать немедленного ответа на свой вопрос — Вам тут никто ничего не должен и ничем не обязан!
Ответ я дал:
WingedFox wrote:
Пусть SemiParser лежит где есть, а компонентом будет каталог HTML 8*)
Единственное что можно сделать для семи-парсера - положить его в отдельный каталог. И всё.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Dec 20, 2006 11:12 pm (спустя 9 часов 26 минут; написано за 3 минуты 26 секунд)
   Post subject:
Reply with quote

HTML делать отдельным компонентом нельзя: там лежит еще FormPersister, MetaForm и MetaFormAction. Класть SemiParser в отдельный каталог нельзя: он требуется всеми перечисленными выше библиотеками; как потом собирать демо-архив? Как устраивать ссылки на онлайн-тестирование библиотек (которые сейчас прекрасно работают)?

Единственное возможное хорошее решение - это svn:externals для одного файла. Но так, к сожалению, SVN не умеет (а жаль).

Короче говоря, надо еще думать. В принципе, для распространения библиотек удобно, чтобы они были выделены в отдельные модули, однако такая схема подразумевает, что имеется фаза инсталляции. А вот инсталляции как раз и не хотелось бы.
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Fri Dec 22, 2006 2:13 pm (спустя 1 день 15 часов 23 секунды; написано за 3 минуты 27 секунд)
   Post subject:
Reply with quote

Почему - нельзя?
Врядли имеет смысл сейчас распространять отдельно FormPersister и MetaForm.
А только в этом случае SemiParser может понадобиться версионировать отдельно...

Ссылки на онлайн-тестирование делаются идентично тем, что в рабочей копии.
Демо архив собирается линковкой через svn:externals

В общем, что требуется - продумать структуру репозитория и рабочих копий.
А дальше уже всё можно автоматизировать.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Tue Jan 09, 2007 1:14 am (спустя 17 дней 11 часов 1 минуту; написано за 2 минуты 32 секунды)
   Post subject:
Reply with quote

Ну ОК, попробую каждую библиотеку в виде отдельного модуля.
Собственно, единственный конфликт сейчас - в HTML_MetaForm: он использует модуль HTML_FormPersister. Сделал так:

HTML_MetaForm\trunk\lib
HTML_MetaForm\trunk\lib\HTML
HTML_MetaForm\trunk\lib\HTML\MetaForm.php
HTML_MetaForm\trunk\lib\HTML\MetaFormAction.php
HTML_MetaForm\trunk\HTML_FormPersister
HTML_MetaForm\trunk\HTML_FormPersister\lib <-- линкуется по svn:externals из FormPersister/lib
HTML_MetaForm\trunk\HTML_FormPersister\lib\HTML
HTML_MetaForm\trunk\HTML_FormPersister\lib\HTML\FormPersister
Back to top
View user's profile Send private message Send e-mail
CriS
Заглянувший



Joined: 07 Nov 2006
Posts: 5
Карма: 0
   поощрить/наказать


PostPosted: Wed Jan 10, 2007 5:38 am (спустя 1 день 4 часа 23 минуты; написано за 2 минуты 24 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров, прошу прощения за оффтоп...

В результате реобразования репозитория побились ссылки в Новостях dklab.ru (dklab.ru/news/index.html#news53)

Исправили бы... Или добавили бы новость об изменении...

И ещё вопрос, установленная на dklab.ru версия WebSVN модифицирована для обработки ЧПУ или это её стандартная функциональность?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jan 10, 2007 11:15 am (спустя 5 часов 37 минут; написано за 14 секунд)
   Post subject:
Reply with quote

Исправил.
Стандартная. См. конфиг.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
Post a reply
Username
Subject
Господа спамеры и оптимизаторы!

Вы можете даже и не пытаться вставлять в текст поста ссылки - они все равно автоматически удаляются (вернее, тэги <a> заменяются на тэги <u>).

Но если не поверите и все же попытаетесь - как только увидите, что все безрезультатно, удалите свой пост, пожалуйста. Модераторы тоже люди, нехорошо, если они погрязнут в тоннах спама.
     

Disable BBCode in this post
Disable Smilies in this post
    HTML is OFF
BBCode is ON
Smilies are ON
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML