new import wizard, discussing vcs interfaces

Aleix Pol aleixpol at kde.org
Fri May 21 13:17:51 UTC 2010


On Sun, May 2, 2010 at 8:30 PM, Aleix Pol <aleixpol at kde.org> wrote:

> 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
>

So I moved the import wizard branch to some clone of mine. it can be found
here: http://gitorious.org/~apol/kdevelop/apol-gsoc2010

What we can find there is the new page in the import wizard with some
changes here and there to make it work. (git plugin doesn't work with that
branch, without my local changes). That page is capable to help the user
clone/checkout and go on with the importing process.

It's just for VCS systems for the moment. If anybody is interested on it and
takes a look, that would be great.

NOTE: integration of svn is not really working so I've been trying with git
because i understand better its codebase, i'm attaching hereby some little
patch in case you want to give it a try.

Thanks! :)
Aleix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20100521/e7240ac4/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: git-importwizard.patch
Type: text/x-patch
Size: 1609 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20100521/e7240ac4/attachment.patch>


More information about the KDevelop-devel mailing list