I have used cvs, perforce, and git to manage syncing all the tools in the different pipelines I have worked in.
you could use sitecustomize.py to handle updating plugins for all your programs running python interpreters. I have used it before for maya, motionbuilder, nuke, houdini and a few other programs. What I have done before is copy all the plugins on startup into a temp folder and add the temp folder to the plugin path instead of the main branch. Do this for each session of the program you run, therefore updating plugins doesn't get blocked. The programs run the latest version when launched. you can do this in many ways, powershell tools, cygwin environments, etc. the simplest of these to implement was sitecustomize.py(the py file living in your %PYTHONPATH% directory). you can check the sys.executable to figure out the program, versions, etc. and you can set up all your environment paths in the same file. This will still only setup this information for the running instance leaving you the ability to launch different programs under different environments with the proper scripts/plugins. This breaks down when your program doesn't run python but there are workarounds. A lot of them include executing python scripts through cygwin, tcsh etc to do the same thing. -cheers On Tue, Dec 30, 2014 at 2:03 PM, Todd Widup <[email protected]> wrote: > I should preface for version control most of our studios use TFS or > perforce, so we just run with that. > > Might look at something for handling plugin versions viaa perforce and > maya a bit more in the new year, some way to tage and associate a certain > perforce version of the plugin with the scene. > > On Tue, Dec 30, 2014 at 1:59 PM, Todd Widup <[email protected]> wrote: > >> myself and my manager have been writing a setup of powershell tools as >> our previous team supported various projects from various studios here at >> MS. as a result, we were always running into situations where studio X >> would be using Maya 2012, and studio Y would use 2014, but both would have >> completely different configurations and scripts and plugins to use for >> their game engines as well as animation needs. >> >> so we setup a few folders that contain their data, and then our >> powershell tools simply map the folders (on the network) to the correct >> drive letter that that studio used and setup all the appropriate env var >> before launching Maya. >> >> This was about the simpliest way we could deal with it here. >> >> as for userSetup files, I set ours up so that we all share a common one >> per project that sources all the correct tools in addition to all our >> custom tools we have developed for our team. >> >> On Tue, Dec 30, 2014 at 1:42 PM, Timm Wagener <[email protected]> >> wrote: >> >>> Hi guys, >>> >>> thanks for your insights, great explanation Paul. >>> >>> What size of studio are we talking about here? If it’s about 20 ppl, all >>>> running Windows then things are likely a little different then if we’re >>>> talking 500 ppl running Linux. >>> >>> The pipeline <https://github.com/timmwagener/helga> i'm concerned with >>> right now is layed out for approx. 20 ppl. running on Windows. Not yet a >>> studio pipeline, its for our diploma movie, but nevertheless trying to run >>> this show as organized as possible :D >>> >>> As a caveat, we don't use windows much at work, and I think Linux is >>>> more forgiving, in that once a maya plugin is loaded, you can delete the >>>> underlying binary (.so, in Linux-land) without much issue (or maybe it's >>>> our NFS-based filesystem which allows this)? >>> >>> So far Houdini (our Fx & Lighting/Shading Tool) also runs under Linux >>> within our pipeline. Will test if i can delete .so files while an instance >>> of Houdini is running next time i fire it up under CentOS. >>> >>> Anyway, while we haven't had this exact issue, the solution we use for >>>> this general class of problems is a combination of versioned release dirs, >>>> and package-based environment-variable management to control them. The >>>> idea is that every time you release a new version of the plugin, it goes >>>> into an upticked version release dir: >>> >>> That seems like the best solution. I will have to look into package >>> management solutions and set it up like this next time. >>> >>> Our system is just a python module and has a startup method much like >>>> maya's initialise(). It handles copying plugins and python / mel files >>>> from the repository using robocopy. >>> >>> Before i reorganized our pipeline with wrapper tools to point to a >>> central location on the server for plugins etc., i was actually doing the >>> same thing with a startup script that would copy/setup the local >>> environment. >>> I'm gravitating more towards the env. var. solution with a wrapper that >>> points to a central location though, feels a little more elegant to me. >>> >>> Cheers and in case i'm not writing till tomorrow: >>> Happy new year everybody! ;) >>> >>> Timm >>> >>> >>> On Tue, Dec 30, 2014 at 6:14 AM, Jesse Kretschmer <[email protected]> >>> wrote: >>> >>>> As Paul and Justin have pointed out, version specific release >>>> directories are a huge help. I would like to note though that transparency >>>> is important with renders. My studio uses rush but we have a custom render >>>> package that contains all the relevant environment information. The plugin >>>> versions are readily apparent. I leave the policing to the TD on the job. >>>> >>>> Most of the time, our projects will lock to a specific version early on >>>> and won't ever change unless there is a huge bug or fix that comes through. >>>> For this reason, during the rare transitions the TDs can be very attentive. >>>> Outliers are found and corrected quite quickly. >>>> >>>> Your mileage may vary. >>>> Good luck; Have fun. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Python Programming for Autodesk Maya" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/python_inside_maya/CANESWi0f-RdLQrgBBooZgLvPxY5TqdszqrrmMapFzWYPjJ0JTg%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/python_inside_maya/CANESWi0f-RdLQrgBBooZgLvPxY5TqdszqrrmMapFzWYPjJ0JTg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> *Timm Wagener* >>> *Technical Artist / 3D Generalist* >>> >>> *www.timmwagener.com <http://www.timmwagener.com>* >>> >>> Email: >>> *[email protected] <[email protected]>* >>> >>> Phone: >>> *0178-2810920* >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Python Programming for Autodesk Maya" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/python_inside_maya/CA%2Bj65irGHpX%3DDqLyS4zv_TW0wK6RQPCmQiDaEHm8%2BKvE5HbkKg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/python_inside_maya/CA%2Bj65irGHpX%3DDqLyS4zv_TW0wK6RQPCmQiDaEHm8%2BKvE5HbkKg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Todd Widup >> Creature TD / Technical Artist >> [email protected] >> [email protected] >> www.toddwidup.com >> > > > > -- > Todd Widup > Creature TD / Technical Artist > [email protected] > [email protected] > www.toddwidup.com > > -- > You received this message because you are subscribed to the Google Groups > "Python Programming for Autodesk Maya" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/python_inside_maya/CABBPk35TCTcnkc-mNauh5LYrznM3nEdoGh4ZWSMpc%2BjrGvJiKw%40mail.gmail.com > <https://groups.google.com/d/msgid/python_inside_maya/CABBPk35TCTcnkc-mNauh5LYrznM3nEdoGh4ZWSMpc%2BjrGvJiKw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAM9RXoJKDUi%3DthsThsfcXqEBkVHbNOnFMm0nK_HxdncwWZpTvA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
