Jump to content

Perforce Users - A call for some open source SCC tools


Recommended Posts

Hi All,

I have been using P4 with LV since 2000. I have never liked the NI P4 SCC plugin, and so a few years ago I created a few tools that ran via menuLaunchVI that did the simple things (login, open, add, etc) but then a couple others that were more advanced...

-Open all callers (Mostly for updating typedefs)

-Add heirarchy

-Rename in P4 and LV

I updated them for the 8.x environment, but I lost some funtionality that I have been too busy to fix. (At one point, they ran great on all Win/Mac/Linux)

However, today I coded up a utility that grabs all the VIs in a changelist, reads their revision histories (since their last submission) and tabulates that back into the P4 Changelist...

QUOTE

-->zjp4_MergeRevisionChangesIntoChangelistDesc.vi

Perforce Action: edit

Rev 17 2009/06/05 13:06:34; Added std out and std err from the p4 change call as outputs

-->zjp4_appendDescriptionToChangelist.vi

Perforce Action: add

Rev 6 2009/06/05 13:06:00; Added std out and std err as outputs

Rev 5 2009/06/05 12:36:33; Working!

Although it annoys most people, I keep the "prompt for comment when saved" option on, and I find it easy to keep much finer notes there, and now they are propagated up to the CL description. I should have done this years ago, as now my CLs (especially for deep, wide changes) will be more accurate.

However, my tools are a bit clunky. seeing as how I keep patching them with every p4 and LV release.

So...

-Does anyone else have their own tools that they would be interested in sharing?

-Would anyone be interested in creating an openG project? I would like to plug them into the JKI right click framework (although they don't have scripting, their program could connect right-clicks and hotkeys to them)

Let me know!

Jed

Link to comment

QUOTE (jed @ Jun 5 2009, 03:34 PM)

I have been using P4 with LV since 2000. I have never liked the NI P4 SCC plugin,...

For the record, the P4 SCC plugin (Perforce SCM) is not written by NI (The "Perforce Command Line" provider is). LabVIEW calls into Peforce's implementation of their SCC provider. The functionality exposed through the Tools>>Source Control menus is based on a common source controlled interface so it will lack customization for each provider.

Link to comment

QUOTE (gmart @ Jun 8 2009, 02:22 PM)

For the record, the P4 SCC plugin (Perforce SCM) is not written by NI (The "Perforce Command Line" provider is). LabVIEW calls into Peforce's implementation of their SCC provider. The functionality exposed through the Tools>>Source Control menus is based on a common source controlled interface so it will lack customization for each provider.

Maybe a stupid Q but what's the practical difference when using the two providers.

I've been using the SCM up till now, I assumed one was a command-line version whereas the other was a GUI version. Silly me.

Shane.

Link to comment

QUOTE (shoneill @ Jun 8 2009, 07:51 AM)

Maybe a stupid Q but what's the practical difference when using the two providers.

I've been using the SCM up till now, I assumed one was a command-line version whereas the other was a GUI version. Silly me.

Shane.

Perforce SCM is a Perforce written provider. The dialogs and functionality provided there are provided by Perforce. The Perforce Command Line provider is a set of LabVIEW VIs that provide SCC functionality (including UIs) by using Perforce's command line tool (p4). For the most part both providers provide a similar level of functionality. An advantage of the Perforce Command Line provider is that it is cross-platform. Also, by using the command line, operations such as a native LabVIEW diff can be performed. You can diff LabVIEW files with Perforce SCM, but you have to configure a tool (such as lvdiff) from the client to do this.

Link to comment

QUOTE (gmart @ Jun 8 2009, 03:43 PM)

Perforce SCM is a Perforce written provider. The dialogs and functionality provided there are provided by Perforce. The Perforce Command Line provider is a set of LabVIEW VIs that provide SCC functionality (including UIs) by using Perforce's command line tool (p4). For the most part both providers provide a similar level of functionality. An advantage of the Perforce Command Line provider is that it is cross-platform. Also, by using the command line, operations such as a native LabVIEW diff can be performed. You can diff LabVIEW files with Perforce SCM, but you have to configure a tool (such as lvdiff) from the client to do this.

Thanks, I'll have to try that out.

Shane.

Link to comment

QUOTE (jed @ Jun 8 2009, 02:53 PM)

Are the Perforce CL Provider tools available now? As I last recall, they were hidden away behind passwords a few years ago.

As of LabVIEW 8.0, the Perforce Command Line provider has been available. None of the VIs (except for a couple) are password protected.

Link to comment

QUOTE (jed @ Jun 5 2009, 10:34 PM)

QUOTE (jed @ Jun 5 2009, 10:34 PM)

-Does anyone else have their own tools that they would be interested in sharing?

-Would anyone be interested in creating an openG project? I would like to plug them into the JKI right click framework (although they don't have scripting, their program could connect right-clicks and hotkeys to them)

Sorry, I don't have any tools I could provide.

The tools you have already written sound quite interesting, though.

I'd definitely encourage you to start this openG project. :thumbup:

I am especially interested in how you solved the "Rename in P4 and LV".

I was thinking about writing such a tool myself, but I couldn't find a good way to do this, since I always end up having some kind of conflict betweeen P4 and LV names. :headbang:

QUOTE (gmart @ Jun 8 2009, 03:43 PM)

For the most part both providers provide a similar level of functionality. An advantage of the Perforce Command Line provider is that it is cross-platform. Also, by using the command line, operations such as a native LabVIEW diff can be performed. You can diff LabVIEW files with Perforce SCM, but you have to configure a tool (such as lvdiff) from the client to do this.

To make this clear: you can use the VI diff with both providers configured in LV.

If you use the client application that comes with Perforce (P4V or P4Win), you need lvdiff to get a useful VI diff.

So there is still the question: which of the two Perforce providers should I configure in LV?

I prefer the Perforce SCM provider, simply because it's faster when working with large projects.

Link to comment

QUOTE (silmaril @ Jun 11 2009, 11:32 AM)

So there is still the question: which of the two Perforce providers should I configure in LV?

I prefer the Perforce SCM provider, simply because it's faster when working with large projects.

If Perforce SCM works for you then stick with it. The Perforce command line provider works across all platforms, but if you're on Windows only, SCM will work for you.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.