RevisionInfo: Simplify comparator for sorting by number

"Spread out" each of the non-edit numbers so there is a gap in
between each, and map the edit numbers into that gap.

Change-Id: I24a0bff47c8a1107ee1f9e41b770392fb81e2d92
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfo.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfo.java
index fda02e4..dec3501 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfo.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfo.java
@@ -254,27 +254,15 @@
     public final native JsArray<WebLinkInfo> web_links() /*-{ return this.web_links; }-*/;
 
     public static void sortRevisionInfoByNumber(JsArray<RevisionInfo> list) {
-      final int parent_number = findEditParent(list);
+      final int editParent = findEditParent(list);
       Collections.sort(Natives.asList(list), new Comparator<RevisionInfo>() {
         @Override
         public int compare(RevisionInfo a, RevisionInfo b) {
-          int a_number = a._number();
-          int b_number = b._number();
-          if (a_number == 0) {
-            if (b_number == parent_number + 1) {
-              a_number = parent_number;
-            } else {
-              a_number = parent_number + 1;
-            }
-          }
-          if (b_number == 0) {
-            if (a_number == parent_number + 1) {
-              b_number = parent_number;
-            } else {
-              b_number = parent_number + 1;
-            }
-          }
-          return a_number - b_number;
+          return num(a) - num(b);
+        }
+
+        private int num(RevisionInfo r) {
+          return !r.is_edit() ? 2 * (r._number() - 1) + 1 : 2 * editParent;
         }
       });
     }