Skip to content
This repository was archived by the owner on Sep 11, 2020. It is now read-only.

Commit 2d02297

Browse files
authored
Merge pull request #451 from smola/hotfix-unknown-capabilities
capability: accept unknown capabilities, fixes #450
2 parents 7e73365 + cb55d39 commit 2d02297

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

plumbing/protocol/packp/capability/list.go

-6
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import (
88
)
99

1010
var (
11-
// ErrUnknownCapability is returned if a unknown capability is given
12-
ErrUnknownCapability = errors.New("unknown capability")
1311
// ErrArgumentsRequired is returned if no arguments are giving with a
1412
// capability that requires arguments
1513
ErrArgumentsRequired = errors.New("arguments required")
@@ -119,10 +117,6 @@ func (l *List) Add(c Capability, values ...string) error {
119117
}
120118

121119
func (l *List) validate(c Capability, values []string) error {
122-
if _, ok := valid[c]; !ok {
123-
return ErrUnknownCapability
124-
}
125-
126120
if requiresArgument[c] && len(values) == 0 {
127121
return ErrArgumentsRequired
128122
}

plumbing/protocol/packp/capability/list_test.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,11 @@ func (s *SuiteCapabilities) TestDecodeWithEqual(c *check.C) {
5858
c.Assert(cap.Get(Agent), check.DeepEquals, []string{"foo=bar"})
5959
}
6060

61-
func (s *SuiteCapabilities) TestDecodeWithErrUnknownCapability(c *check.C) {
61+
func (s *SuiteCapabilities) TestDecodeWithUnknownCapability(c *check.C) {
6262
cap := NewList()
6363
err := cap.Decode([]byte("foo"))
64-
c.Assert(err, check.Equals, ErrUnknownCapability)
64+
c.Assert(err, check.IsNil)
65+
c.Assert(cap.Supports(Capability("foo")), check.Equals, true)
6566
}
6667

6768
func (s *SuiteCapabilities) TestString(c *check.C) {
@@ -133,10 +134,11 @@ func (s *SuiteCapabilities) TestAdd(c *check.C) {
133134
c.Assert(cap.String(), check.Equals, "symref=foo symref=qux thin-pack")
134135
}
135136

136-
func (s *SuiteCapabilities) TestAddErrUnknownCapability(c *check.C) {
137+
func (s *SuiteCapabilities) TestAddUnknownCapability(c *check.C) {
137138
cap := NewList()
138139
err := cap.Add(Capability("foo"))
139-
c.Assert(err, check.Equals, ErrUnknownCapability)
140+
c.Assert(err, check.IsNil)
141+
c.Assert(cap.Supports(Capability("foo")), check.Equals, true)
140142
}
141143

142144
func (s *SuiteCapabilities) TestAddErrArgumentsRequired(c *check.C) {

0 commit comments

Comments
 (0)