Skip to content

Commit

Permalink
Don't compute full target state in data command (#557)
Browse files Browse the repository at this point in the history
Don't compute full target state in data command
  • Loading branch information
twpayne committed Jan 10, 2020
2 parents f563a08 + 1b630ce commit f9bd8bb
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
23 changes: 16 additions & 7 deletions cmd/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,20 @@ func (c *Config) ensureSourceDirectory() error {
}
}

func (c *Config) getData() (map[string]interface{}, error) {
defaultData, err := c.getDefaultData()
if err != nil {
return nil, err
}
data := map[string]interface{}{
"chezmoi": defaultData,
}
for key, value := range c.Data {
data[key] = value
}
return data, nil
}

func (c *Config) getDefaultData() (map[string]interface{}, error) {
data := map[string]interface{}{
"arch": runtime.GOARCH,
Expand Down Expand Up @@ -389,16 +403,11 @@ func (c *Config) getPersistentStateFile() string {

func (c *Config) getTargetState(populateOptions *chezmoi.PopulateOptions) (*chezmoi.TargetState, error) {
fs := vfs.NewReadOnlyFS(c.fs)
defaultData, err := c.getDefaultData()

data, err := c.getData()
if err != nil {
return nil, err
}
data := map[string]interface{}{
"chezmoi": defaultData,
}
for key, value := range c.Data {
data[key] = value
}

destDir := c.DestDir
if destDir != "" {
Expand Down
4 changes: 2 additions & 2 deletions cmd/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ func (c *Config) runDataCmd(cmd *cobra.Command, args []string) error {
if !ok {
return fmt.Errorf("%s: unknown format", c.data.format)
}
ts, err := c.getTargetState(nil)
data, err := c.getData()
if err != nil {
return err
}
return format(c.Stdout(), ts.Data)
return format(c.Stdout(), data)
}

0 comments on commit f9bd8bb

Please sign in to comment.