From 9684e2dec933f1be80543748f1753761006c3d5f Mon Sep 17 00:00:00 2001 From: HampusM Date: Sun, 18 Jul 2021 14:06:32 +0200 Subject: Fixed the bug caused by inproper handling of empty patches --- packages/client/src/components/CommitPatch.vue | 6 ++++++ packages/server/src/git/patch.ts | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'packages') diff --git a/packages/client/src/components/CommitPatch.vue b/packages/client/src/components/CommitPatch.vue index dca886f..fbc9e3a 100644 --- a/packages/client/src/components/CommitPatch.vue +++ b/packages/client/src/components/CommitPatch.vue @@ -19,6 +19,12 @@ export default defineComponent({ ]); } + if(!props.patch.hunks) { + return () => h("div", { class: "ps-3 pt-3" }, [ + h("span", "Empty.") + ]); + } + // Array of hunks without the first chunk headers const all_hunks = props.patch.hunks.map((hunk) => hunk.hunk.split("\n").slice(1).join("\n")); diff --git a/packages/server/src/git/patch.ts b/packages/server/src/git/patch.ts index 126b203..f7eb88e 100644 --- a/packages/server/src/git/patch.ts +++ b/packages/server/src/git/patch.ts @@ -89,10 +89,14 @@ export class Patch { return false; } - public async getHunks(index: number): Promise { - const content = (await this.content(index)).split("\n"); + public async getHunks(patch_index: number): Promise { + const content = (await this.content(patch_index)).split("\n"); const hunks = await this._ng_patch.hunks(); + if(hunks.length === 0) { + return null; + } + const hunks_data = hunks.reduce((result: Hunks, hunk, hunk_index) => { const hunk_header = hunk.header(); const hunk_header_index = content.indexOf(hunk_header.replace(/\n/gu, "")); -- cgit v1.2.3-18-g5258