Patch for preliminary Mercurial integration in kdevplatform

Fabian Wiesel fabian.wiesel at fu-berlin.de
Sun Mar 22 11:43:08 UTC 2009


On Fri, 20 Mar 2009 22:22:16 +0100
Andreas Pakulat <apaku at gmx.de> wrote:

> On 18.03.09 23:01:19, Fabian Wiesel wrote:
> > On Tue, 17 Mar 2009 11:48:32 +0100
> > I think, I have a solution. IBasicVersionControl has to be changed
> > to an abstract base class.
> > [...]
> > virtual VcsJob* cat(const VcsLocation& localOrRepoLocation, const
> > VcsRevision& rev) = 0;
> > 
> > Given this function, one can implement the current diff()
> > VCS-independent
> > in IBasicVersionControl. VCS can provide an optimised version by
> > overriding the function with their specific ones.
>
> But we'd still be there with VcsLocation, which simply doesn't make
> any real sense for dvcs.

It might make sense, if you wanted to refer to remote repositories. But
granted, I don't see an easy way to implement cat() on files in remote
repositories for the Mercurial-plugin.

I will provide a patch for review, which willl move merge() and the
complex diff() to centralvcs and reduce the diff() in basicvcs to work
only on local-files and revisions.

Fabian




More information about the KDevelop-devel mailing list