Perforce Plugin - Trouble with environment in execution of job?

Morten Volden mvolden2 at gmail.com
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
good.

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

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);
    if(job)
        kDebug() << "After Creating job, the path is " << path.path() <<
"and the filename is " << filename << "... And the jobs dir is: " <<
job->directory().path();
    *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
below).

http://imagebin.ca/view/89faihm.html

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)

http://imagebin.ca/view/G4zUSuW.html

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

 Thanks.

Morten
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20101115/b4c53003/attachment.html>


More information about the KDevelop-devel mailing list