Display commit information when conflict involves a commit
diff --git a/repo/installer.go b/repo/installer.go
index 711fdc0..13d4696 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -15,6 +15,7 @@
 	gpath "github.com/Masterminds/glide/path"
 	"github.com/Masterminds/glide/util"
 	"github.com/Masterminds/semver"
+	"github.com/Masterminds/vcs"
 	"github.com/codegangsta/cli"
 )
 
@@ -576,21 +577,8 @@
 	if vIsRef && depIsRef {
 		singleWarn("Conflict: %s rev is currently %s, but %s wants %s\n", v.Name, v.Reference, req, dep.Reference)
 
-		pf := msg.Default.Color(msg.Green, "[INFO] ")
-		fm := "%s reference %s:\n" +
-			pf + "- author: %s\n" +
-			pf + "- commit date: %s\n" +
-			pf + "- subject (first line): %s\n"
-
-		vci, err := repo.CommitInfo(v.Reference)
-		if err == nil {
-			singleInfo(fm, v.Name, v.Reference, vci.Author, vci.Date.Format(time.RFC1123Z), commitSubjectFirstLine(vci.Message))
-		}
-
-		depci, err := repo.CommitInfo(dep.Reference)
-		if err == nil {
-			singleInfo(fm, v.Name, dep.Reference, depci.Author, depci.Date.Format(time.RFC1123Z), commitSubjectFirstLine(depci.Message))
-		}
+		displayCommitInfo(repo, v)
+		displayCommitInfo(repo, dep)
 
 		singleInfo("Keeping %s %s", v.Name, v.Reference)
 		return v
@@ -607,6 +595,7 @@
 		if err != nil {
 			// The existing version is not a semantic version.
 			singleWarn("Conflict: %s version is %s, but also asked for %s\n", v.Name, v.Reference, dep.Reference)
+			displayCommitInfo(repo, v)
 			singleInfo("Keeping %s %s", v.Name, v.Reference)
 			return v
 		}
@@ -630,6 +619,7 @@
 		ver, err := semver.NewVersion(dep.Reference)
 		if err != nil {
 			singleWarn("Conflict: %s version is %s, but also asked for %s\n", v.Name, v.Reference, dep.Reference)
+			displayCommitInfo(repo, dep)
 			singleInfo("Keeping %s %s", v.Name, v.Reference)
 			return v
 		}
@@ -730,6 +720,19 @@
 	i.from[name] = root
 }
 
+var displayCommitInfoPrefix = msg.Default.Color(msg.Green, "[INFO] ")
+var displayCommitInfoTemplate = "%s reference %s:\n" +
+	displayCommitInfoPrefix + "- author: %s\n" +
+	displayCommitInfoPrefix + "- commit date: %s\n" +
+	displayCommitInfoPrefix + "- subject (first line): %s\n"
+
+func displayCommitInfo(repo vcs.Repo, dep *cfg.Dependency) {
+	c, err := repo.CommitInfo(dep.Reference)
+	if err == nil {
+		singleInfo(displayCommitInfoTemplate, dep.Name, dep.Reference, c.Author, c.Date.Format(time.RFC1123Z), commitSubjectFirstLine(c.Message))
+	}
+}
+
 func commitSubjectFirstLine(sub string) string {
 	lines := strings.Split(sub, "\n")
 	if len(lines) <= 1 {