Powiedzmy, że mam lokalne i zdalne repozytorium Mercurial. Teraz zaczynam pracę nad funkcją. Pracuję nad tym, a kiedy wydaje mi się, że jest skończony, zatwierdzam zestaw zmian. Testując to nieco dokładniej, stwierdziłem, że mogę dalej ulepszyć tę funkcję, poprawiając coś w kodzie. Dokonuję zmiany i zobowiązuję się. 20 minut później stwierdzam, że jest błąd w tej nowej funkcji, więc naprawiam go i też popełniam.
Mam teraz 3 zestawy zmian, które naprawdę chciałbym wypchnąć do zdalnego repozytorium jako jeden zestaw zmian z komunikatem na przykład „Implementing feature X”.
Jak mogę to zrobić bez większych kłopotów? Myślę, że mógłbym to zrobić z łatkami, ale wydaje mi się, że to dużo pracy.