new import wizard, discussing vcs interfaces

Aleix Pol aleixpol at kde.org
Sun May 2 18:30:43 UTC 2010


On Sun, May 2, 2010 at 7:48 PM, Andreas Pakulat <apaku at gmx.de> wrote:

> On 02.05.10 01:24:47, Aleix Pol wrote:
> > On Sat, May 1, 2010 at 6:44 PM, Andreas Pakulat <apaku at gmx.de> wrote:
> >
> > > On 01.05.10 17:24:52, Aleix Pol wrote:
> > > > As a first iteration I thought it would be a good improvement to
> provide
> > > VCS
> > > > checkout capability, for now I tried to add a first page for checking
> out
> > > in
> > > > case we want to import the project remotely, that's the UI VCS
> plugins
> > > are
> > > > providing:
> > >
> > > I find Eclipse way of doing this very good, it allows you to setup a
> > > browser for a remote repository and then browse it and select any part
> of
> > > it to "checkout as project". What I don't like about this is that its
> > > hidden quite a bit (you need to add the cvs/svn/git repo browser view
> and
> > > then fill it), so having it available as widget and re-using it in a
> wizard
> > > to "Checkout project from CVS/Svn/Git/.." would be nice.
> > >
> > > > http://proli.net/meu/kdevelop/kdevelop_import_git.png
> > > > http://proli.net/meu/kdevelop/kdevelop_import_svn1.png
> > > >
> > > > I guess that here the problem is that since it's some interface that
> > > wasn't
> > > > used we're just getting untested stuff. (Note that's what we get when
> we
> > > > call IBasicVersionControl::createImportMetadataWidget). That unveils
> me
> > > some
> > > > doubts on the API which I hope that someone (named apaku? :D).
> > >
> > > This is actually an import wizard, not a checkout-wizard. Import means
> that
> > > some directory+files are being _imported into a VCS_ at some location.
> > > Thats why its part of the new-project-wizard, it automatically imports
> the
> > > generated project into a VCS and then automatically checks out from the
> VCS
> > > into the location that you specified. This is not intended to be used
> to
> > > checkout an existing project from a VCS and thats something not only
> you
> > > got wrong. However I don't think there's any way to "fix" that
> > > misconception, except by providing a way to checkout-project-from-vcs
> > > (probably as part of the open/import wizard) and documenting both ways
> > > properly in a documentation-wiki and showing the differences there.
> >
> > Oh I see, so we need a new interface, don't we?
>
> Rather a new method on an existing interface IMHO to get a similar
> widget (i.e sharing some of the code) that allows to select a repository
> location and specify a place on disk where to put the checkout (or
> clone). Thats if you want to have some kind of wizard for checking out a
> project from a vcs, which will certainly be easier than implementing a
> repository browser (as I don't think any of the vcs plugins implement
> the repo-browser interface currently).
>
> > We could consider this interface to be a VcsLocation creator, maybe we
> can
> > reuse that somewhere else later. This interface could have a navigation
> view
> > too, if the plugin provides it we're going to get it. (I don't really
> think
> > it's necessary to abstract the operations to do so because it's KIO in
> the
> > end).
>
> Uhm, KIO?? I don't understand how kio gets into all this.
>
> Andreas
>
> --
> Try to relax and enjoy the crisis.
>                -- Ashleigh Brilliant
>
> --
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>

Sorry, by interface I meant some new method "LocationWidget*
IBasicVersionControl::locationWidget();" where:

class LocationWidget: public QWidget {
 //...
 virtual VcsLocation location() const=0;
};

About the KIO thing I meant that I don't think we want to create some
structure to make it possible to create some interface.

Hope it's more clear.
I think that here the best will be that I start to create some stuff so that
we can check later if it's what we want.

Aleix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20100502/75815cc8/attachment.html>


More information about the KDevelop-devel mailing list