This is the same as GMutexLocker, just for recursive mutexes.
This will create a new commit in order to revert the existing changes.