mirror of
https://github.com/laurent22/joplin.git
synced 2024-11-24 08:12:24 +02:00
30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import { rtrimSlashes } from '@joplin/lib/path-utils';
|
|
|
|
function removeBranch(commit: string): string {
|
|
if (!commit) return '';
|
|
|
|
if (commit.indexOf(':') >= 0) {
|
|
const s = commit.split(':');
|
|
return s[1];
|
|
}
|
|
|
|
return commit;
|
|
}
|
|
|
|
export default function(manifest: any, previousManifest: any = null): string {
|
|
// "repository_url": "https://github.com/JackGruber/joplin-plugin-copytags",
|
|
// "_publish_commit": "master:b52b01f6d3b709a811ac214253636a7c207c87dd",
|
|
|
|
// https://github.com/JackGruber/joplin-plugin-copytags/compare/9ec4a476a54440ac43422c34e179dcabfca1e5a0..b52b01f6d3b709a811ac214253636a7c207c87dd
|
|
|
|
const repoUrl: string = manifest.repository_url;
|
|
const commit: string = removeBranch(manifest._publish_commit);
|
|
const previousCommit: string = previousManifest ? removeBranch(previousManifest._publish_commit) : '';
|
|
|
|
if (!repoUrl) return null;
|
|
if (!commit && !previousCommit) return repoUrl;
|
|
if (commit && !previousCommit) return `${rtrimSlashes(repoUrl)}/tree/${commit}`;
|
|
|
|
return `${rtrimSlashes(repoUrl)}/compare/${previousCommit}..${commit}`;
|
|
}
|