diff --git a/core/installer/soft/repoio.go b/core/installer/soft/repoio.go
index 7df75dc..dcf897d 100644
--- a/core/installer/soft/repoio.go
+++ b/core/installer/soft/repoio.go
@@ -36,6 +36,7 @@
 type DoFn func(r RepoFS) (string, error)
 
 type doOptions struct {
+	NoPull   bool
 	NoCommit bool
 	Force    bool
 	ToBranch string
@@ -43,6 +44,12 @@
 
 type DoOption func(*doOptions)
 
+func WithNoPull() DoOption {
+	return func(o *doOptions) {
+		o.NoPull = true
+	}
+}
+
 func WithNoCommit() DoOption {
 	return func(o *doOptions) {
 		o.NoCommit = true
@@ -219,13 +226,15 @@
 func (r *repoIO) Do(op DoFn, opts ...DoOption) error {
 	r.l.Lock()
 	defer r.l.Unlock()
-	if err := r.pullWithoutLock(); err != nil {
-		return err
-	}
 	o := &doOptions{}
 	for _, i := range opts {
 		i(o)
 	}
+	if !o.NoPull {
+		if err := r.pullWithoutLock(); err != nil {
+			return err
+		}
+	}
 	if msg, err := op(r); err != nil {
 		return err
 	} else {
