Version Control

Articles

Version Control Is a Collaboration Tool

Why do version control? I remember the first time I learned about version control. It was for a SunOS based project, and my manager told me to learn SCCS, and put all of our sources in it. Its been years since I've used SCCS, and I am not always sure if it had features I also remember in RCS and PVCS. They are all similar tools. Since those younger years, I've learned that version control is much more than a glorified file repository, and has more to do with people working toghether, collaborating on their project code base.

David Baird
Printing the Value of a Makefile Variable

There aren't any debuggers for Make, and Make doesn't provide the sort of interactivity you'd see from a scripting language like Perl or Python. So what is an easy way to figure out the value of a variable? This simple Makefile does all the work for you.

John Graham-Cumming's picture John Graham-Cumming
Persuading Management to Invest in a Formal Team Development Process

A vendor left me a phone message. He began by thanking me for visiting his booth at a conference at which I was a speaker. He told me that his product was just what I needed and would solve some of my biggest problems. He also assured me that I would benefit in many ways. Finally, he then asked if I would call him back so we could continue the conversation

Charles Edwards
Is It Upward Compatible?

I want to touch on one of the most basic and fundamental issues of configuration management that developers have to deal with. A common question addressed early on in a project is: Do I need to branch this software and maintain a parallel version? A common answer is: Well, if it's not upward compatible.

Joe Farah's picture Joe Farah
An Interactive GNU Make Debugger

The interactive GNU debugger has breakpoints, dumps information about the rule at which a breakpoint is hit and allows interactive querying of variable values and definitions.

John Graham-Cumming's picture John Graham-Cumming
How to Implement Continuous Integration

The term “continuous integration” is getting a bit of attention these days. It refers to the process of integrating often (or immediately) to reduce integration effort, complexity, and pain.It allows for others make changes more readily. While the term “continuous” is catchy, it is not accurate in what the concept implies. In context to integration, it implies a process without interruption.

Mario  Moreira's picture Mario Moreira
Learning from Concurrent, Parallel, and Distributed Systems Design

This month we do a bit of a context switch from the world of parallel development to the world of concurrent, parallel, and distributed systems design (and then back again). The purpose is to see if any of the same patterns of concurrent, parallel, and distributed processing apply to the case of concurrent, parallel, and distributed development.

Integrated Tools Enhance Distributed Development

When I look at the prospect of a distributed development effort, it scares me. So much depends on having the right people and good communicators, all in the right places. It also depends on the successful merging of cultures, but more and more distributed development is taking place.

Joe Farah's picture Joe Farah
Moving Dependency Tracking Into The CM Process

Last month I spent a bit of time describing how a CM tool could support the creation and comparison of builds, to support the building of multiple variants, etc., based on a single baseline. This month, I will focus on how the CM tool can simplify the build process, moving the process out of "Make" files while supporting the creation of reusable, layered software.

Joe Farah's picture Joe Farah
SCM Patterns: Building on Task-Level Commit

“Dad,” asked a young man, “my lady friends keep talking to me about being ‘involved with’ them versus being ‘committed to’ them. What exactly is the difference between involvement and commitment?”

“What did you have for breakfast, son?” his father replied.

“Bacon and eggs like always. Why do you ask?” said the son.

“Bacon and eggs, my boy, is a perfect illustration of the difference between involvement and commitment: the chicken was involved, but the pig was committed!”

Austin Hastings

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.