Как система ревизионного контроля восстанавливает ревизию?

Мой вопрос носит более общий характер, чем заявлено в заголовке.

Я знаю, что исходный контроль версий хранит информацию только о различиях. Как я понимаю, так же, как и Википедия, и github.

Но все они имеют возможность показать весь файл с определенной ревизией. Они постепенно восстанавливают это от первой ревизии до определенной?

И еще один вопрос. Если они хранят только различия, то, как они показывают их в пользовательском интерфейсе с контекстом (немного текста до и после изменений).

EDIT: Github хранит целые снимки вместо дельт

Ответы на вопрос(3)

Ваш ответ на вопрос