Experimenting with scm-api.
Basic impl.
Merge branch 'master' into scm-api
Update .gitignore
Refactor to align with scm-api
Merge branch 'scm-api'
scm-api 0.1