we need to lock the store during the entire "apply changesets" operation
handle fast-forward merges
lookup previous versions through merges
combine fast-forward update and merge cases