Archive for March, 2007

Books: Karl Fogel, Moshe Bar “Open Source Development with CVS”

Wednesday, March 28th, 2007
“Open Source Development with CVS” by Karl Fogel and Moshe Bar is one of the obligatory books to mention here. Of course, CVS is becoming somewhat irrelevant these days (except for the public project hosting services, where it prevails), but this book is of moderate size (368 pages), packed with useful information (if you still have to use CVS and wish to upgrade your knowledge somewhat), written by world-famous developers (Karl Fogel of CVS and Subversion fame, Moshe Bar of openMosix, Xen and KVM fames), and is available freely on the Internet (under the GNU GPL). Book covers CVS basics, repository administration, and some advanced (for CVS world) features. It contains extensive CVS reference, has many tips and troubleshooting advices, and briefly describes various third-party tools which make the CVS more useful. Read it online: Karl Fogel, Moshe Bar “Open Source Development with CVS”; download in PDF form; see the book’s official site. Buy at Amazon: Open Source Development with CVS. More books on version control and SCM: Version Control Blog Library.

Visual Studio Team System Guidance

Monday, March 26th, 2007
Microsoft Patterns and Practices team has released first several topics as a part of Visual Studio 2005 Team System Guidance. This project will be the “single best repository of Visual Studio Team System guidance”, including practical scenario-based guidance for roles such as PMs, developers, architects, testers. It contains thoroughly engineered and tested set of recommendations, and it will be the single entry point for videos, roadmaps, and task-based how-tos. Particularly interesting part of this project is the Team Foundation Server Branching Guide. This is an on-going work, and it gets announced in J. D. Meier’s blog as new parts appear: (via Brian Harry’s Blog)

Source control system at Oracle (home-brew)

Wednesday, March 14th, 2007
Steve Hagan, Oracle VP of Development, was interviewed by ACM Queue in December 2003. He gives some details on source control system deployed at Oracle:
TW In terms of sharing files, obviously for developers and to a lesser extent for marketing types, there’s a need to do version control and configuration management. Do you do anything special because it’s distributed, or do you just attach file systems wherever they are in the world and use those for your backups? SH We should distinguish between the source-code management system and a document management system. We put quite a bit of work on the source-code management system. The reason is you have to have developers potentially sharing the same code module for possibly the same project, possibly overlapping projects that intersect within that code. So you need a significant amount of version control, and yet sharing capability, so that you can work on the code, know you have the right version, do your builds, your tests, etc. We used to be a [IBM Rational] ClearCase shop, and it didn’t scale to the thousands of people working on the same code and the number of different sites that we needed. So we have a homegrown distributed replicated source-management system that combines essential repository, which is based on the Oracle database, but then also implements a multi-version file system, replicated out to all the sites, using a much lighter-weight communication protocol and also lighter-weight storage. We actually have done quite a bit of evolving as we learned what communication bandwidth we need to support the level of development we’re doing with this number of developers and locations.
Can someone provide more details on that? How is it called internally? Is it still used, three years later? What’s the number of objects (lines of code, files, branches, releases, products) managed? Are there any plans to replace it with something new? Read the complete interview: ACM Queue: “A Conversation with Steve Hagan”. See also: ACM Queue: “Distributed Development Issue”.

Slashdot: Source Control for Bills in Congress?

Wednesday, March 14th, 2007
Slashdot contributor Grepya points to an article in Slate: Specter Detector. U.S. attorney scandal update: Who’s to blame for those alarming Patriot Act revisions? According to it,
The background: When Congress reauthorized the Patriot Act last year, it included little-noticed language that changed the way U.S. attorneys would be appointed if their predecessors were removed in the middle of their term. Under the old regime, interim U.S. attorneys needed to be confirmed by the Senate after 120 days. If they weren’t, federal district judges could select their replacement. The new language removed both judicial and congressional oversight of the interim U.S. attorneys, letting DOJ anoint them indefinitely. This served three important goals: consolidating presidential power, diminishing oversight, and ensuring that “interim” prosecutors had permanent jobs. On Feb. 6, when the Senate held hearings on the issue of prosecutorial independence, former judiciary committee Chairman Sen. Arlen Specter, R-Pa., proudly claimed to have been as clueless as the rest of us. Denying New York Democratic Sen. Charles Schumer’s claim that he or his staff had “slipped the new provision into the Patriot Act in the dead of night,” Specter asserted, “The first I found out about the change in the Patriot Act occurred a few weeks ago when Sen. [Dianne] Feinstein approached me on the floor.”
Grepya wonders:
Now, I write software for a large and complex system containing millions of lines of code and I know that nobody could slip a single line of code into my project without my knowledge. This is because everything that goes into the build goes into a source control system, and email notification is generated to interested parties. This is for a body of work that affects perhaps a few hundred thousand people at most (our company and the combined population of all our customer organizations). Shouldn’t the same process be applied to bills being debated in national legislatures that affect potentially hundreds of millions of people?”
This is really quite interesting potential application of version control practices. Related observation: in Russian legislation system amendments to the laws are written in a very peculiar language. Wording differences, insertions and deletions are expressed in a minimal possible way, with a string rationing of words. This of course makes the amendments almost unreadable, looking like old-style diff output. Minimal context and almost no rationale is usually provided, except for very vague preliminaries. This brings to memory the worst cases of log messages made by developers lacking attention to documenting changes. There is of course a number of commenting publications which explain the rationale beyond changes and the meaning of new laws, but they are not available immediately, and it’s hard to audit the amendment just by looking. Also, sometimes the law is not available immediately in a new wording, and you have to take the old text and make sure that you understand how several subsequent amendments influenced it. See for example the “Federal law on amending the Federal law “On science”" (in Russian). (via slashdot)

Beta exam 71-510: TS: Visual Studio 2005 Team Foundation Server

Tuesday, March 13th, 2007
Rob Caron writes about new Microsoft beta exam 71-510: TS: Visual Studio 2005 Team Foundation Server, which includes its version control features:
http://blogs.msdn.com/robcaron/archive/2007/02/02/1584258.aspx Eugene Zakhareyev writes on his experience with this exam:
I think the TFS exam is mostly useless as far as certifying knowledge of Team Foundation Server goes. […] Overall impression was that questions were just thrown together, and I did not see clear picture of what the exam was supposed to certify.
This exam is going to be published in April 2007, hopefully in more polished state. If you’re planning to take it, see: