aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/file
diff options
context:
space:
mode:
Diffstat (limited to 'plumbing/transport/file')
-rw-r--r--plumbing/transport/file/client.go15
-rw-r--r--plumbing/transport/file/receive_pack_test.go6
-rw-r--r--plumbing/transport/file/server.go6
-rw-r--r--plumbing/transport/file/upload_pack_test.go6
4 files changed, 16 insertions, 17 deletions
diff --git a/plumbing/transport/file/client.go b/plumbing/transport/file/client.go
index 5484009..e3f7681 100644
--- a/plumbing/transport/file/client.go
+++ b/plumbing/transport/file/client.go
@@ -28,13 +28,18 @@ func NewClient(uploadPackBin, receivePackBin string) transport.Transport {
})
}
-func (r *runner) Command(cmd string, ep transport.Endpoint) (common.Command, error) {
+func (r *runner) Command(cmd string, ep transport.Endpoint, auth transport.AuthMethod) (common.Command, error) {
switch cmd {
case transport.UploadPackServiceName:
cmd = r.UploadPackBin
case transport.ReceivePackServiceName:
cmd = r.ReceivePackBin
}
+
+ if _, err := exec.LookPath(cmd); err != nil {
+ return nil, err
+ }
+
return &command{cmd: exec.Command(cmd, ep.Path)}, nil
}
@@ -43,14 +48,6 @@ type command struct {
closed bool
}
-func (c *command) SetAuth(auth transport.AuthMethod) error {
- if auth != nil {
- return transport.ErrInvalidAuthMethod
- }
-
- return nil
-}
-
func (c *command) Start() error {
return c.cmd.Start()
}
diff --git a/plumbing/transport/file/receive_pack_test.go b/plumbing/transport/file/receive_pack_test.go
index c07d4ed..1858492 100644
--- a/plumbing/transport/file/receive_pack_test.go
+++ b/plumbing/transport/file/receive_pack_test.go
@@ -46,7 +46,7 @@ func (s *ReceivePackSuite) TestCommandNoOutput(c *C) {
}
client := NewClient("true", "true")
- session, err := client.NewReceivePackSession(s.Endpoint)
+ session, err := client.NewReceivePackSession(s.Endpoint, s.EmptyAuth)
c.Assert(err, IsNil)
ar, err := session.AdvertisedReferences()
c.Assert(err, IsNil)
@@ -59,7 +59,7 @@ func (s *ReceivePackSuite) TestMalformedInputNoErrors(c *C) {
}
client := NewClient("yes", "yes")
- session, err := client.NewReceivePackSession(s.Endpoint)
+ session, err := client.NewReceivePackSession(s.Endpoint, s.EmptyAuth)
c.Assert(err, IsNil)
ar, err := session.AdvertisedReferences()
c.Assert(err, NotNil)
@@ -69,7 +69,7 @@ func (s *ReceivePackSuite) TestMalformedInputNoErrors(c *C) {
func (s *ReceivePackSuite) TestNonExistentCommand(c *C) {
cmd := "/non-existent-git"
client := NewClient(cmd, cmd)
- session, err := client.NewReceivePackSession(s.Endpoint)
+ session, err := client.NewReceivePackSession(s.Endpoint, s.EmptyAuth)
c.Assert(err, ErrorMatches, ".*no such file or directory.*")
c.Assert(session, IsNil)
}
diff --git a/plumbing/transport/file/server.go b/plumbing/transport/file/server.go
index d83d5d9..74085c2 100644
--- a/plumbing/transport/file/server.go
+++ b/plumbing/transport/file/server.go
@@ -19,7 +19,8 @@ func ServeUploadPack(path string) error {
return err
}
- s, err := server.DefaultServer.NewUploadPackSession(ep)
+ // TODO: define and implement a server-side AuthMethod
+ s, err := server.DefaultServer.NewUploadPackSession(ep, nil)
if err != nil {
return fmt.Errorf("error creating session: %s", err)
}
@@ -36,7 +37,8 @@ func ServeReceivePack(path string) error {
return err
}
- s, err := server.DefaultServer.NewReceivePackSession(ep)
+ // TODO: define and implement a server-side AuthMethod
+ s, err := server.DefaultServer.NewReceivePackSession(ep, nil)
if err != nil {
return fmt.Errorf("error creating session: %s", err)
}
diff --git a/plumbing/transport/file/upload_pack_test.go b/plumbing/transport/file/upload_pack_test.go
index de232c4..d9adee2 100644
--- a/plumbing/transport/file/upload_pack_test.go
+++ b/plumbing/transport/file/upload_pack_test.go
@@ -52,7 +52,7 @@ func (s *UploadPackSuite) TestCommandNoOutput(c *C) {
}
client := NewClient("true", "true")
- session, err := client.NewUploadPackSession(s.Endpoint)
+ session, err := client.NewUploadPackSession(s.Endpoint, s.EmptyAuth)
c.Assert(err, IsNil)
ar, err := session.AdvertisedReferences()
c.Assert(err, IsNil)
@@ -65,7 +65,7 @@ func (s *UploadPackSuite) TestMalformedInputNoErrors(c *C) {
}
client := NewClient("yes", "yes")
- session, err := client.NewUploadPackSession(s.Endpoint)
+ session, err := client.NewUploadPackSession(s.Endpoint, s.EmptyAuth)
c.Assert(err, IsNil)
ar, err := session.AdvertisedReferences()
c.Assert(err, NotNil)
@@ -75,7 +75,7 @@ func (s *UploadPackSuite) TestMalformedInputNoErrors(c *C) {
func (s *UploadPackSuite) TestNonExistentCommand(c *C) {
cmd := "/non-existent-git"
client := NewClient(cmd, cmd)
- session, err := client.NewUploadPackSession(s.Endpoint)
+ session, err := client.NewUploadPackSession(s.Endpoint, s.EmptyAuth)
c.Assert(err, ErrorMatches, ".*no such file or directory.*")
c.Assert(session, IsNil)
}