Алексей Махоткин

домашняя страница

Source Control System at Oracle (Home-brew)

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”.