Adding better error messaging when a repo is included twice but different versions.
diff --git a/cmd/yaml.go b/cmd/yaml.go
index 000649d..f0fbbdf 100644
--- a/cmd/yaml.go
+++ b/cmd/yaml.go
@@ -580,7 +580,10 @@
 		} else {
 			// In here we've encountered a dependency for the second time.
 			// Make sure the details are the same or return an error.
-			if dep.Reference != val.Reference || dep.Repository != val.Repository || dep.VcsType != val.VcsType {
+			if dep.Reference != val.Reference {
+				return d, fmt.Errorf("Import %s repeated with different versions '%s' and '%s'", dep.Name, dep.Reference, val.Reference)
+			}
+			if dep.Repository != val.Repository || dep.VcsType != val.VcsType {
 				return d, fmt.Errorf("Import %s repeated with different Repository details", dep.Name)
 			}
 			if !reflect.DeepEqual(dep.Os, val.Os) || !reflect.DeepEqual(dep.Arch, val.Arch) {
@@ -590,8 +593,6 @@
 				Warn("Import %s repeated in glide.yaml with differing flatten values. Flattening.", dep.Name)
 				checked[dep.Name].Flatten = true
 			}
-			checked[dep.Name].Os = stringArrayDeDupe(checked[dep.Name].Os, dep.Os...)
-			checked[dep.Name].Arch = stringArrayDeDupe(checked[dep.Name].Arch, dep.Arch...)
 			checked[dep.Name].Subpackages = stringArrayDeDupe(checked[dep.Name].Subpackages, dep.Subpackages...)
 		}
 	}