comparison Hg.txt @ 4:561edf852797

More detail on file format changes, from post by MM to mercurial.general.
author Jim Hague <jim.hague@icc-atcsolutions.com>
date Sun, 21 Dec 2008 21:42:58 +0000
parents 175493e0e457
children 2ec53c0ed5d8
comparison
equal deleted inserted replaced
3:175493e0e457 4:561edf852797
582 head in the source repo it has to find the most recent change in that 582 head in the source repo it has to find the most recent change in that
583 head that it already present in the target repo, and get any remaining 583 head that it already present in the target repo, and get any remaining
584 changes after that point. These changes are then copied over and 584 changes after that point. These changes are then copied over and
585 applied. 585 applied.
586 586
587 The Mercurial revlog format has proved remarkably durable. Over the 587 The Mercurial revlog format has proved remarkably durable. Since the
588 lifetime of Mercurial, there have been just two changes to the file 588 first release of Mercurial in April 2005, these have been a total of 5
589 format. And one of those (a very recently change at the time of 589 changes to the file format. However, of those, all but one have been
590 writing, yet to appear in a release version) is a very small change to 590 changes to the handling of file names. The most recent change, in
591 filename storage required to deal with Windows-specific issues. 591 October 2008, and its predecessor in December 2006, were both
592 introduced purely to cope with Windows specific issues. The one change
593 that touched the datastructures described above was in April 2006. The
594 format introduced, RevLogNG, changed only the details of index data
595 held, not the overall design. The chief Mercurial developer, Matt
596 Mackall, notes that the code in present-day Mercurial devoted to
597 reading the old format comprises 28 lines of Python. Compared with,
598 say, the early tribulations of Subversion and the switch from bdfs to
599 fsfs, this is an impressive record.