From b5b511a94e28ea0346fc83a2afec43e5514fdb1e Mon Sep 17 00:00:00 2001 From: kappyhappy Date: Thu, 21 May 2020 10:36:31 +0900 Subject: Remote.Push: support force option --- remote.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'remote.go') diff --git a/remote.go b/remote.go index 98c4acf..e642c57 100644 --- a/remote.go +++ b/remote.go @@ -123,6 +123,15 @@ func (r *Remote) PushContext(ctx context.Context, o *PushOptions) (err error) { return ErrDeleteRefNotSupported } + if o.Force { + for i := 0; i < len(o.RefSpecs); i++ { + rs := &o.RefSpecs[i] + if !rs.IsForceUpdate() { + o.RefSpecs[i] = config.RefSpec("+" + rs.String()) + } + } + } + localRefs, err := r.references() if err != nil { return err -- cgit