Make RepositoryName comparison case-insensitive on Windows

Fixed https://github.com/bazelbuild/bazel/issues/5485

RELNOTES: None
PiperOrigin-RevId: 202903823
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
index b637cf6..1678c81 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
@@ -19,6 +19,7 @@
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.util.OS;
 import com.google.devtools.build.lib.util.Pair;
 import com.google.devtools.build.lib.util.StringCanonicalizer;
 import com.google.devtools.build.lib.util.StringUtilities;
@@ -260,11 +261,18 @@
     if (!(object instanceof RepositoryName)) {
       return false;
     }
+
+    if (OS.getCurrent() == OS.WINDOWS) {
+      return name.toLowerCase().equals(((RepositoryName) object).name.toLowerCase());
+    }
     return name.equals(((RepositoryName) object).name);
   }
 
   @Override
   public int hashCode() {
+    if (OS.getCurrent() == OS.WINDOWS) {
+      return name.toLowerCase().hashCode();
+    }
     return name.hashCode();
   }
 }