Mercurial > CVu-Mercurial
changeset 6:a942bf7bc2ab
Add links for Git/Bzr etc. and figures for repository size.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Fri, 06 Mar 2009 21:17:07 +0000 |
parents | 2ec53c0ed5d8 |
children | 8660df02d8a9 |
files | Hg.txt |
diffstat | 1 files changed, 22 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/Hg.txt Fri Mar 06 14:07:34 2009 +0000 +++ b/Hg.txt Fri Mar 06 21:17:07 2009 +0000 @@ -39,14 +39,15 @@ how do you cope without the central server forcing ordering onto the changes? -Since then I've started using Mercurial. Mercurial is a DVCS. It's one -of three DVCSs that have gained significant popularity in the last few -years, the other two being Git and Bazaar. I switched a significant -work project over to Mercurial (from Subversion) over a year ago, -because a customer site required on-site work but could not allow -access back to the company VPN. I chose Mercurial for a variety of -reasons which I won't bore you with here. If you must know, see the -box. +Since then I've started using Mercurial +(http://www.selenic.com/mercurial). Mercurial is a DVCS. It's one of +three DVCSs that have gained significant popularity in the last few +years, the other two being Git (http://git-scm.com) and Bazaar +(http://bazaar-vcs.org/). I switched a significant work project over +to Mercurial (from Subversion) in mid-1997, because a customer site +required on-site work but could not allow access back to the company +VPN. I chose Mercurial for a variety of reasons which I won't bore you +with here. If you must know, see the box. What I want to do in this article is give you an insight into how a DVCS works. OK, so specifically I'm going to be talking about @@ -99,11 +100,12 @@ This creates the repository root in the current directory. -Like CVS with its CVS directory and Subversion with its .svn -directory, Mercurial keeps its private data in a directory. Mercifully -there is only one of these, in the top level of your project. And -rather than holding details of where the actual repository is to be -found, the .hg directory holds the entire repository. +Like CVS (http://www.nongnu.org/cvs/) with its CVS directory and +Subversion (http://subversion.tigris.org/) with its .svn directory, +Mercurial keeps its private data in a directory. Mercifully there is +only one of these, in the top level of your project. And rather than +holding details of where the actual repository is to be found, the .hg +directory holds the entire repository. Next you need to specify the files you want Mercurial to track. @@ -509,8 +511,13 @@ Both the differences between successive versions and the periodic complete versions of a file are compressed before storing. This is surprisingly effective at minimising the storage requirements this -entire history of your project. <!!!Comparison of .svn space -requirements for Waldo>. +entire history of your project. I have a small Java project handy, +comprising a little over 300 source modules. There are 5 branches plus +the mainline, and some 1920 commits in all. A Subversion checkout of +the current mainline takes 51Mb. Converting the project to Mercurial +yields a Mercurial repository that takes 60Mb, so a little +bigger. Remember, though, that the Mercurial repository includes not +just the working copy, but also the entire history of the project. Any point in the evolution of a revlog can be uniquely identified with a nodeid. This is simply the SHA1 hash of the current file contents