Patch for preliminary Mercurial integration in kdevplatform

Fabian Wiesel fabian.wiesel at fu-berlin.de
Sun Mar 22 15:38:20 UTC 2009


On Sun, 22 Mar 2009 17:44:51 +0300
Evgeniy Ivanov <pfx.kde at gmail.com> wrote:

> On Sun March 22 2009 17:01:54 Andreas Pakulat wrote:
> > Shouldn't checkout be moved to ICVCS as well? Unless I'm missing
> > something with dvcs you don't "checkout" but you rather "copy" a
> > remote repository, right?

Well, I a sense, you do a checkout.
	IBasicVersionControl::checkout(source, target)
can be broken down as:
	if (IBasicVersionControl::isVersionControlled(target))
		return 0;
	IDistributedVersionControl::init(target)
	IDistributedVersionControl::pull(source, target)
	IBasicVersionControl::update(target)

So, since one can easily provide the behaviour, I think it can stay.

> No, with checkout you populate your working tree (working
> directory/etc) with specified commit content.

That is git-checkout. IBasicVersionControl::update() is the
corresponding interface function. As I said, git unfortunately decided
to map the terms employed by Subversion on different operations.

> > +10 from me :) A given vcs-plugin can _always_ provide its own
> > i<preferredvcsnamehere>.h interface header which other plugins can
> > use then. The only downside would be interacting with scripting
> > languages as for those the methods have to be slots (iirc)
> 
> I agree too.

Does this agreement also cover the staging related flags in
VcsStatusInfo? I think a better place for that is in the extendedState
field.

Fabian




More information about the KDevelop-devel mailing list