Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added WithOverrideEmptySlice config flag #125

Merged
merged 4 commits into from
Oct 3, 2019
Merged

added WithOverrideEmptySlice config flag #125

merged 4 commits into from
Oct 3, 2019

Conversation

rusdevops
Copy link

@rusdevops rusdevops commented Sep 23, 2019

I want to overwrite the null slice with an empty slice

@rusdevops
Copy link
Author

rusdevops commented Sep 23, 2019

It work. Please see.

Copy link
Collaborator

@vdemeester vdemeester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rusdevops thanks for the PR. Can you add a test case for it ?

merge.go Outdated
TypeCheck bool
Transformers Transformers
overwriteWithEmptyValue bool
OverwriteSliceWithEmptyValue bool
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be un-exported (as we are using WithOverrideEmptySlice), same as overwriteWithEmptyValue is not exported

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@rusdevops
Copy link
Author

@rusdevops thanks for the PR. Can you add a test case for it ?

added

@rusdevops
Copy link
Author

Please create a release after the merge 👍

@rusdevops
Copy link
Author

@vdemeester, can you review PR ? please 😄

@rusdevops
Copy link
Author

@imdario please see PR if you can

@rv-jbaker
Copy link

This should resolve an issue we are seeing too. We have some state that looks like

Dest
{
  "test": {
    "a": []string{"testString"}
  }
}

Src
{
  "test": {
    "a": []string{}
  }
}

where we want an empty array of strings in the src to overwrite the destination path and remove string testString from the path test.a.

I couldn't find a way to set overwriteWithEmptyValue to true, because if I could that would also resolve the issue without needing this change.

@imdario or @rusdevops any insight on a way I could accomplish this or is this PR needed to make what we need happen?

Copy link
Collaborator

@vdemeester vdemeester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🐯

@vdemeester vdemeester merged commit 1afb360 into darccio:master Oct 3, 2019
thaJeztah added a commit to thaJeztah/docker that referenced this pull request Oct 6, 2019
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
docker-jenkins pushed a commit to docker-archive/docker-ce that referenced this pull request Oct 7, 2019
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Upstream-commit: 9bd1b1a8eca97a2403bc7a2ed9a52427d8c27078
Component: engine
burnMyDread pushed a commit to burnMyDread/moby that referenced this pull request Oct 21, 2019
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: zach <[email protected]>
thaJeztah added a commit to thaJeztah/cli that referenced this pull request Oct 23, 2019
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
thaJeztah added a commit to thaJeztah/cli that referenced this pull request Oct 23, 2019
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
zappy-shu pushed a commit to zappy-shu/cli that referenced this pull request Jan 21, 2020
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
docker-jenkins pushed a commit to docker-archive/docker-ce that referenced this pull request Jan 24, 2020
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Upstream-commit: 6cf7970cd397a77155aec077bd27755bc033b6f4
Component: cli
eiffel-fl pushed a commit to eiffel-fl/cli that referenced this pull request Jul 28, 2020
full diff: darccio/mergo@v0.3.7...v0.3.8

includes:

- darccio/mergo#112 Add strict override
    - fixes darccio/mergo#111 WithOverride should be able to check types
- darccio/mergo#106 Fix merging of interface types with concrete values
- darccio/mergo#120 should not overwrite pointers directly, instead check embedded values
    - fixes darccio/mergo#114 Embedded struct of pointer types will overwrite the whole destination struct
- darccio/mergo#125 added WithOverrideEmptySlice config flag

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants