Parcourir la source

Merge pull request #222 from martelo/modify-single-commit-audit

Modify single commit audit
Zachary Rice il y a 6 ans
Parent
commit
f010513d17
1 fichiers modifiés avec 17 ajouts et 10 suppressions
  1. 17 10
      src/repo.go

+ 17 - 10
src/repo.go

@@ -133,7 +133,21 @@ func (repoInfo *RepoInfo) audit() ([]Leak, error) {
 		}
 	}
 
-	if opts.Branch != "" {
+	if opts.Commit != "" {
+		h := plumbing.NewHash(opts.Commit)
+		c, err := repoInfo.repository.CommitObject(h)
+		if err != nil {
+			return leaks, nil
+		}
+
+		commitCount = commitCount + 1
+		totalCommits = totalCommits + 1
+		leaksFromSingleCommit := repoInfo.auditSingleCommit(c)
+		mutex.Lock()
+		leaks = append(leaksFromSingleCommit, leaks...)
+		mutex.Unlock()
+		return leaks, err
+	} else if opts.Branch != "" {
 		refs, err := repoInfo.repository.Storer.IterReferences()
 		if err != nil {
 			return leaks, err
@@ -187,21 +201,14 @@ func (repoInfo *RepoInfo) audit() ([]Leak, error) {
 			return nil
 		}
 
-		// commits w/o parent (root of git the git ref) or option for single commit is not empty str
-		if (len(c.ParentHashes) == 0 && opts.Commit == "") || (len(c.ParentHashes) == 0 && opts.Commit == c.Hash.String()) {
+		// commits w/o parent (root of git the git ref)
+		if len(c.ParentHashes) == 0 {
 			commitCount = commitCount + 1
 			totalCommits = totalCommits + 1
 			leaksFromSingleCommit := repoInfo.auditSingleCommit(c)
 			mutex.Lock()
 			leaks = append(leaksFromSingleCommit, leaks...)
 			mutex.Unlock()
-			if opts.Commit == c.Hash.String() {
-				return storer.ErrStop
-			}
-			return nil
-		}
-
-		if opts.Commit != "" && opts.Commit != c.Hash.String() {
 			return nil
 		}