Skip to content

Line numbers are off by one #16

@pbrisbin

Description

@pbrisbin

This seems to happen uniformly, but here is one example:

From c09573b2a7edbb92eafbacca0b6e66b9382a618a Mon Sep 17 00:00:00 2001
From: "Restyled.io" <commits@restyled.io>
Date: Wed, 6 Nov 2024 17:46:14 +0000
Subject: [PATCH] Restyled by prettier

---
 suggestions/src/hunk.ts | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/suggestions/src/hunk.ts b/suggestions/src/hunk.ts
index b295688..8ca573f 100644
--- a/suggestions/src/hunk.ts
+++ b/suggestions/src/hunk.ts
@@ -16,7 +16,9 @@ export class Hunks<T> {
     this.lastLine = -1;
   }
 
-  get(lineNumber: number): NonEmpty<T & HasLineNumber> | null { return this.map.get(lineNumber) || null; }
+  get(lineNumber: number): NonEmpty<T & HasLineNumber> | null {
+    return this.map.get(lineNumber) || null;
+  }
 
   add(line: T & HasLineNumber) {
     const current = this.get(line.lineNumber);"
-- 
2.47.0

That deletion line is 19:

@@ -16,7 +16,9 @@ export class Hunks<T> {
16     this.lastLine = -1;
17   }
18 
19 -  get(lineNumber: number): NonEmpty<T & HasLineNumber> | null { return this.map.get(lineNumber) || null; }

GitHub also agrees it's 19:

But when I parse it with this library, I get 20:

const patch = parseGitPatch(patchStr);

patch.files.forEach((file) => {
  console.log(file.modifiedLines);
});
    [
      {
        added: false,
        lineNumber: 20,
        line: '  get(lineNumber: number): NonEmpty<T & HasLineNumber> | null { return this.map.get(lineNumber) || null; }'
      },
      {
        added: true,
        lineNumber: 20,
        line: '  get(lineNumber: number): NonEmpty<T & HasLineNumber> | null {'
      },
    ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions