diff icon indicating copy to clipboard operation
diff copied to clipboard

A library for diffing golang structures

Results 26 diff issues
Sort by recently updated
recently updated
newest added

Hi there, awesome lib, thank you, but sadly it only fill half our need. We are currently implementing patch and reverse patch method for our internal need on known structures,...

Hi diff team, I am working on a project that is leveraging the library and there appears to be a problem with interfaces when serializing the change logs. The types...

Howdy! What am I missing here: I am unable to patch my "blank" struct property. The last assertion fails with `reflect: call of reflect.Value.Type on zero Value`. ``` type PatchStruct...

At the moment, it seems nil/uninitialized slices are == initialized empty list slices. ```golang type testStruct struct { A []string } func Test_DiffNilList(t *testing.T) { p := testStruct{} assert.Nil(t, p.A)...

Hello! I'm diffing some large nested structures and running into really long run times with v3. Interestingly v1 of this package returns in mere seconds with the correct changelog result....

Presently, calling Diff() on a self-referential value will never return. This patch records all pointer comparisons, and before each pointer comparison, if a comparison has happened before during the same...

Hi :wave: ! I'd like to know if it would make sense to add a new type of changelog entry for equal values, so that it's possible to detect that...

closes #100 to address this issue I've added an eager return inside `structValues` that, if the struct has no fields, appends a single entry to the changelog for the struct...

in a case where there is a type defined such as ```go type Set map[string]struct{} ``` the result of diffing these types always ends up with an empty changelog, even...

Hi Test code using go 1.20: type Test struct { ID int64 `diff:"id,identifier"` Bool bool `diff:"bool"` Test string `diff:"test"` } a := []Test{{ID: 1, Bool: true, Test: "Bool set to...