reimplementing shove to not use git-shove