[VCS] Merging IAtomic* into IBasic*

Matthew Woehlke mw_triad at users.sourceforge.net
Fri May 11 16:00:41 UTC 2007


Andreas Pakulat wrote:
> On 11.05.07 10:02:34, Matthew Woehlke wrote:
>> Andreas Pakulat wrote:
>>> On 10.05.07 18:22:00, Matthew Woehlke wrote:
> [snip]
>> More importantly, are we stating that only one repository may be used
>> per project?
> 
> Yes.

Ok, that makes things easier.

>> Anyway if we say 'one project, one repository', then a pointer 
>> to the project would suffice for things that only need to know the 
>> address of the VCS server (and e.g. user name, etc).
> 
> No, a KUrl that is part of a project is sufficient, because you can find
> the project from that.

Right, I'm considering a KUrl "heavier" (I guess because it imparts more 
detailed information than the project), but as you say, either suffices.

> So there are functions in our interfaces that don't take a repo or local
> path.

Right now change() only takes a VcsRevision. That might be the only one, 
I haven't done an audit yet.

>> Honestly I think I would rather see one plugin instance per project,
>> which knows about the repository. Is the overhead of this really so
>> bad? (Or is it just not possible with the platform?)
> 
> Its not supported by our platform and its also not going to be.

Ok, all I needed to know. :-)

>>>> Incidentally, what happens if the plugin needs to ask you for a 
>>>> password? Use KWallet I guess?
>>> See above, project config file can store this.
>> And... maybe we can have an option to not save it on disk? ;-)
> 
> Thats subject to the plugin implementation, [snip]

...but then something that is not the project config is storing the 
password? I guess you mean that it is up to the plugin implementation if 
it wants to use the project config or has its own method?

>>>> So I guess in order to use a VCS Browser GUI (think 'websvn') you would 
>>>> have to tell it the server+root first?
>>> Hmm, this should be something that is stored in the vcs plugin config
>>> (i.e. the repository roots).
>> Huh? This information is different per each repository, for KDevelop it 
>> can be stored as part of the project, for a GUI the usual way is to ask 
>> on startup (or of course use last). I guess a GUI would implement a 
>> 'dummy' project if using the KDevelop interfaces. :-)
> 
> What I mean is if I want to browse a VCS without having a project for
> that? Whats the problem of storing a list of repositories and their
> access information? I don't think I should get 20 dummy projects just
> because I browse 20 svn repos. 

The front-end would handle this so it would be totally invisible to the 
user, but...

> And a general-vcs-gui on top of the platform would only have project for
> things that have been checked out, not for browsing a repository.

...now that you mention it, you're right, as long as you never deal with 
a local path the VCS plugins shouldn't be looking for a project anyway. 
So forget what I said. :-)

But I don't see why the plugin is remembering roots, wouldn't the 
browser front-end do that?

> I'd rather not call it VcsUrl but KDevelop::RepositoryAccessor or
> something like that. Its not really a url for things like CVS or others.

That's fine, it's just a name. :-)

-- 
Matthew
find / -user your -name base -print | xargs chown us:us





More information about the KDevelop-devel mailing list