My second professional job used an at-the-time cutting edge SCM; while there was still a central server and a 'main' branch, every workspace was a virtual private branch. Checkins to the private branch were cheap and could be done without connecting to the main server. Re-basing was simply drag the workspace to the new parent. The default was to throw out intermediate, local checkins (and merge the local comments) when pushing the changes back to the base, they could be saved, as well. (there were issues; making new branches was cheap, but workspaces weren't. Nothing like clearcase's wink-in on build -- that is, stashing binary targets on the server, comparing a hash of the build environment, and just grabbing a binary if the environments match -- but it was so much better than anything else I had used)
As my prior experience were mainly with RCS and ClearCase, I figured all modern SCM did that. I've been shocked using Sourcesafe, perforce, and other SCMs since then. Those seemed like such a basic idea, and yet.
See, I forgot that there were SCMs where branches weren't cheap
Date: 2014-07-29 01:46 am (UTC)As my prior experience were mainly with RCS and ClearCase, I figured all modern SCM did that. I've been shocked using Sourcesafe, perforce, and other SCMs since then. Those seemed like such a basic idea, and yet.