Re: slightly OT - differencing and version control
I have a development site up for code versioning and documentation. It uses subversion as a backend and a wiki for the documentation and ticketing. I am more than happy to set up an test account for your project if you wish to experiment. There are still a few bits and pieces to be done before the site is launched - I need to integrate it into the altSubversion, the Rev and Galaxy IDE's, and create a plugin for Scripters ScrapBook - but most of the work has been done and it is completely useable for development teams even without the direct IDE integration. However, it wuld be my recommendation that unless you are working on a project which has other needs for cvs / svn, or you wish to open the development up to large numbers of developers, you are best following Richard's advice. Contact me off-list if you'd like me to set up an account for you - you can use your own domain if you need. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: slightly OT - differencing and version control
Chris, We have a version of altSubversion (the altuit external for the opensource subversion document/code management software) lying around somewhere. It's super easy to script and takes a lot of the work out of having to manage files (like MGC has to do). Try contacting chris at Altuit and I believe he can help you out. best, Chipp ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: slightly OT - differencing and version control
Chris- Friday, October 13, 2006, 9:03:54 AM, you wrote: > Is there something like this that even exists? I realize since Rev > stacks contain binary data it makes things a bit more difficult. Is > there anything out there that can handle binary files this way? If > not, could something like this be created with Rev? If so, how > difficult would it be? Here's the approach I took: any rev object can be described by its 1. script 2. properties 3. custom properties 4. custom property sets (and 3 recursively) I made a client-end plugin that enumerates these and sends them as text over a socket connection to a server that stores them away as (item,value) pairs. Checking an object out then is a matter of grabbing the description and, item by item, issuing set commands. Checkin: foreColor,"black" backColor,"white" Checkout: in a repeat loop: put item 1 of line x of tDescription into tProp put item 2 of line x of tDescription into tValue set the tProp of control tObject to tValue Diffing two versions of an object: I save only the complete contents of the current version an object. Previous versions have only the items that are different from the next-most-recent saved. To see the difference between the two latest versions you just have to display those items. To diff a less recent version you work your way back down the chain. There *are* some problems with this, notably with respect to object ids if you need to recreate the entire stack from its descriptions or when one developer checks in a new control and a second developer needs to import it into an existing stack. Object ids (with the exception of images) are immutable in rev for some reason. Hope this helps. Next step (someday) is to integrate this with subversion. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: slightly OT - differencing and version control
Chris Sheffield wrote: Anybody out there working on a team of developers? If so, how do you handle file version control with your Rev stack files? I've been using MagicCarpet (which has worked very well for me; thanks Chipp). But up until now my company has only had myself and, at most, one other developer, and MagicCarpet has met our needs. But we're getting to a point where we need something a little more robust. Something that will preferably allow multiple concurrent checkouts of files, and then merge differences as they're checked back in. Is there something like this that even exists? I realize since Rev stacks contain binary data it makes things a bit more difficult. Is there anything out there that can handle binary files this way? If not, could something like this be created with Rev? If so, how difficult would it be? About half of the projects I've done over the last decade have been with teams, usually with about three developers but the two largest had about 20 team members each. One of those large projects was in done Gain Momentum (since renamed RadBuilder), which has a stack-based MagicCarpet-like check in/check out tool built in. For the other large project (which used Rev) we wrote a custom version control system focused at the card level which was specific to the unique workflow of that system. For smaller projects I've either custom-crafted a simple stack-based system like MagicCarpet, or just assigned owners to specific stacks and used email to trade them among the team. The latter has worked well enough to keep the MetaCard IDE project running for several years (though admittedly it's a small-scale project). For the work that I've done I've found stacks to be a very natural dividing line for sharing the workflow. Stacks tend to be either UI elements or libraries, and it usually benefits the project as a whole to keep the interconnections between such modules as simple and clean as possible anyway, so divvying up the project by stacks lends a clarity to the work. Because most other languages make software out of hundreds of tiny text files (as opposed to Rev's more self-contained binary files), there's an inclination among multi-lingual professionals to think about solutions for Rev projects in terms of what works elsewhere. But just as we enjoy the simplicity of the object model, we can re-think old production habits to discover ways to simplify the workflow as well, making Rev's unique object model work for us. Go with the grain. While it may be technically possible to atomize stacks into mergeable parts (I've made a few myself as experiments, using XML and even custom mini-macro-languages to describe objects), I don't prefer such a workflow in production. The overhead of coordinating among team members is high enough with the even simplest tools and methods. Steven McConnell's research finds that adding a second programmer adds only another ~50% additional productivity on average, with the rest of the time spent coordinating between programmers. A third programmer will add only another 30-40%, and the rate of diminishing returns increases with team size. If the team grows larger than the project warrants it could eventually result in negative productivity, with more effort spent coordinating that coding. So in short, team member coordination is expensive. Defining the logical dividing lines of a project and assigning ownership of discrete components to team members based on key competencies helps the workflow parallel the execution of the code: each component should have minimal connections to others, and putting the best mind on each component helps ensure that it gets done well and with minimal interconnection issues. If it appears that a particular UI window or library may best be served by having multiple programmers working on it simultaneously, that may be an indication of something very different, perhaps a need for cross-training or team member reassignment. -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
slightly OT - differencing and version control
Anybody out there working on a team of developers? If so, how do you handle file version control with your Rev stack files? I've been using MagicCarpet (which has worked very well for me; thanks Chipp). But up until now my company has only had myself and, at most, one other developer, and MagicCarpet has met our needs. But we're getting to a point where we need something a little more robust. Something that will preferably allow multiple concurrent checkouts of files, and then merge differences as they're checked back in. Is there something like this that even exists? I realize since Rev stacks contain binary data it makes things a bit more difficult. Is there anything out there that can handle binary files this way? If not, could something like this be created with Rev? If so, how difficult would it be? Thanks, Chris -- Chris Sheffield Read Naturally The Fluency Company http://www.readnaturally.com -- ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution