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

Function to merge two instances of config.Value #938

Merged
merged 2 commits into from
Nov 3, 2023
Merged

Conversation

pietern
Copy link
Contributor

@pietern pietern commented Oct 31, 2023

Changes

Semantics for merging two instances of config.Value:

  • Merging x with nil or nil with x always yields x
  • Merging maps a and b means entries from map b take precedence
  • Merging sequences a and b means concatenating them

These are the same semantics that we use today when calling into mergo in bundle/config.

Tests

Unit tests pass.

@pietern pietern requested a review from mgyucht November 1, 2023 13:57
Copy link
Contributor

@mgyucht mgyucht left a comment

Choose a reason for hiding this comment

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

Awesome, looks great!

@pietern pietern added this pull request to the merge queue Nov 3, 2023
Merged via the queue into main with commit 8e1156e Nov 3, 2023
4 checks passed
@pietern pietern deleted the config-merge branch November 3, 2023 19:21
@andrewnester andrewnester mentioned this pull request Nov 8, 2023
andrewnester added a commit that referenced this pull request Nov 8, 2023
CLI:
 * Hide `--progress-format` global flag ([#965](#965)).
 * Make configure command visible + fix bundle command description ([#961](#961)).
 * Log process ID in each log entry ([#949](#949)).
 * Improve error message when `--json` flag is specified ([#933](#933)).

Bundles:
 * Remove validation for default value against pattern ([#959](#959)).
 * Bundle path rewrites for dbt and SQL file tasks ([#962](#962)).
 * Initialize variable definitions that are defined without properties ([#966](#966)).

Internal:
 * Remove mention of Lakehouse apps from the changelog ([#945](#945)).
 * Function to merge two instances of `config.Value` ([#938](#938)).
 * Make to/from string methods private to the jsonschema package ([#942](#942)).
 * Make Cobra runner compatible with testing interactive flows ([#957](#957)).
 * Added `env.UserHomeDir(ctx)` for parallel-friendly tests ([#955](#955)).

Dependency updates:
 * Bump golang.org/x/mod from 0.13.0 to 0.14.0 ([#954](#954)).
 * Bump golang.org/x/text from 0.13.0 to 0.14.0 ([#953](#953)).
 * Bump golang.org/x/sync from 0.4.0 to 0.5.0 ([#951](#951)).
 * Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 ([#950](#950)).
 * Bump github.com/fatih/color from 1.15.0 to 1.16.0 ([#952](#952)).
github-merge-queue bot pushed a commit that referenced this pull request Nov 8, 2023
CLI:
* Hide `--progress-format` global flag
([#965](#965)).
* Make configure command visible + fix bundle command description
([#961](#961)).
* Log process ID in each log entry
([#949](#949)).
* Improve error message when `--json` flag is specified
([#933](#933)).

Bundles:
* Remove validation for default value against pattern
([#959](#959)).
* Bundle path rewrites for dbt and SQL file tasks
([#962](#962)).
* Initialize variable definitions that are defined without properties
([#966](#966)).

Internal:
* Function to merge two instances of `config.Value`
([#938](#938)).
* Make to/from string methods private to the jsonschema package
([#942](#942)).
* Make Cobra runner compatible with testing interactive flows
([#957](#957)).
* Added `env.UserHomeDir(ctx)` for parallel-friendly tests
([#955](#955)).


Dependency updates:
* Bump golang.org/x/mod from 0.13.0 to 0.14.0
([#954](#954)).
* Bump golang.org/x/text from 0.13.0 to 0.14.0
([#953](#953)).
* Bump golang.org/x/sync from 0.4.0 to 0.5.0
([#951](#951)).
* Bump github.com/spf13/cobra from 1.7.0 to 1.8.0
([#950](#950)).
* Bump github.com/fatih/color from 1.15.0 to 1.16.0
([#952](#952)).
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.

None yet

2 participants