After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 530444 - perforce vc support
perforce vc support
Status: RESOLVED OBSOLETE
Product: meld
Classification: Other
Component: version
git master
Other All
: Normal enhancement
: ---
Assigned To: meld-maint
Stephen Kennedy
: 336262 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-04-28 21:12 UTC by Vincent Legoll
Modified: 2017-12-13 18:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Stephen Warren's meld/p4 integration attempt, v1 (5.54 KB, patch)
2008-08-27 16:17 UTC, Stephen Warren
none Details | Review

Description Vincent Legoll 2008-04-28 21:12:12 UTC
Add perforce vc plugin to browse modified files from a perforce repository
Comment 1 Vincent Legoll 2008-04-28 21:24:10 UTC
I created this bug to track progress on perforce vc plugin support
The attached perforce.py file can be simply dropped into the vc
subdirectory of meld to enable that support.

The plugin relies upon an available 'p4' command-line client,
which will require proper environment variable to be setup:

P4USER=joe
P4CLIENT=joe_work
P4PORT=localhost:1666

There is no "changelist concept" support
Comment 2 Vincent Legoll 2008-04-28 21:26:03 UTC
A last-minute testing revealed a showstopper,
which will delay the release a bit.
Comment 3 Stephen Warren 2008-08-27 16:15:55 UTC
I didn't see any attachment to this bug, so I worked on p4 integration myself. I'll attach my current work-in-progress which at least seems usable.

Some notes: Currently, functions like diff_command in a vc file simply return a shell command to execute and the main code assume you can just tack the filename on to the end. It'd be better if the vc file could totally override this processing, or perhaps get passed the filename into the function so it could embed it into the middle; see comments in the file and the new meld-p4-diff binary.
Comment 4 Stephen Warren 2008-08-27 16:17:14 UTC
Created attachment 117466 [details] [review]
Stephen Warren's meld/p4 integration attempt, v1
Comment 5 Alasdair Ferro 2009-02-05 12:29:36 UTC
I'm very interested in getting this working, but when i tried the patch, I got lots on errors on my shell:

Traceback (most recent call last):
  • File "/usr/share/meld/task.py", line 131 in iteration
    ret = task()
  • File "/usr/share/meld/vcview.py", line 244 in _search_recursively_iter
    entries = filter(showable, self.vc.listdir(root))
  • File "/usr/share/meld/vc/_vc.py", line 118 in listdir
    dirs, files = self.lookup_files(cdirs, cfiles)
  • File "/usr/share/meld/vc/_vc.py", line 90 in lookup_files
    raise NotImplementedError() NotImplementedError

I'd copied the supplied two files into the /usr/share/meld/vc directory and chmod 755 on the script.

Am I doing something incorrect, or am I jumping the gun? If there's a newer version of this patch available, I'd like to try it.

Thanks,

Alasdair
Comment 6 Stephen Warren 2009-02-05 16:42:48 UTC
I wrote this patch against meld-1.1.5-5.fc9.noarch. What version are you using? Latest SVN has probably moved on a bit since I wrote it.
Comment 7 Alasdair Ferro 2009-02-06 09:19:11 UTC
Hi,

I'm using meld-1.1.5-5.el5 (RHEL5 RPM package), but with a patch for bug 505087 (http://bugzilla.gnome.org/show_bug.cgi?id=505087), so I'd hope I'm fairly close to what you wrote against originally.

Alasdair
Comment 8 Stephen Warren 2009-02-06 16:27:18 UTC
Sorry, I actually developed the patch against svn r1034!

Anyway, it looks like you're simply using a feature I never implemented. What's your exact command-line and usage model?
Comment 9 Alasdair Ferro 2009-02-07 08:42:40 UTC
Hi,

I started using meld when we used Subversion as our revision control tool. With the Meld-Subversion integration, I could do "meld ." and I would get a directory style diff between the files currently on disk and the version controlled files.

I was trying to do the same with Perforce. Basically, cd into a Perforce controlled directory and type "meld .". I then get the mentioned error messages on the console.

Is this a feature that can be made to work, or is it SVN / CVS specific?

Thanks,

Alasdair
Comment 10 Stephen Warren 2009-02-07 18:37:47 UTC
Alasdair,

That mode of operation should work. I just tested it, and It Works For Me.

It's quite possible the patch only works correctly when applied to SVN (and in particular, the particular version of SVN I mention above).
Comment 11 Alasdair Ferro 2009-02-10 20:46:42 UTC
I've grabbed the 1.2.1 release, and fiddled it run on my RHEL5 box. The P4 integration now works - many thanks!!

Alasdair
Comment 12 tom 2009-12-25 05:06:16 UTC
I have just tested this with meld 1.3.0 on Ubuntu 9.10 and it works well enough to be very useful.

I think it would be good to get this committed.

One minor thing that could be improved is that it would be nice if revert would work on files that have been modified but not added to a changelist.
Comment 13 Kai Willadsen 2011-01-14 20:56:04 UTC
*** Bug 336262 has been marked as a duplicate of this bug. ***
Comment 14 Kai Willadsen 2013-03-29 04:36:25 UTC
I'm untagging this from being assigned, since no one is apparently really working on this. If, however, someone would like to push forward perforce support, that would be awesome.

Basically, this would need to:
 * be structured more like our current git/bzr plugins
 * not require an extra helper shell script
 * have some instructions that people could use to test it, etc.
 * make sure it works with Meld's various invocation options (e.g., does it do-the-right-thing when invoked on individual files or subdirectories)
Comment 15 GNOME Infrastructure Team 2017-12-13 18:50:55 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/meld/issues/17.