Issues in VCS plugins

Milian Wolff mail at milianw.de
Sun Mar 5 22:15:27 UTC 2017


On Freitag, 24. Februar 2017 20:18:51 CET Alexander Potashev wrote:
> Hi,
> 
> While working on the Paste command [1], I discovered a few problems
> that might be or not be bugs, nevertheless I'm posting them here for
> comments and for the record:
> 
>  1. KDevelop::copyUrl() calls vcs->copy() when the source path is
> VCS-controlled, but it doesn't check if the source and destination
> belong to the same VCS root. It doesn't lead to problems when copying
> between different Git roots because of Git plugin implementation,
> however the SVN plugin implementation looks different and it might
> fail in the same scenario.

Nasty, that probably was never tested.

>  2. GitPlugin::move() has no information about the open KDevelop
> projects, thus with two nested Git repos move must fail when e.g.
> moving from the inner Git root to the outer Git root (consider a
> destination dir inside the outer Git root but outside the inner one at
> the same time).

Also bad.

> Sorry for writing this, I'm lazy to reproduce both of the above, but
> the above thoughts might be helpful for someone writing unit tests or
> redesigning the KDev interfaces.

I don't have any time either, so please at least file some bug reports for 
this.

> 3. bool IProjectFileManager::moveFilesAndFolders() can move multiple
> files/folders, but returns only one boolean by which you can't tell
> how many files have actually moved. Same problem with
> removeFilesAndFolders, copyFilesAndFolders. I'm thinking of making one
> call to moveFilesAndFolders() per file/folder.

Improvements welcome :)

> [1] https://phabricator.kde.org/D4772


-- 
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20170305/5f42545d/attachment.sig>


More information about the KDevelop-devel mailing list