ref: df1f2fb3daa1acd25c88510f259d5535fb482126
dir: /ref/store/files/update_resolve_target.go/
package files
import "fmt"
func (executor *refUpdateExecutor) resolveQueuedUpdateTarget(op queuedUpdate) (resolvedUpdateTarget, error) {
switch op.kind {
case updateCreate:
return executor.resolveOrdinaryTarget(op.name, true)
case updateReplace, updateDelete, updateVerify:
return executor.resolveOrdinaryTarget(op.name, false)
case updateCreateSymbolic, updateReplaceSymbolic, updateDeleteSymbolic, updateVerifySymbolic:
refState, err := executor.directRead(op.name)
if err != nil {
return resolvedUpdateTarget{}, err
}
return resolvedUpdateTarget{name: op.name, loc: executor.store.loosePath(op.name), ref: refState}, nil
default:
return resolvedUpdateTarget{}, fmt.Errorf("refstore/files: unsupported update operation %d", op.kind)
}
}