FilesetEntryValue now overrides .equals and .hashCode.
This means Skyframe's change pruning can work more efficiently. Without the
overridden implementations we'd compare equal FEVs as inequal and unnecessarily
re-evaluate SkyKeys that we could have verified clean.
--
MOS_MIGRATED_REVID=99397188
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
index e7b6580..4753735 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
@@ -46,4 +46,20 @@
   public static SkyKey key(FilesetTraversalParams params) {
     return new SkyKey(SkyFunctions.FILESET_ENTRY, params);
   }
+
+  @Override
+  public boolean equals(Object obj) {
+    if (this == obj) {
+      return true;
+    }
+    if (!(obj instanceof FilesetEntryValue)) {
+      return false;
+    }
+    return symlinks.equals(((FilesetEntryValue) obj).symlinks);
+  }
+
+  @Override
+  public int hashCode() {
+    return symlinks.hashCode();
+  }
 }