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