code: func (s *GitScanner) ScanLeftToRemote(left string, cb GitScannerFoundPointer) error {
  	callback, err := firstGitScannerCallback(cb, s.FoundPointer)
  	if err != nil {
  		return err
  	}
  
  	s.mu.Lock()
  	if len(s.remote) == 0 {
  		s.mu.Unlock()
  		return fmt.Errorf("Unable to scan starting at %q: no remote set.", left)
  	}
  	s.mu.Unlock()
  
  	return scanLeftRightToChan(s, callback, left, "", s.opts(ScanLeftToRemoteMode))
  }
docs: // ScanLeftToRemote scans through all commits starting at the given ref that the
  // given remote does not have. See RemoteForPush().