encapsulate commits, skip any missing