о SVN

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

о SVN

Сообщение alexs » 25.05.2007 10:10:08

кто хорошо знает SVN?
есть ли возможность работать с SVN через API? т.е. вызовом функций из какойто-то DLL/SO
или только через взов Утилиты SVN?
у меня появилась мысль сделать интерфейс из Lazarus к SVN
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Attid » 25.05.2007 10:48:34

RapidSVN не юзает штатные утилиты SVN.
а вообще тут стоит к первоисточнику оброщаться про апи что-то есть тут
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение shade » 25.05.2007 11:08:30

Есть набор библиотек libsvn* (libsvn_client, libsvn_subr и т.д.)

Но кроме них еще нужно будет использовать apr (кстати в FCL, кажись есть модули импорта - заметил как-то при компиляции - но не пробовал их в деле).

1. Apache Portable Runtime 0.9.7 (http://apr.apache.org/)
http://apr.apache.org/download.cgi
$ svn co http://svn.apache.org/repos/asf/apr/apr/branches/0.9.x apr
$ svn co http://svn.apache.org/repos/asf/apr/apr ... ches/0.9.x apr-util

NOTE: On Windows you will also need apr-iconv. Check it out next to
the apr and apr-util directories:

$ svn co http://svn.apache.org/repos/asf/apr/apr ... ches/0.9.x apr-iconv


см. также:
http://www.linuxdevcenter.com/pub/a/lin ... bsvn1.html
http://www.linuxdevcenter.com/pub/a/lin ... bsvn2.html
- материал устаревший, но основы из него почепнуть можно - остальное см. исходники - они не плохо документированы (не хватает только систематического обзора - для этого см. ссылки выше).

Я тоже хотел прикрутить функции SVN-клиента к одному проекту и написал (частично) модули импорта для libsvn. Чтобы не делать работу дважды можешь взять за основу ( http://zolotov.h14.ru/download/modules/ ... libsvn.zip ) - объявленных функций должно быть достаточно для svn-клиента (если я чего-нибудь не пропустил), остальные функции нужны для низкоуровневых операций. Но apr лучше попробовать заменить на версию из FCL, т.к. с apr я не возился и там почти ничего нет (хотя возможно этого и хватит).

Если начнешь ковырять по серьёзному, то выложи какой-нибудь простой пример..
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Chief » 29.09.2007 15:57:18

alexs писал(а):у меня появилась мысль сделать интерфейс из Lazarus к SVN

Да, не мешало бы...
Chief
новенький
 
Сообщения: 74
Зарегистрирован: 26.09.2007 17:44:59

Сообщение alexs » 29.09.2007 16:36:28

мысль не пропала - но осуществлятся пока не начала :-(
нет времени
пока варится в голове
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Attid » 29.09.2007 20:16:54

простые действия как получить обновление и закомитеть можно сделать через консольные утилиты и запихнуть в лазарус в раздел доп команд.
сравнение и дополнения вызывая тот же rapidsvn, зачем изобретать велосипед ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Chief » 29.09.2007 23:11:27

Attid писал(а):простые действия как получить обновление и закомитеть можно сделать через консольные утилиты и запихнуть в лазарус в раздел доп команд.
сравнение и дополнения вызывая тот же rapidsvn, зачем изобретать велосипед ?

Мм.... Между прочим вполне здравое решение, да и парится с обновлением клиента не придется. Думаю стоит автору идеи подзадуматься, почитать документацию к SVN и поступить именно так, хотя ему решать.
Chief
новенький
 
Сообщения: 74
Зарегистрирован: 26.09.2007 17:44:59

Сообщение alexs » 30.09.2007 08:46:51

у кадой из этих двух метоик (как есть сечас и интегрированное решение в среду) есть свои преимущества и свои недостатки. На мой взглад преимущества интегрированного модуля - возможность автоматической синхронизации фалов проекта с файлами svn и это главноепреимущество. также возможность просомотра версий исходника из самой среды - не выходя во внешнюю программу - переключение между задачами снижает производительность человека.

Chief писал(а):Думаю стоит автору идеи подзадуматься, почитать документацию к SVN

Я сейчас именно так и работаю.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Attid » 30.09.2007 10:36:05

также возможность просомотра версий исходника из самой среды - не выходя во внешнюю программу

ну в рапидсвн это запросто они у меня в лазаре и открываются. а сравнивать в лазаре все равно не получится.

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

я просто со своей стороны смотрю работаю сейчас так
1 пришел за машину запустил rapidsvn обновил все проэкты,
кого надо перекомпилил(мсе\лазарь скриптами)
2 поработал,
3 запустил rapidsvn сравнил что я там наменял отменил (revert) то что не трогал (обычно формы в лазарь проэктах которые ничаянно кликнул в ИДЕ)
4 закомитил все, пошел пить пиво

сделать что-то удобнее даже не предстовляю. единсвеное что первый и последний путь можно в меню лазаря засунуть хоть сейчас
последний без 3 лучше не делать, много мусора полезет
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение shade » 30.09.2007 11:29:22

А мне понравилась бы такая функция: добавляешь новую форму/юнит в проект и они автоматически добавляется в svn. Соответственно, если удаляется юнит из проекта, то удалять его из svn и т.п.
+ редактирование свойств. Причем запоминать имена нескольких последних отредактированных свойств - чтобы их можно было выбрать через TComboBox + "встроенные" свойства: svn:mime-type (здесь также не помешал бы выпадающий список), svn:ignore и т.п.
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение alexs » 30.09.2007 18:45:10

shade
Во - наш человек. Я именно этого и хочу. Также хочу встроенного на уровне редактора просмотра версий. и ещё много чего...
Attid
Я сейчас тоже так работаю - но это метод не удобен для добавления/изменения содержимого проекта. Да и вобще когда думаеш о задаче - запуск внешнего приложения - это всё равно перключить внимание на другую задачу, отвлекаешся.

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

по форме самого клиента мне понравилась идея из Lazarus CCR - там в примерах компонент есть пример клиента svn - он не использует никаких внешних библиотек - только стандартного svnклиента - и просто парсит его вывод. это медленне случая использования dll или so - но и не требует сторонних библиотек, да и лишнего встроеннного коде не требует много.

Вобщем, будет у меня время свободное, буду заниматься в этом направлении.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

Рейтинг@Mail.ru