Mercurial rocks!

Yesterday we flipped the switch to publish our very first experimental OpenJDK Mercurial repositories on the open Internet.

So, how long does it take to clone a complete JDK 7 forest?

% time hg fclone http://hg.openjdk.java.net/jdk7/MASTER
[.]
requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 25 changes to 25 files
25 files updated, 0 files merged, 0 files removed, 0 files unresolved

[corba]
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1368 changes to 1368 files
1368 files updated, 0 files merged, 0 files removed, 0 files unresolved

[hotspot]
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2894 changes to 2894 files
2894 files updated, 0 files merged, 0 files removed, 0 files unresolved

[jaxp]
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1972 changes to 1972 files
1972 files updated, 0 files merged, 0 files removed, 0 files unresolved

[jaxws]
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2306 changes to 2306 files
2306 files updated, 0 files merged, 0 files removed, 0 files unresolved

[jdk]
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 16526 changes to 16526 files
16526 files updated, 0 files merged, 0 files removed, 0 files unresolved

[langtools]
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2973 changes to 2973 files
2973 files updated, 0 files merged, 0 files removed, 0 files unresolved

real    1m0.661s
user    0m40.443s
sys     0m11.769s
% 

That’s 6.9 million lines of code in 56,230 files, taking up 485MB.

Whooosh!

For reference, this operation takes upwards of half an hour—on a good day—with the old Sun-proprietary TeamWare SCM. Sun engineers tend to find this a pretty compelling argument for making the switch, despite the hassle of learning a new tool.

These repositories are experimental for now—things will change further as we work to finalize the details of the Mercurial migration and do some dry-run integrations over the next week or so. We’ll reinitialize these repositories when we’re finished, at which point any clones will become unrelated and should be discarded.

Comments:

To be fair, the jdk Teamware workspaces have huge history, and these new hg ones don't have any (yet).

But it is still impressive! Can't wait to start using Mercurial!

Dmitri

Posted by Dmitri Trembovetski on November 01, 2007 at 03:10 AM PDT #

Wait... The Mercurial forest isn't seeded with the TeamWare history? Couldn't someone add TeamWare support to Tailor to make this happen?

Posted by Anm on November 01, 2007 at 02:04 PM PDT #

Anm: If the Mercurial forest were seeded with the TeamWare history then one would be able to reconstruct the source code for JDK 6, JDK 5, JDK 1.4, and so on all the way back to JDK 1.0, or maybe even earlier. We only did the (incredibly tedious) legal analysis and related engineering required to open-source JDK 7, so we'd be in pretty hot water if we were to, effectively, open-source any prior releases as well.

Posted by Mark Reinhold on November 01, 2007 at 02:12 PM PDT #

Post a Comment:
Comments are closed for this entry.
About

This blog has moved to http://mreinhold.org/blog. <script>var p = window.location.pathname.split('/'); var n = p[p.length - 1].replace(/_/g,'-'); if (n != "301") window.location = "http://mreinhold.org/blog/" + n;</script>

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
News

No bookmarks in folder

Blogroll

No bookmarks in folder

Feeds
RSS Atom