VCS Interfaces, round 3

Andreas Pakulat apaku at gmx.de
Fri May 4 19:17:54 UTC 2007


On 04.05.07 14:07:39, Matthew Woehlke wrote:
> Andreas Pakulat wrote:
> > On 04.05.07 10:33:08, Matthew Woehlke wrote:
> >> Matt Rogers wrote:
> >>> Why do we have one interface that takes local paths and one that  
> >>> takes repo paths?
> >> Ask Andreas. :-) Personally I'd be in favor of dropping the one in 
> >> IBasicVC (that takes local paths), you can always still use local paths 
> >> indirectly with repositoryLocation().
> > 
> > Uhm, actually I think I was a bit confused. Add certainly doesn't make
> > the slightest sense to have in the repo interface. But remove does.
> 
> I think this conversation just wandered off and got lost. I was asking 
> about two instances of log() (at least, that's what I remember thinking 
> I was doing? ;-)), although you're right, IRepoVC should have a remove().

Hmm, I can't recall any discussion about removing add() from the RepoVC.
remove() is there already (last time I looked at least).

> > Matt, the reason to have this split is that some VCS don't allow to work
> > on the repo directly (Matthew said perforce doesn't for example) and
> > this way its much easier to communicate this to the API users. A plugin
> > that can't do stuff like remove() directly on repository paths simply
> > doesn't implement the repository interface.
> 
> Right. Actually... perforce *might* be able to emulate it with temporary 
> clients (i.e. setting up a mapping but not actually doing the 'p4 
> sync'), but I'd as soon not do such weird hacks in the back-end.

Fully agreed.

Andreas

-- 
Do something unusual today.  Pay a bill.




More information about the KDevelop-devel mailing list