VCS Interface classes

Matthew Woehlke mw_triad at users.sourceforge.net
Mon Apr 30 16:05:09 UTC 2007


dukju ahn wrote:
> 2007/4/29, Andreas Pakulat <apaku at gmx.de>:
>> Hi,
>>
>> * diff and log parameters, am not 100% sure there
> 
> virtual void log( const KUrl& localOrRepoLocation,
>               const QString& revision ) = 0;
> 
> 1.
> How can the caller know repository location for the given local file?
> i.e. suppose there is /home/kdev/kdevelop/main.cpp.
> The caller doesn't know whether it is
> 
> svn://anonsvn.kde.org/home/kde/trunk/KDE/kdevelop/.... or
> https://svn.kde.org/home/kde/trunk/KDE/blah

...I thought that the point was for the plug-in to figure that out? 
(Which brings up a good question, should we also have 'QString 
repoUrl(KUrl localPath)'?)

In fact, since there is e.g. 'svn cat' and 'p4 print', I see no 
particular reason why at least diff() couldn't operate on a file that is 
not under VCS control. (log() in such instances should just fail with 
e.g. ERR_NOT_IN_VCS.)

> 2.
> Subversion accepts start revision and end revision.
> 
> Solution is Just specify the local URL only and,

That won't work, what if I want to diff something that I don't have a 
local copy of? (True, this likely arises in KDevelop only if we provide 
a version of 'diff' that allows entering paths, but remember I wanted to 
see these interfaces useful in a VCS front-end as well.)

> Detailed options will be specified by each VCS plugin itself.
> For example, some plugin will invoke option dialog box and have the
> user specify it.

...except that the version parameters are QString's (which makes even 
more sense now that I think about it, because perforce also accepts 
dates as a means of specifying a version). What's wrong with specifying 
the version like '52,107' to see revisions between r52 and r107?

-- 
Matthew
If you believe you received this e-mail in error, you are probably sadly 
mistaken, but if not, aren't you lucky?





More information about the KDevelop-devel mailing list