Skip to content

Commit

Permalink
Merge pull request #377 from fujiwara/feature/force-overwrite
Browse files Browse the repository at this point in the history
add init --force-overwrite flag.
  • Loading branch information
fujiwara authored Mar 29, 2024
2 parents d5555d1 + d5ddf27 commit ed4b815
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
2 changes: 1 addition & 1 deletion functionurl.go
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ func (app *App) initFunctionURL(ctx context.Context, fn *Function, exists bool,
return err
}
}
if err := app.saveFile(name, b, os.FileMode(0644)); err != nil {
if err := app.saveFile(name, b, os.FileMode(0644), opt.ForceOverwrite); err != nil {
return err
}

Expand Down
14 changes: 8 additions & 6 deletions init.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ import (

// InitOption represents options for Init()
type InitOption struct {
FunctionName *string `help:"Function name for init" required:"true" default:""`
DownloadZip bool `name:"download" help:"Download function.zip" default:"false"`
Jsonnet bool `default:"false" help:"render function.json as jsonnet"`
Qualifier *string `help:"function version or alias"`
FunctionURL bool `help:"create function url definition file" default:"false"`
FunctionName *string `help:"Function name for init" required:"true" default:""`
DownloadZip bool `name:"download" help:"Download function.zip" default:"false"`
Jsonnet bool `help:"render function.json as jsonnet" default:"false"`
Qualifier *string `help:"function version or alias"`
FunctionURL bool `help:"create function url definition file" default:"false"`
ForceOverwrite bool `help:"Overwrite existing files without prompting" default:"false"`
}

// Init initializes function.json
Expand Down Expand Up @@ -90,6 +91,7 @@ func (app *App) Init(ctx context.Context, opt *InitOption) error {
IgnoreFilename,
[]byte(strings.Join(DefaultExcludes, "\n")+"\n"),
os.FileMode(0644),
opt.ForceOverwrite,
)
if err != nil {
return err
Expand All @@ -109,7 +111,7 @@ func (app *App) Init(ctx context.Context, opt *InitOption) error {
return err
}
}
if err := app.saveFile(name, b, os.FileMode(0644)); err != nil {
if err := app.saveFile(name, b, os.FileMode(0644), opt.ForceOverwrite); err != nil {
return err
}

Expand Down
4 changes: 2 additions & 2 deletions utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import (
"github.com/google/go-jsonnet/formatter"
)

func (app *App) saveFile(path string, b []byte, mode os.FileMode) error {
func (app *App) saveFile(path string, b []byte, mode os.FileMode, force bool) error {
if _, err := os.Stat(path); err == nil {
ok := prompter.YN(fmt.Sprintf("Overwrite existing file %s?", path), false)
ok := force || prompter.YN(fmt.Sprintf("Overwrite existing file %s?", path), false)
if !ok {
return nil
}
Expand Down

0 comments on commit ed4b815

Please sign in to comment.