Add branch to commit key (#684)

* add branch to commit key

* test fix

* add old Key check

* dartfmt
diff --git a/app_dart/lib/src/request_handlers/refresh_github_commits.dart b/app_dart/lib/src/request_handlers/refresh_github_commits.dart
index 8dd2a22..50b0062 100644
--- a/app_dart/lib/src/request_handlers/refresh_github_commits.dart
+++ b/app_dart/lib/src/request_handlers/refresh_github_commits.dart
@@ -150,11 +150,17 @@
       DatastoreService datastore, String branch) async {
     final List<Commit> newCommits = <Commit>[];
     for (RepositoryCommit commit in commits) {
-      final String id = 'flutter/flutter/${commit.sha}';
+      final String id = 'flutter/flutter/$branch/${commit.sha}';
       final Key key = datastore.db.emptyKey.append(Commit, id: id);
 
+      // TODO(keyonghan): remove old Key check, https://github.com/flutter/flutter/issues/52503
+      final String oldId = 'flutter/flutter/${commit.sha}';
+      final Key oldKey = datastore.db.emptyKey.append(Commit, id: oldId);
+
       if (await datastore.db.lookupValue<Commit>(key, orElse: () => null) ==
-          null) {
+              null &&
+          await datastore.db.lookupValue<Commit>(oldKey, orElse: () => null) ==
+              null) {
         newCommits.add(Commit(
           key: key,
           timestamp: commit.commit.committer.date.millisecondsSinceEpoch,
diff --git a/app_dart/test/request_handlers/refresh_github_commits_test.dart b/app_dart/test/request_handlers/refresh_github_commits_test.dart
index d12212a..a50127f 100644
--- a/app_dart/test/request_handlers/refresh_github_commits_test.dart
+++ b/app_dart/test/request_handlers/refresh_github_commits_test.dart
@@ -80,9 +80,9 @@
       return commits;
     }
 
-    Commit shaToCommit(String sha) {
+    Commit shaToCommit(String sha, String branch) {
       return Commit(
-          key: db.emptyKey.append(Commit, id: 'flutter/flutter/$sha'),
+          key: db.emptyKey.append(Commit, id: 'flutter/flutter/$branch/$sha'),
           sha: sha);
     }
 
@@ -145,9 +145,8 @@
       httpClient.request.response.body = singleTaskManifestYaml;
       branchHttpClient.request.response.body = branchRegExp;
       await tester.get<Body>(handler);
-      //expect(body.branches, null);
-      final Commit commit = db.values.values.whereType<Commit>().last;
-      //expect(body, null);
+      final Commit commit = db.values.values.whereType<Commit>().first;
+      expect(db.values.values.whereType<Commit>().length, 2);
       expect(commit.branch, 'flutter-1.1-candidate.1');
     });
 
@@ -157,7 +156,7 @@
       githubBranches = <String>['master'];
       const List<String> dbCommits = <String>['3', '4', '5', '6'];
       for (String sha in dbCommits) {
-        final Commit commit = shaToCommit(sha);
+        final Commit commit = shaToCommit(sha, 'master');
         db.values[commit.key] = commit;
       }