Review Request: KDevPlatform Mercurial plugin v2

Fabian Wiesel fabian.wiesel at fu-berlin.de
Sun Mar 15 18:19:30 UTC 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/300/
-----------------------------------------------------------

(Updated 2009-03-15 11:19:30.038685)


Review request for KDevelop.


Changes
-------

Third version has a bit more drastic changes:
- *Executor classes are removed
- GitPlugin and MercurialPlugin implement the interface required by IDistributedVersionControl and DistributedVersionControlPlugin themselves
- The function name *Executor::checkout() collided with the SVN-term "checkout", I renamed it to switchBranch()
- Also, I took the liberty in renaming DVCSjob to DVcsJob, and DVCSCommit to DVcsEvent
- And finally, I disabled LogView as it duplicates VCSEventWidget (altough I have to admit, I liked LogView better)

Besides that functionality hasn't changed.


Summary
-------

This is the second version of my attempt at a Mercurial plugin

I adopted in DVCSjob::output() the logic from ProcessLineMaker for converting the raw output to QString. Note: Logic will fail in 16-bit charsets (or larger) environments (Windows Unicode).

IBasicVersionControl is implemented insofar, that all functions called by the context-menu are working (at least for me). Especially the diff-function may fail, if called a different way than the context-menu does.

"Head" and "Base" map to the latest locally commit revision.

Functions not directly callable by the context menu are implemented, but untested.

The following functions are not implemented:
- update() 
- merge()

IDistributedVersionControl has been implemented except for:
- add_dvcs() as it would the same as IBasicVersionControl::add()

IDVCSexecutor::branch() is only as so far implemented, that one can create a branch from the currently checked out branch/version.
Deleting a branch is not possible with the Mercurial version I have.


Diffs (updated)
-----

  /trunk/KDE/kdevplatform/vcs/interfaces/idistributedversioncontrol.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/revhistory/commitlogmodel.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/importdialog.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/logview.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/logview.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/revhistory/commitView.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/revhistory/commitlogmodel.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/idvcsexecutor.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/test2/dvcsjobTest.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/test2/dvcsjobTest.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/tests/dvcsjobTest.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/tests/dvcsjobTest.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/branchmanager.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/branchmanager.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/dvcsgenericoutputview.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/ui/dvcsgenericoutputview.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/idvcsexecutor.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/dvcsplugin.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/dvcsjob.h 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/dvcsjob.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/dvcsplugin.h 939529 
  /trunk/KDE/kdevplatform/shell/documentcontroller.cpp 939529 
  /trunk/KDE/kdevplatform/vcs/CMakeLists.txt 939529 
  /trunk/KDE/kdevplatform/vcs/dvcs/dvcsevent.h PRE-CREATION 
  /trunk/KDE/kdevplatform/shell/documentationcontroller.cpp 939529 
  /trunk/KDE/kdevplatform/shell/core.h 939529 
  /trunk/KDE/kdevplatform/shell/core.cpp 939529 
  /trunk/KDE/kdevplatform/plugins/mercurial/tests/CMakeLists.txt PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/tests/initTest.h PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/tests/initTest.cpp PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/mercurialplugin.cpp PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/mercurialplugin.h PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/kdevmercurial.rc PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/CMakeLists.txt PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/Messages.sh PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/mercurial/kdevmercurial.desktop PRE-CREATION 
  /trunk/KDE/kdevplatform/plugins/git/tests/CMakeLists.txt 939529 
  /trunk/KDE/kdevplatform/plugins/git/tests/initTest.h 939529 
  /trunk/KDE/kdevplatform/plugins/git/tests/initTest.cpp 939529 
  /trunk/KDE/kdevplatform/plugins/git/gitplugin.cpp 939529 
  /trunk/KDE/kdevplatform/plugins/git/gitplugin.h 939529 
  /trunk/KDE/kdevplatform/plugins/git/gitexecutor.cpp 939529 
  /trunk/KDE/kdevplatform/plugins/git/CMakeLists.txt 939529 
  /trunk/KDE/kdevplatform/plugins/git/gitexecutor.h 939529 
  /trunk/KDE/kdevplatform/plugins/CMakeLists.txt 939529 
  /trunk/KDE/kdevplatform/kross/krossdistributedversioncontrol.h 939529 
  /trunk/KDE/kdevplatform/kross/krossdistributedversioncontrol.cpp 939529 

Diff: http://reviewboard.kde.org/r/300/diff


Testing (updated)
-------

  1/  3 Testing kdevcvs-test                     Passed
  2/  3 Testing kdevgit-test                     Passed
  3/  3 Testing kdevmercurial-test               Passed


Thanks,

Fabian





More information about the KDevelop-devel mailing list