MCPcopy Create free account
hub / github.com/github/gh-aw / defaultsUpdateFromFile

Function defaultsUpdateFromFile

pkg/cli/env_command.go:237–277  ·  view source on GitHub ↗
(target defaultsTarget, inputFile string, skipConfirmation, dryRun bool)

Source from the content-addressed store, hash-verified

235}
236
237func defaultsUpdateFromFile(target defaultsTarget, inputFile string, skipConfirmation, dryRun bool) error {
238 envCmdLog.Printf("Updating defaults from file: scope=%s, input=%s, dryRun=%t", target.scope, inputFile, dryRun)
239 data, err := os.ReadFile(inputFile)
240 if err != nil {
241 return fmt.Errorf("failed to read defaults file %q: %w", inputFile, err)
242 }
243
244 file, err := defaultsParseFile(inputFile, data)
245 if err != nil {
246 return err
247 }
248 if err := defaultsValidateFile(&file); err != nil {
249 return err
250 }
251
252 changes := defaultsBuildUpdateChanges(&file)
253 envCmdLog.Printf("Built %d default variable changes", len(changes))
254 if dryRun {
255 renderDefaultsUpdatePreview(target, inputFile, changes)
256 fmt.Fprintln(os.Stderr, console.FormatInfoMessage("Dry-run mode enabled; no variables were changed."))
257 return nil
258 }
259 if err := confirmDefaultsUpdate(target, inputFile, changes, skipConfirmation, console.ConfirmAction); err != nil {
260 return err
261 }
262
263 for _, change := range changes {
264 if change.delete {
265 if err := deleteDefaultsVariable(target, change.envName); err != nil {
266 return err
267 }
268 continue
269 }
270 if err := upsertDefaultsVariable(target, change.envName, change.value); err != nil {
271 return err
272 }
273 }
274
275 fmt.Fprintln(os.Stderr, console.FormatSuccessMessage("Updated defaults from "+inputFile))
276 return nil
277}
278
279func defaultsParseFile(inputFile string, data []byte) (defaultsFile, error) {
280 var file defaultsFile

Callers 1

newDefaultsUpdateCommandFunction · 0.85

Calls 11

FormatInfoMessageFunction · 0.92
FormatSuccessMessageFunction · 0.92
defaultsParseFileFunction · 0.85
defaultsValidateFileFunction · 0.85
confirmDefaultsUpdateFunction · 0.85
deleteDefaultsVariableFunction · 0.85
upsertDefaultsVariableFunction · 0.85
PrintfMethod · 0.45
ErrorfMethod · 0.45

Tested by

no test coverage detected