[Lazarus] Development of other revision control
Sven Barth
pascaldragon at googlemail.com
Thu Apr 12 14:50:20 CEST 2012
Am 12.04.2012 11:23, schrieb Reinier Olislagers:
> On 12-4-2012 11:43, Hans-Peter Diettrich wrote:
>> Reinier Olislagers schrieb:
>>
>>> If you want to expose SVN functionality further, and if there's any
>>> need, adding an API to the component/plugin would be possible. It's just
>>> that I don't directly see the use for that - perhaps for other IDE
>>> component writers?
>
>> An API may be required when multiple CVS shall be supported at the same
>> time. Then somebody (the IDE?) has to determine which of the installed
>> packages is used by a project.
>>
> You propose having multiple packages, each supporting a separate
> revision control systems?
> Then build in revision control support into the IDE? Seems like an
> unwieldy solution.
>
>
> I'd rather have a single package that supports multiple systems - if
> necessary with extensions for certain systems (e.g. things that git can
> do that SVN can't).
> This package would talk to various revision control system classes
> (using an API/interface/factory model, however you want to call
> it/implement it).
> The project directory could contain a file (or perhaps an extension to
> the .lpi file, don't know if that is allowed) that specifies which RCS
> to use, as well as URLs, usernames, perhaps passwords etc.
>
> Then again, it's not my decision.
I personally would prefer if it would be designed the following way:
* have a package that provides a general SCM API and dialogs for the IDE
* have each SCM have it's own package which uses the SCM API package and
wraps the SCM somehow (e.g. by using the tools or - if provided - a library)
This way one can easily leave out SCMs that one does not need. E.g. if
one only uses Git and SVN then you don't need to have Mercurial and CVS
support compiled into the IDE.
Regards,
Sven
More information about the Lazarus
mailing list