Notes from Mercurial Google Tech Talk
- Youtube
- Python (with ~5% C), fast, and distributed
- Simple conceptual model:
- Repository
- Changelog
- Manifest
- File metadata
- Working directory
- Changeset
- Not heavyweight - no DB, just files
- 12K lines of python in ~2006
- Power/performance is in abstractions
- Avoidance of disk seeks
- Linear I/O streams
- Don't read/write more than you have to
- Union of deltas
- Deltas end up being from immediate linear formats
- File formats
- Binary - struct pack and unpack
- Why read instead of stat?
- Speed also lets you do things you couldn't otherwise do
- Mercurial queues - push/pop patches
Other Notes
- hgfront - web-based repo mgmt tool for mercurial - Django