Title: [295611] trunk/Websites/perf.webkit.org
Revision
295611
Author
[email protected]
Date
2022-06-16 13:41:38 -0700 (Thu, 16 Jun 2022)

Log Message

Prefer using commit identifier to build commit URL.
https://bugs.webkit.org/show_bug.cgi?id=241646
rdar://93104485

Reviewed by Jonathan Bedard.

Use commit identifier to construct commit URL and blame URL when available.
This simplifies URL construction for Git transition.

* Websites/perf.webkit.org/public/v3/models/commit-log.js: Added code to prefer using commit identifiers
when available.
(CommitLog.prototype.url):
(CommitLog.prototype.diff):
* Websites/perf.webkit.org/unit-tests/commit-log-tests.js: Added a unit test for diff.
(assert.deepStrictEqual.webkitGitCommitWithRevisionIdentifier.diff.oldWebKitGitCommitWithRevisionIdentifier):
* Websites/perf.webkit.org/unit-tests/commit-set-tests.js: Updated unit test.
* Websites/perf.webkit.org/unit-tests/resources/mock-v3-models.js: Added 'blameUrl' to 'WebKitGit' mock repository.
(MockModels.inject):

Canonical link: https://commits.webkit.org/251616@main

Modified Paths

Diff

Modified: trunk/Websites/perf.webkit.org/public/v3/models/commit-log.js (295610 => 295611)


--- trunk/Websites/perf.webkit.org/public/v3/models/commit-log.js	2022-06-16 20:37:38 UTC (rev 295610)
+++ trunk/Websites/perf.webkit.org/public/v3/models/commit-log.js	2022-06-16 20:41:38 UTC (rev 295611)
@@ -42,7 +42,7 @@
     revision() { return this._rawData['revision']; }
     revisionIdentifier() { return this._rawData['revisionIdentifier']; }
     message() { return this._rawData['message']; }
-    url() { return this._repository.urlForRevision(this._rawData['revision']); }
+    url() { return this._repository.urlForRevision(this.revisionIdentifier() || this.revision()); }
     ownsCommits() { return this._rawData['ownsCommits']; }
     ownedCommits() { return this._ownedCommits; }
     ownerCommit() { return this._ownerCommit; }
@@ -105,7 +105,10 @@
             return revisionRange;
         })(identifierPattern.exec(previousCommit.revisionIdentifier()), identifierPattern.exec(this.revisionIdentifier()));
 
-        return {repository, label, url: repository.urlForRevisionRange(fromRevision, toRevision)};
+        const from = previousCommit.revisionIdentifier() || fromRevision;
+        const to = this.revisionIdentifier() || toRevision;
+
+        return {repository, label, url: repository.urlForRevisionRange(from, to)};
     }
 
     static fetchLatestCommitForPlatform(repository, platform)

Modified: trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js (295610 => 295611)


--- trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js	2022-06-16 20:37:38 UTC (rev 295610)
+++ trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js	2022-06-16 20:41:38 UTC (rev 295611)
@@ -28,6 +28,18 @@
     });
 }
 
+function webkitGitCommitWithRevisionIdentifier()
+{
+    return new CommitLog(1, {
+        id: 1,
+        repository: MockModels.webkitGit,
+        revision: '200805',
+        revisionIdentifier: '184276@main',
+        time: +(new Date('2016-05-13T00:55:57.841344Z')),
+    });
+
+}
+
 function oldWebKitCommit()
 {
     return new CommitLog(2, {
@@ -49,6 +61,17 @@
     });
 }
 
+function oldWebKitGitCommitWithRevisionIdentifier()
+{
+    return new CommitLog(2, {
+        id: 2,
+        repository: MockModels.webkitGit,
+        revision: '200574',
+        revisionIdentifier: '175605@main',
+        time: +(new Date('2016-05-09T14:59:23.553767Z')),
+    });
+}
+
 function gitWebKitCommit()
 {
     return new CommitLog(3, {
@@ -308,6 +331,14 @@
             });
         });
 
+        it('should prefer using identifiers create blame URL', () => {
+            assert.deepStrictEqual(webkitGitCommitWithRevisionIdentifier().diff((oldWebKitGitCommitWithRevisionIdentifier())), {
+                label: '175605-184276@main (r200574-r200805)',
+                url: 'https://commits.webkit.org/compare/[email protected]@main',
+                repository: MockModels.webkitGit
+            });
+        });
+
     });
 
     describe('hasOrdering', () => {

Modified: trunk/Websites/perf.webkit.org/unit-tests/commit-set-tests.js (295610 => 295611)


--- trunk/Websites/perf.webkit.org/unit-tests/commit-set-tests.js	2022-06-16 20:37:38 UTC (rev 295610)
+++ trunk/Websites/perf.webkit.org/unit-tests/commit-set-tests.js	2022-06-16 20:41:38 UTC (rev 295611)
@@ -423,7 +423,7 @@
             assert.equal(CommitSet.diff(oneCommitSet(), commitSetWithAnotherWebKitCommit()), 'WebKit: webkit-commit-0 - webkit-commit-1');
             assert.equal(CommitSet.diff(commitSetWithSVNCommit(), anotherCommitSetWithSVNCommit()), 'WebKit: r12345-r45678');
             assert.equal(CommitSet.diff(commitSetWithGitCommit(), anotherCommitSetWithGitCommit()), 'WebKit-Git: 13a0590d34f2..2f8dd3321d4f');
-            assert.equal(CommitSet.diff(commitSetWithTwoCommits(), anotherCommitSetWithTwoCommits()), 'WebKit: r12345-r45678 WebKit-Git: 13a0590d34f2..2f8dd3321d4f');
+            assert.equal(CommitSet.diff(commitSetWithTwoCommits(), anotherCommitSetWithTwoCommits()), 'WebKit-Git: 13a0590d34f2..2f8dd3321d4f WebKit: r12345-r45678');
         });
 
         it('should describe commit root and patch difference', () => {

Modified: trunk/Websites/perf.webkit.org/unit-tests/resources/mock-v3-models.js (295610 => 295611)


--- trunk/Websites/perf.webkit.org/unit-tests/resources/mock-v3-models.js	2022-06-16 20:37:38 UTC (rev 295610)
+++ trunk/Websites/perf.webkit.org/unit-tests/resources/mock-v3-models.js	2022-06-16 20:41:38 UTC (rev 295611)
@@ -25,7 +25,7 @@
             MockModels.sharedRepository = Repository.ensureSingleton(16, {name: 'Shared'});
             MockModels.ownerRepository = Repository.ensureSingleton(111, {name: 'Owner Repository'});
             MockModels.ownedRepository = Repository.ensureSingleton(112, {name: 'Owned Repository', owner: 111});
-            MockModels.webkitGit = Repository.ensureSingleton(17, {name: 'WebKit-Git'});
+            MockModels.webkitGit = Repository.ensureSingleton(17, {name: 'WebKit-Git', blameUrl: 'https://commits.webkit.org/compare/$1...$2'});
             MockModels.builder = new Builder(176, {name: 'WebKit Perf Builder', buildUrl: 'http://build.webkit.org/builders/$builderName/$buildTag'});
 
             MockModels.someTest = Test.ensureSingleton(1, {name: 'Some test'});
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to