add CommitSpec
add BranchSpec
add RemoteSpec
add spec
add RemoteCollectionSpec