Patch for preliminary Mercurial integration in kdevplatform
Andreas Pakulat
apaku at gmx.de
Fri Mar 20 21:22:16 UTC 2009
On 18.03.09 23:01:19, Fabian Wiesel wrote:
> On Tue, 17 Mar 2009 11:48:32 +0100
> Andreas Pakulat <apaku at gmx.de> wrote:
>
> > At least thats what it provides with svn. As at least git doesn't
> > support the 2 repository-diff methods it IMHO doesn't make sense to
> > have it in IBasicVC. Note IBasicVC is supposed to be the "lowest
> > common denominator" for all supports VCS.
>
> I think, I have a solution. IBasicVersionControl has to be changed to
> an abstract base class.
>
> If I am not mistaken, all VCS can provide
> the following function:
> /**
> * Retrieves a file (locally or in the repository) at a given revision
> * and returns it in the VcsJob::result() as QByteArray? QString?
> * KMemFile?
> */
>
> 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.
Andreas
--
Tonight's the night: Sleep in a eucalyptus tree.
More information about the KDevelop-devel
mailing list