Perforce Plugin - Trouble with environment in execution of job?

Morten Volden mvolden2 at
Mon Nov 15 21:09:05 UTC 2010

Hi All

A little while ago I asked on this list about the status of a Perforce
plug-in for Kdevelop4. Since no one replied I take it that development on
such a plug-in is not going on at the moment. So I started writing a
perforce plug-in.

My current status in short:
I have the plug-in loaded, and it will show in the context menu - So far so

The plugin overrides pure virtual functions in ICentralizedVersionControl
and in IBasicVersionControl. E.g. for the edit function I do something like

KDevelop::VcsJob* perforceplugin::edit(const KUrl& localLocation)
    QFileInfo fsObject(localLocation.toLocalFile());
    QString filename(fsObject.fileName());
    QDir path(fsObject.dir());

    DVcsJob* job = new DVcsJob(path, this, KDevelop::OutputJob::Verbose);
        kDebug() << "After Creating job, the path is " << path.path() <<
"and the filename is " << filename << "... And the jobs dir is: " <<
    *job << "p4" << "edit" << filename;
    return job;

When Trying to edit one of the files in my perforce testbed the kDebug gives
me the following output:

perforceplugin::edit: After Creating job, the path is
"/home/mvo/testbed/perforcetest" and the filename is  "main.cpp" ... And the
jobs dir is:  "/home/mvo/testbed/perforcetest"

Which leads me to believe the DVcsJob I am creating has the correct CWD
(i.e. /home/mvo/testbed/perforcetest ). However, the command issued by the
job fails for reasons that escape me (as can be seen in the screenshot

The perforce server and port are specified in the file p4config.txt (p4 will
look for its settings in a file of that name).

If I issue the same command in a kdevelop konsole, it works (see konsole
window in screenshot below)

Can anyone shed some light on what the difference is between the command in
the DvcsJob and the command issued in the terminal?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop-devel mailing list