notable in 0909 release
Wednesday, September 16th, 2009Thought it might be helpful to those in the game industry (and other industries for that matter) – there is a perforce python module in this release that can be used to perform perforce operations.
Whoop-de-doo you say? Well there are a couple of things to note about this particular implementation. First up its pure python. Perforce distributes a python module but there is a binary aspect to it which makes maintaining it in a multi-version python environment (welcome to production people).
For the most part this module returns very similar data to the perforce version, so there is a good chance you can swap this implementation straight in if you’re using perforce’s module (thats what I did).
But the other nifty thing is that python keeps an eye on the p4 process it spawns to make sure it doesn’t hang. Perforce servers seem to be fairly susceptible to big hangs when people make various queries (ie a changes query on the root of a depot for example, or an unbounded integrate). When the server gets hit with one of these super expensive operations, everyone who is in the queue waiting for an operation to complete can be stuck there for quite some time. This means that any app that has perforce integration can become unresponsive which is no fun.
Anyway the next release will have callbacks you can define so applications can decide how to handle such a situation. Depending on the tool you’re writing you may want to wait for it, or you may want to just throw up a dialog for the user so they know its time to go get coffee or whatever.
Also worth noting – this is just python – its not tied to maya at all. In fact I use it in a heap of standalone apps here at Valve. Along with a bunch of UI I’ve written (wx python) artists and animators often don’t have to worry at all about version control until it comes time to submit.




