Perforce Plugin - Trouble with environment in execution of job?
mvolden2 at gmail.com
Tue Nov 23 20:25:17 UTC 2010
I put the plug-in at:
For now it doesn't do much - except "edit", "revert" and show up in the
The usual warnings about not leaving children and kittens unattended with
the plug-in applies.
2010/11/17 Morten Volden <mvolden2 at gmail.com>
> 2010/11/16 Aleix Pol <aleixpol at kde.org>
> On Mon, Nov 15, 2010 at 10:09 PM, Morten Volden <mvolden2 at gmail.com>wrote:
>>> 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
>>> 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?
>>> KDevelop-devel mailing list
>>> KDevelop-devel at kdevelop.org
>> To me it sounds like p4 requires some env variable to be defined that
>> isn't. I don't know anything about perforce though, so I can't help you with
>> that. I can help you with the debugging if you tell me what you need.
> Indeed, I believe it is the P4CONFIG variable. It is used to tell Perforce
> clients the filename of a configuration file. I assumed the perforce client
> would look for "p4config.txt" if P4CONFIG wasn't set - however that does not
> seem to be the case.
> My HD decided to go to lunch a couple of times yesterday so I did not get
> round to putting the source on gitorious - Hopefully I will get it done
> within this week.
>> I agree it looks like the same command, it's really weird that it doesn't
>> return the same.
>> KDevelop-devel mailing list
>> KDevelop-devel at kdevelop.org
- When the split is pulled, mr. Grenade is no longer our friend
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the KDevelop-devel