diff options
author | Paul T <paul.t@gembaadvantage.com> | 2021-11-02 07:51:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 07:51:10 +0000 |
commit | 411809ddb56551c2420c722acf49ce4e774333ad (patch) | |
tree | 353255c0c4719f39a0e1ff1b9262b98f4aedc91b /plumbing/protocol/packp/updreq_encode.go | |
parent | 51514482c696e7d3aadd551cd1308cedc7055ce0 (diff) | |
parent | 3211a7a12a0ec2922d257fb14f09c6ecfb0b7c77 (diff) | |
download | go-git-411809ddb56551c2420c722acf49ce4e774333ad.tar.gz |
Merge branch 'go-git:master' into codecommit-ref-delta
Diffstat (limited to 'plumbing/protocol/packp/updreq_encode.go')
-rw-r--r-- | plumbing/protocol/packp/updreq_encode.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/plumbing/protocol/packp/updreq_encode.go b/plumbing/protocol/packp/updreq_encode.go index 2545e93..08a819e 100644 --- a/plumbing/protocol/packp/updreq_encode.go +++ b/plumbing/protocol/packp/updreq_encode.go @@ -29,6 +29,12 @@ func (req *ReferenceUpdateRequest) Encode(w io.Writer) error { return err } + if req.Capabilities.Supports(capability.PushOptions) { + if err := req.encodeOptions(e, req.Options); err != nil { + return err + } + } + if req.Packfile != nil { if _, err := io.Copy(w, req.Packfile); err != nil { return err @@ -73,3 +79,15 @@ func formatCommand(cmd *Command) string { n := cmd.New.String() return fmt.Sprintf("%s %s %s", o, n, cmd.Name) } + +func (req *ReferenceUpdateRequest) encodeOptions(e *pktline.Encoder, + opts []*Option) error { + + for _, opt := range opts { + if err := e.Encodef("%s=%s", opt.Key, opt.Value); err != nil { + return err + } + } + + return e.Flush() +} |