MCPcopy Create free account
hub / github.com/containers/fetchit / getFilteredChangeMap

Function getFilteredChangeMap

pkg/engine/apply.go:158–184  ·  view source on GitHub ↗
(
	directory string,
	targetPath string,
	currentTree,
	desiredTree *object.Tree,
	tags *[]string,
)

Source from the content-addressed store, hash-verified

156}
157
158func getFilteredChangeMap(
159 directory string,
160 targetPath string,
161 currentTree,
162 desiredTree *object.Tree,
163 tags *[]string,
164) (map[*object.Change]string, error) {
165
166 changes, err := currentTree.Diff(desiredTree)
167 if err != nil {
168 return nil, utils.WrapErr(err, "Error getting diff between current and latest", targetPath)
169 }
170
171 changeMap := make(map[*object.Change]string)
172 for _, change := range changes {
173 if strings.Contains(change.To.Name, targetPath) {
174 checkTag(tags, change.To.Name)
175 path := filepath.Join(directory, change.To.Name)
176 changeMap[change] = path
177 } else if strings.Contains(change.From.Name, targetPath) {
178 checkTag(tags, change.From.Name)
179 changeMap[change] = deleteFile
180 }
181 }
182
183 return changeMap, nil
184}
185
186func checkTag(tags *[]string, name string) bool {
187 if tags == nil {

Callers 1

ApplyMethod · 0.85

Calls 2

WrapErrFunction · 0.92
checkTagFunction · 0.85

Tested by

no test coverage detected