Skip to content

File.OldName and File.NewName are the same when they shouldn't be #65

@ghostsquad

Description

@ghostsquad

I have a patch that looks like this:

diff -u /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-1.yaml /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-1.yaml
--- /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-1.yaml	2026-01-14 20:44:05
+++ /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-1.yaml	2026-01-14 20:44:05
@@ -11,7 +11,7 @@
     app.kubernetes.io/version: "6.9.4"
     app.kubernetes.io/managed-by: Helm
   annotations:
-    specific: cluster-1
+    specific: cluster-1-new
 spec:
   type: ClusterIP
   ports:
diff -u /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-2.yaml /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-2.yaml
--- /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-2.yaml	2026-01-14 20:44:05
+++ /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-2.yaml	2026-01-14 20:44:05
@@ -11,7 +11,7 @@
     app.kubernetes.io/version: "6.9.4"
     app.kubernetes.io/managed-by: Helm
   annotations:
-    specific: cluster-2
+    specific: cluster-2-new
 spec:
   type: ClusterIP
   ports:
diff -u /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-3.yaml /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-3.yaml
--- /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-3.yaml	2026-01-14 20:44:05
+++ /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-3.yaml	2026-01-14 20:44:05
@@ -11,7 +11,7 @@
     app.kubernetes.io/version: "6.9.4"
     app.kubernetes.io/managed-by: Helm
   annotations:
-    specific: cluster-3
+    specific: cluster-3-special
 spec:
   type: ClusterIP
   ports:
diff -u /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-4.yaml /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-4.yaml
--- /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-1/cluster-4.yaml	2026-01-14 20:44:05
+++ /Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-4.yaml	2026-01-14 20:44:06
@@ -11,7 +11,7 @@
     app.kubernetes.io/version: "6.9.4"
     app.kubernetes.io/managed-by: Helm
   annotations:
-    specific: cluster-4
+    specific: cluster-4-new
 spec:
   type: ClusterIP
   ports:

When I parse this, and look at each OldName and NewName, I expect to see .../rendered-1/... as the old, and .../rendered-2/... as the new (shortened for brevity), but both OldName and NewName show up as rendered-2.

files, _, err := gitdiff.Parse(patchFile)
for _, file := range files {
	godump.Dump("oldName", file.OldName)
	godump.Dump("newName", file.NewName)
}
<#dump // cmd/diff-differ/main.go:57
"oldName" #string
"/Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-1.yaml" #string
<#dump // cmd/diff-differ/main.go:58
"newName" #string
"/Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-1.yaml" #string
<#dump // cmd/diff-differ/main.go:57
"oldName" #string
"/Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-2.yaml" #string
<#dump // cmd/diff-differ/main.go:58
"newName" #string
"/Users/ghostsquad/projects/diff-differ/docs/examples/k8s-manifests/rendered-2/cluster-2.yaml" #string

This looks like a bug.

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