Implement shifting of commits so that they appear sorted by time and branch