Subversion Branch/Merge Strategies
Posted on Thursday, April 29th, 2010 | Filed under build management, development, subversion
Subversion is many things, but it’s not all things to all people. The project set out to create a better CVS, and that is largely what Subversion has been so far.
As a result of design decisions made early on, and a firm commitment to backwards compatibility, the project – at least until a 2.0 release – is locked in to its limitations. Merging, and more specifically merge tracking, has been a huge pain in the backside for large numbers of users.
The 1.5 release was mostly a lateral move from the svnmerge.py project, and subsequent releases did little more than patch a few of the more glaring holes in the original implementation, although conflict handling has seen dramatic improvements.
So how do we play into Subversion’s strengths without playing into its weaknesses? My answer to that is 4-fold:
Read more
So you just became a build manager, now what?
Posted on Tuesday, January 5th, 2010 | Filed under build management, development, project management
(continued from here)
First and foremost, an organization’s choice to make build management a priority is a strategic one. So the role has to be filled by someone who can think and operate at that level, as well as get their hands dirty and do the work on a tactical level. It’s a careful balance of big picture vs. “stuff needs to get done today”. No matter how good you are, you’re not going to be able to do it all at once, all of the time, so planning and managing your time is critical, especially if you’re juggling a lot of different projects at once.
These are some of the key lessons I learned along the way.
Read more
The business case for hiring a build manager
Posted on Monday, January 4th, 2010 | Filed under build management, development
Lately, I’ve been thinking a lot about the discrepancy between the number of people in my network telling me “we could really use for you to come in and sort out this mess of ours”, and the number of actual build management jobs/contracts that seem to be actually out there.
In the past, I’ve come across a few cases where the position seemed so hard to recruit for, that a company would simply not bother to advertise the vacancy, and instead rely on either filling the position internally, or have someone referred to them. Over the past year, I’ve come to realize that this is simply not the predominant case.
Note to developers everywhere: you are not a snowflake, and neither is your project.
Posted on Friday, January 1st, 2010 | Filed under build management, development
Came across this rambling piece of Maven hatred, and it gave me a good chuckle. While the author makes some valid points, his argument is rather clouded by his obvious love affair with Rake and – to a lesser degree – Ant. In a few spots, he’s grossly misinformed, reaching, or just plain wrong. While there are certainly reasons to choose a tool other than Maven for a given project (i.e. any deliverable the format of which Maven doesn’t support out of the box), there is simply no denying that it has its place in the tool box.
What’s more interesting to me than his overtly subjective rant thinly disguised as analysis, is the overarching notion that every project has its own, unique needs. The reality is that in the overwhelming majority of cases, it doesn’t. It. Just. Doesn’t. Just because you can do something in a non-standard way, doesn’t mean there’s a need to, or that the benefit of doing something your way outweighs the cost of not following whatever the convention (tool-enforced or otherwise) is. Read more
Distributed Version Control – Bridging the Gap to the Enterprise
Posted on Tuesday, November 3rd, 2009 | Filed under alm, git, mercurial, subversion
I’ve been spending a lot of time reading about and playing with distributed version control tools (DSCM) recently, particularly Git and Mercurial, which seem to be the two primary players in this space at the moment.
While Git certainly has its followers (Android being a prominent one), Mercurial offers pretty much the same range of features, in a much more user-friendly package. The latter got a shot in the arm with Google Code announcing their support for it earlier this year.
What I’ve been asking myself is: will this technology work in the enterprise?
Read more