Video: Linus Torvalds on Git

June 30th, 2007
At Google Tech Talk Linus Torvalds talks about source control management and Git in particular. See also: Transcript of the talk. (via Códice Software Blog: “Linus Torvalds on GIT and SCM”)

Video: Bryan O’Sullivan “Mercurial Extension: mercurial queue”

June 30th, 2007
Lightning talk from Bryan O’Sullivan, aired at EuroPython 2006.
This talk presents Mercurial Queue (mq), an extension to the Mercurial … all » Version Control System (VCS). Mq is used to manage a series of patches in the same way that quilt does. The main difference is its complete integration with the VCS software, so that you can manipulate the patches as changeset objects. Mq adheres to the Mercurial philosophy: it is simple to use and blazingly fast. It can manage hundreds of patches applied to a 20,000 file repository.
See Bryan O’Sullivan “Mercurial Extension: mercurial queue” at Google Video.

Subversion clients for Mac OS X

June 30th, 2007
There is a discussion in comments to Aral Balkan’s Blog about Subversion clients for Mac OS X. Here is a list of all tools mentioned, slightly sorted by “popularity”: Many Mac users envy the TortoiseSVN client for Windows.

Launchpad.net

June 27th, 2007
Launchpad.net is the system for collaboration, project management and code hosting for free software. It provides source repository hosting, bug tracker, a place to discuss project goals and features (called “blueprints”), translation management service, and the knowledge base. I won’t delve into details, but what caught my attention is that launchpad.net allows to make a read-only mirrors for Bazaar, Subversion and CVS repositories, and track code progress by subscribing to commits on any branch of that repository. Andy Wingo says:
Launchpad offers a web-based repository browser, including changesets, and offers the ability to subscribe to any branch it knows about. You get emails on distributed commits. This is a beautiful thing! Anyone who has worked with distributed VCS’s has probably had the feeling that they are seeing development through a keyhole, that there’s a whole world out there that’s not easily visible or comprehensible. Launchpad offers the possibility of tying together the various development branches out there in the wild in one place, effectively removing the last advantage of centralized version control.
Go to Launchpad.net. (via wingolog.org: “Launchpad”)

Video: Bryan O’Sullivan “Mercurial Project”

June 26th, 2007

A Google Tech Talk by Bryan O’Sullivan, on Mercurial VCS.
Mercurial is a free distributed revision control system. It focuses on conceptual simplicity, robustness, and high performance. Well-known open source projects that use Mercurial include OpenSolaris, Xen, and One Laptop Per Child.This talk presents some of the advantages of using Mercurial to manage large, fast-moving projects. We give a brief overview of the techniques used to achieve, in Python, a level of performance that outshines most other revision control systems. Finally, we introduce some novel revision control techniques that take advantage of Mercurial’s extensibility and high performance.
Bryan O’Sullivan “Mercurial Project” at Google Video. (via Taragana Blog: “Meta Review of Mercurial Distributed Version Control System”)

Ken Takusagawa: “Version control filesystem for software packages and system configuration”

June 25th, 2007
Simple and cool idea: package manager should be version control software of a kind. Obviously handles version rollback and history, trojans are detected easily, general cleanliness. Downside: needs to be implemented totally, with strict discipline for software upgrades. Although, same discipline is needed for any change-managed activity. At Ken Takusagawa’s Blog: “Version control filesystem for software packages and system configuration”

developerworks: “DB2 Change Management Expert”

June 24th, 2007
Carolyn Henry et al. briefly describe the IBM DB2 Change Management Expert, and how it can be used to keep the database schema synchronized with the application code, using version control system. Read at:

Bram Cohen: “The diff problem has been solved”

June 24th, 2007
Bram Cohen announces:
Those of you who have used version control systems for a long time, or anything which has to diff extensively for that matter, know that once in a while they completely bungle a diff and give output which is, to put it charitably, extremely confusing. Coming up with an algorithm which reliably gives good diffs is far from trivial, but is a problem which has now thankfully been solved. If you get the latest version of bazaar and use its diff utility it will give reasonable diff output on almost anything. All other version control systems (and I mean all others) should switch to using bazaar’s diff algorithm as a swap-in replacement, a change which has essentially no downside. (It also has better asymptotic runtime, and code which is easier to understand and debug.)
Later in comments he briefly explain new algorithm:
Instead of doing a longest common subsequence on everything, it does a longest common subsequence on lines which occur exactly once on both sides, then recurses between lines which got matched on that pass.
Read at: Bram Cohen: “The diff problem has been solved”. I’d like to try it out when it becomes available for Subversion or Git.

Backing up a Subversion Repository

June 24th, 2007
Small but useful post at Draconis Software Blog: “Backing up a Subversion repository”. We use svnadmin dump, but I guess that it becomes too slow for gigabyte-sized repositories (ours is ~400Mb).

Mozilla: Version Control System Shootout Redux Redux

June 24th, 2007
J. Paul Reed, a build engineer for Mozilla, writes an account on choosing the version control system for Mozilla development, instead of traditional CVS. The article is filled with digitally enhanced screenshots from Mortal Kombat II, illustrating the story. Mercurial is current favorite (but not the winner). Git, Mercurial, Bazaar, and Monotone were considered. Highlights:
  • Git is inappropriate for cross-platform projects due to its UNIX-centric nature; same goes for Monotone;
  • Mercurial had lots of initial troubles with import of Mozilla repository, which is huge and complicated;
  • Bazaar imports well, but extremely slowly: more than a month for trunk-only part of Mozilla repository;
Read at: Version Control System Shootout Redux Redux. See also: Mozilla Version Control System Requirements.