aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/protocol/packp/capability/capability.go
diff options
context:
space:
mode:
author🚀 Steven Ewing 🌌 <steven.ewing@coinbase.com>2022-05-20 14:05:47 -0700
committerMáximo Cuadros <mcuadros@gmail.com>2022-09-22 10:21:19 +0200
commit36e1f5b74cb7fc57e6bbbcfeca66eb79a644c86b (patch)
tree896e134b87ba349c4a99b3f6f4f819baff1d368b /plumbing/protocol/packp/capability/capability.go
parentc35b8082c863f2106de1c3c95ba9ed21d30f9371 (diff)
downloadgo-git-36e1f5b74cb7fc57e6bbbcfeca66eb79a644c86b.tar.gz
plumbing: packp and server, Include the contents of `GO_GIT_USER_AGENT_EXTRA` as the git user agent. Fixes #529
Diffstat (limited to 'plumbing/protocol/packp/capability/capability.go')
-rw-r--r--plumbing/protocol/packp/capability/capability.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/plumbing/protocol/packp/capability/capability.go b/plumbing/protocol/packp/capability/capability.go
index 8714412..b52e8a4 100644
--- a/plumbing/protocol/packp/capability/capability.go
+++ b/plumbing/protocol/packp/capability/capability.go
@@ -1,6 +1,11 @@
// Package capability defines the server and client capabilities.
package capability
+import (
+ "fmt"
+ "os"
+)
+
// Capability describes a server or client capability.
type Capability string
@@ -238,7 +243,15 @@ const (
Filter Capability = "filter"
)
-const DefaultAgent = "go-git/5.x"
+const userAgent = "go-git/5.x"
+
+// DefaultAgent provides the user agent string.
+func DefaultAgent() string {
+ if envUserAgent, ok := os.LookupEnv("GO_GIT_USER_AGENT_EXTRA"); ok {
+ return fmt.Sprintf("%s %s", userAgent, envUserAgent)
+ }
+ return userAgent
+}
var known = map[Capability]bool{
MultiACK: true, MultiACKDetailed: true, NoDone: true, ThinPack: true,