[MonoDevelop] VersionControl Add-in for Perforce

Michael Hutchinson m.j.hutchinson at gmail.com
Tue Jul 1 22:58:46 EDT 2008


On Tue, Jul 1, 2008 at 10:40 PM, Casey Marshall
<cmarshall at pacificbiosciences.com> wrote:
> It's actually RequestFileWritePermission. Perforce has separate
> lock/unlock commands, which I'd like to try to support, too.
>
> This is probably most important for project files, which seem to get
> written just by being used, and I think Visual Studio's Perforce

They shouldn't, unless you change project options or add/remove files.
Nonetheless, the XML formatting sometimes changes for no readily
apparent reason; this is a bug.

> integration checks these out automatically. For checking out normal
> files, just having an item in the contextual menu to check the file out
> for edit would be OK.
>
> Related to this, is there a mechanism for adding a verb to the version
> control menu for "open for edit" commands?

http://monodevelop.com/The_Command_System

though this should probably be implemented in the VC addin given that
it has API for locking and unlocking files.

> I'll look at LogDebug. The idea here is to emulate the "console" output
> you get in the perforce GUI -- it actually writes a log of all its
> commands as if they were being done on the command line, so I'd want
> this enabled all the time, and having them appear in the message pad is
> ideal.

Oh, I thought it was just for debugging. The "Internal message pad" is
intended to log messages from the logging service, which is generally
used to log info that the user usually doesn't want to see but could
be useful for debugging problems with non-debug builds of MD. E.g.
addin loading and the commands sent to the C# compiler are logged at
"Info" level; copies of error and waring messages are logged to the
corresponding levels, etc.

I'd suggest that you add a new pad. In fact there's an API (I forget
where) to create an IProgressMonitor pad, so you could just keep a
static handle to that. Then, it wouldn't be too hard to alter the
versioncontrol addin to use an existing pad. Or mabye even alter the
verisoncontrol addin to add this features (optionally) for all VC
providers.

> I don't think there is any programmatic API, through I saw references to
> COM bindings on Windows. And yes, I agree :-)

Mono can handle COM, and on linux too if they have it :)

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list