VCS Interface classes

Matthew Woehlke mw_triad at users.sourceforge.net
Mon Apr 30 18:37:28 UTC 2007


Andreas Pakulat wrote:
> On 30.04.07 12:04:36, Matthew Woehlke wrote:
>> Andreas Pakulat wrote:
>>> Simple: repositoryRevision() will give you the revision of that file on
>>> the repository, local will give you the local revision (i.e. svn info
>>> foobar, for example). This is the same after update() or commit() but
>>> might be different in other times.
>> Anyway, I guess I am also confused; why is the difference not simply 
>> whether you gave a repo path vs. a url (i.e. one function)? (But I guess 
>> this needs the url->repo path function?)
> 
> Thats exactly the only reason - the missing repoPathFromUrl(), which
> will probably get added to the basic iface. Then I propose to change to
> 
> latestRevision( QVariant, Revision::type );

Agreed.

> QVariant is used to make it easier to check wether its a QString or KUrl
> (i.e. repo path or local url). And type may be number or date, so you
> can fetch a date if you want.

Does this mean that all places that take both will be QVariant?

>> I also realized something unfortunate, but probably unavoidable... it is 
>> really hard to get the repo version of a directory with perforce. All I 
>> can figure out to do is get the file version of every file in the 
>> specified path and compare that to the log() of that path, working 
>> backwards until you find the revision at which point going further back 
>> would mean reverting to an earlier version of some file in that path.
> 
> Uhm, latestRevision may return an empty Revision object (i.e. type ==
> invalid or something like that), so you can do that for directories.

...but we should only do that if that's what other plug-ins (e.g. svn) 
do. Otherwise IMO it should be implemented, even if it's ugly as heck.

-- 
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