Skip to content

Commit

Permalink
Replace getSourceNames with getEntries
Browse files Browse the repository at this point in the history
  • Loading branch information
twpayne committed Dec 4, 2018
1 parent 22c530a commit 9b0e724
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 20 deletions.
23 changes: 9 additions & 14 deletions cmd/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,28 +139,23 @@ func getDefaultData() (map[string]interface{}, error) {
return data, nil
}

func (c *Config) getSourceNames(targetState *chezmoi.TargetState, targets []string) ([]string, error) {
sourceNames := []string{}
allEntries := targetState.AllEntries()
for _, target := range targets {
absTarget, err := filepath.Abs(target)
func (c *Config) getEntries(targetState *chezmoi.TargetState, args []string) ([]chezmoi.Entry, error) {
entries := []chezmoi.Entry{}
for _, arg := range args {
targetPath, err := filepath.Abs(arg)
if err != nil {
return nil, err
}
targetName, err := filepath.Rel(c.TargetDir, absTarget)
entry, err := targetState.Get(targetPath)
if err != nil {
return nil, err
}
if filepath.HasPrefix(targetName, "..") {
return nil, fmt.Errorf("%s: not in target directory", target)
}
entry, ok := allEntries[targetName]
if !ok {
return nil, fmt.Errorf("%s: not found", targetName)
if entry == nil {
return nil, fmt.Errorf("%s: not under management", arg)
}
sourceNames = append(sourceNames, entry.SourceName())
entries = append(entries, entry)
}
return sourceNames, nil
return entries, nil
}

func (c *Config) getTargetState(fs vfs.FS) (*chezmoi.TargetState, error) {
Expand Down
6 changes: 3 additions & 3 deletions cmd/edit.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func (c *Config) runEditCommand(fs vfs.FS, command *cobra.Command, args []string
if err != nil {
return err
}
sourceFileNames, err := c.getSourceNames(targetState, args)
entries, err := c.getEntries(targetState, args)
if err != nil {
return err
}
Expand All @@ -54,8 +54,8 @@ func (c *Config) runEditCommand(fs vfs.FS, command *cobra.Command, args []string
editor = "vi"
}
argv := []string{}
for _, sourceFileName := range sourceFileNames {
argv = append(argv, filepath.Join(c.SourceDir, sourceFileName))
for _, entry := range entries {
argv = append(argv, filepath.Join(c.SourceDir, entry.SourceName()))
}
if !c.edit.diff && !c.edit.apply {
return c.exec(append([]string{editor}, argv...))
Expand Down
6 changes: 3 additions & 3 deletions cmd/forget.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ func (c *Config) runForgetCommand(fs vfs.FS, command *cobra.Command, args []stri
if err != nil {
return err
}
sourceNames, err := c.getSourceNames(targetState, args)
entries, err := c.getEntries(targetState, args)
if err != nil {
return err
}
actuator := c.getDefaultActuator(fs)
for _, sourceName := range sourceNames {
if err := actuator.RemoveAll(filepath.Join(c.SourceDir, sourceName)); err != nil {
for _, entry := range entries {
if err := actuator.RemoveAll(filepath.Join(c.SourceDir, entry.SourceName())); err != nil {
return err
}
}
Expand Down

0 comments on commit 9b0e724

Please sign in to comment.