| Source Code Control Made Easy With Streaming |
|
| Friday, 26 August 2011 06:00 | ||||
|
Source code control is one of those topics that can cause some software developers to sweat profusely and make the veins to pop out of their necks, especially if the project includes working with third-party or vendor code – and these days, what project doesn’t include vendor code? I should probably start by defining source code [...]
Source code control is one of those topics that can cause some software developers to sweat profusely and make the veins to pop out of their necks, especially if the project includes working with third-party or vendor code – and these days, what project doesn’t include vendor code? I should probably start by defining source code control as that mechanism for checking source code in and out of a central repository, enabling several developers to work on the same project simultaneously without the risk (hopefully) of mucking up the source code in the process. If that isn’t difficult enough already, add vendor code customization to the mix and even the sanest developer becomes a serious candidate for expensive therapy. After all, isn’t traditional branch-and-merge challenging enough without adding a entirely new layer of software configuration management for the vendor code and its corresponding upgrades? Most of the headaches associated with source code control and management can be attributed to traditional, file-based branch and label source code control tools. The problem stems from traditional branch-based SCM models that require numerous branches to track both vendor source code and custom modifications to that code. Individual branches are needed to track just the vendor code, making merging really unwieldy, especially if you want to do a branch-to-branch merge. Throw in a vendor upgrade and then try to merge a subset of existing custom features and you can see how this can rapidly get ugly. What’s the answer? Real simple: streaming. Think of streaming as “intelligent” branching. What makes streaming so great for source code control is that each stream contains every single file needed for that specific source code configuration. They are complete entities unto themselves. Streams can be arranged in a simple “parent-child” hierarchy with a built-in feature that causes configurations to be automatically inherited by every new stream from the parent stream. Even better, the inheritance can also apply to any previous, older streams! In fact, stream-based architecture provides a host of developer-friendly source code control benefits, including:
If you’d like to know more about stream-based source code control, especially when using third-party code, we’ve got a free white paper you can download: Managing Vendor Code Customizations with AccuRev’s Stream-Based SCM. Author:clucca
Set as favorite
Bookmark
Email this
Hits: 516 Trackback(0)
Comments (1)
![]()
Kevin Dietz
said:
|
|
... Another approach is to automated the merging process between branches. Timpani Software's MergeMagician solution takes this approach. Branches are connected together using publisher/subscriber rules, merges are organized into merge jobs that are queued up, and conflicted merges are suspended and resolved using a collaborative web interface. It's a good solution if you are using an SCM tool that doesn't have built-in streaming (MM currently supports TFS and Subversion). Check it out at http://www.timpanisoftware.com. |
|



