| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: Add support for custom output formats (#221) Signed-off-by: Sergio Morales <sergio@cornershopapp.com> Co-authored-by: KUOKA Yusuke <ykuoka@gmail.com> | 6 年前 | |
feat: JSON output (#226) This adds the JSON output on top of #221, which can be enabled by passing `--output json`. Internally it works exactly the same as the `template` output format with the default template. ``` ******************** Release was not present in Helm. Diff will show entire contents as new. ******************** [{ "api": "v1", "kind": "Secret", "namespace": "default", "name": "mysql-1567775891", "change": "ADD" },{ "api": "v1", "kind": "ConfigMap", "namespace": "default", "name": "mysql-1567775891-test", "change": "ADD" },{ "api": "v1", "kind": "PersistentVolumeClaim", "namespace": "default", "name": "mysql-1567775891", "change": "ADD" },{ "api": "v1", "kind": "Service", "namespace": "default", "name": "mysql-1567775891", "change": "ADD" },{ "api": "apps", "kind": "Deployment", "namespace": "default", "name": "mysql-1567775891", "change": "ADD" }] ``` Ref https://github.com/databus23/helm-diff/pull/221#pullrequestreview-451199381 | 6 年前 | |
fix: reduce memory usage in diff by using linear-space LCS algorithm (#1010) Replace the O(N*M) space LCS dynamic programming from aryann/difflib with Hirschberg's linear-space algorithm. For large manifests such as Kyverno CRDs with 10,000+ differing lines, peak memory drops from ~786 MB to ~14 MB (57x reduction) while producing identical diff output. Fixes #996 Signed-off-by: yxxhero <aiopsclub@163.com> | 2 个月前 | |
Support array of scalars in structured output (#1026) * test(diff): add list of string to structured diff test manifest * fix(diff): handle array of strings in structured diff generation * fix(diff): handle array of scalars in structured diff generation * test(diff): add multi-type array test | 1 个月前 | |
fix: reduce memory usage in diff by using linear-space LCS algorithm (#1010) Replace the O(N*M) space LCS dynamic programming from aryann/difflib with Hirschberg's linear-space algorithm. For large manifests such as Kyverno CRDs with 10,000+ differing lines, peak memory drops from ~786 MB to ~14 MB (57x reduction) while producing identical diff output. Fixes #996 Signed-off-by: yxxhero <aiopsclub@163.com> | 2 个月前 | |
fix: reduce memory usage in diff by using linear-space LCS algorithm (#1010) Replace the O(N*M) space LCS dynamic programming from aryann/difflib with Hirschberg's linear-space algorithm. For large manifests such as Kyverno CRDs with 10,000+ differing lines, peak memory drops from ~786 MB to ~14 MB (57x reduction) while producing identical diff output. Fixes #996 Signed-off-by: yxxhero <aiopsclub@163.com> | 2 个月前 | |
fix: enable dyff rename detection when --find-renames is set (#980) * fix: enable dyff rename detection when --find-renames is set The condition guarding dyff.DetectRenames(true) was inverted: it enabled rename detection only when FindRenames was NOT set (<= 0) and disabled it when the user explicitly requested it via --find-renames. Flip the condition from <= 0 to > 0 so that dyff's rename detection is enabled when --find-renames is set to any positive value, matching the documented behavior. Fixes #976 Signed-off-by: yxxhero <aiopsclub@163.com> * fix: propagate FindRenames to Report and update tests Pass FindRenames from Options to Report so that printDyffReport can use it to conditionally enable dyff.DetectRenames. Update test name and add FindRenames field to test reports for consistency. Signed-off-by: yxxhero <aiopsclub@163.com> * fix: preserve FindRenames in doSuppress and add regression test Copy FindRenames into the filtered report in doSuppress so that --find-renames still works when --suppress-output-line-regex is used. Add TestPrintDyffReportFindRenamesChangesOutput to verify that dyff output differs between FindRenames == 0 and FindRenames > 0. Signed-off-by: yxxhero <aiopsclub@163.com> * refactor: make Report.findRenames unexported and improve tests Make findRenames an unexported field on Report since it is internal state for dyff printing, not part of the public API. Rename TestPrintDyffReportDoesNotMergeAddRemoveWithFindRenames to TestPrintDyffReportAddRemoveDiffersFromModify for clarity. Replace the brittle NotEqual assertion in the rename detection test with specific assertions on stable dyff output markers (presence of 'one document removed/added' vs 'value change') to reliably verify that rename detection is toggled by findRenames. Signed-off-by: yxxhero <aiopsclub@163.com> --------- Signed-off-by: yxxhero <aiopsclub@163.com> | 4 个月前 | |
fix: enable dyff rename detection when --find-renames is set (#980) * fix: enable dyff rename detection when --find-renames is set The condition guarding dyff.DetectRenames(true) was inverted: it enabled rename detection only when FindRenames was NOT set (<= 0) and disabled it when the user explicitly requested it via --find-renames. Flip the condition from <= 0 to > 0 so that dyff's rename detection is enabled when --find-renames is set to any positive value, matching the documented behavior. Fixes #976 Signed-off-by: yxxhero <aiopsclub@163.com> * fix: propagate FindRenames to Report and update tests Pass FindRenames from Options to Report so that printDyffReport can use it to conditionally enable dyff.DetectRenames. Update test name and add FindRenames field to test reports for consistency. Signed-off-by: yxxhero <aiopsclub@163.com> * fix: preserve FindRenames in doSuppress and add regression test Copy FindRenames into the filtered report in doSuppress so that --find-renames still works when --suppress-output-line-regex is used. Add TestPrintDyffReportFindRenamesChangesOutput to verify that dyff output differs between FindRenames == 0 and FindRenames > 0. Signed-off-by: yxxhero <aiopsclub@163.com> * refactor: make Report.findRenames unexported and improve tests Make findRenames an unexported field on Report since it is internal state for dyff printing, not part of the public API. Rename TestPrintDyffReportDoesNotMergeAddRemoveWithFindRenames to TestPrintDyffReportAddRemoveDiffersFromModify for clarity. Replace the brittle NotEqual assertion in the rename detection test with specific assertions on stable dyff output markers (presence of 'one document removed/added' vs 'value change') to reliably verify that rename detection is toggled by findRenames. Signed-off-by: yxxhero <aiopsclub@163.com> --------- Signed-off-by: yxxhero <aiopsclub@163.com> | 4 个月前 | |
Support array of scalars in structured output (#1026) * test(diff): add list of string to structured diff test manifest * fix(diff): handle array of strings in structured diff generation * fix(diff): handle array of scalars in structured diff generation * test(diff): add multi-type array test | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 年前 | ||
| 6 年前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 1 个月前 |