Move "is commit" logic into Source.is_commit