Right. Let me prefix my comments with where i'm coming from. I am a habari user, and plugin writer. I haven't worked on core code, although i have code dived (diven?). We're basically starting to roll out habari to most of our clients. It's becoming our software of choice. That's where we are coming from.
Now. Opinions :) My feeling on svn is that the three key areas serve fairly unique purposes: trunk: Current development. The latest and greatest should be here. If you use trunk, can can't whine (as loudly) when it breaks, but this is where the action is. The main purpose is to make the software better harder faster stronger, and sometimes it will break. branches: Hey! How about we paint it red! Ideas like this? They should go in branches. Want to make a change? do it in a branch. Additionally, in this situation, we still want to be able to maintain development of a plugin for a prior release. Do it in a branch. Want to maintain twitter for 0.6? branches/0.6 is where it should go. That's the latest version of the plugin that's being worked on for 0.6. Done a great change in there that you think should be trunk (and you're happy to make it work with the latest verion)? merge it. Once again, if you check out a branch, it's the latest _developmental_ version of that plugin for that version of habari. tags: Hey wow, i think this is a great release. it seems relatively bug free, and i know it works with this version of habari, and it even has it's own version (say, version 0.1). Call it tags/0.6-0.1. Now when end user wants a version of a plugin that works with their version of habari, they can check out the tagged copy. A couple of supporting aspects. * use of svn:externals doesn't break here. You can use trunk, and if it breaks, you can fix it or whine on. (my primary concern btw) * For cases where maintenance of the svn tree is poor for a plugin, everything will be (predictably) in trunk. I don't have to hunt around the tree for where the current dev is. * This layout follows the design of version control as far as i understand it. * This is the layout recommended by the subversion book (), making it about as standard as these things can get. From http://svnbook.red-bean.com/en/1.5/svn-book.html: "While Subversion's flexibility allows you to lay out your repository in any way that you choose, we recommend that you create a trunk directory to hold the 'main line' of development, a branches directory to contain branch copies, and a tags directory to contain tag copies." Sorry i've come into this late, but i think this is kinda important. Cheers! (and thanks to ringmaster for his patience when i first came screaming into the irc channel :) ) --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/habari-dev -~----------~----~----~----~------~----~------~--~---
