aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/common.go
Commit message (Collapse)AuthorAgeFilesLines
* config: add a way to see if a "remote" URL is local or notJeremy Stribling2019-02-111-14/+8
| | | | | | | | This factors out some URL-parsing code from the transport layer so it can be used by config as well. Issue: #909 Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* plubming: transport, Escape the user and password for endpoint. Fixes #723Zachary Romero2018-02-281-2/+2
| | | | Signed-off-by: Zachary Romero <zacromero3@gmail.com>
* plumbing/transport: Fix truncated comment in EndpointOri Rawlings2017-11-271-1/+1
|
* transport: converts Endpoint interface into a structMáximo Cuadros2017-11-211-102/+111
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* Fixed SCP regexJ. Fernando Sánchez2017-09-281-1/+1
| | | | URLs should be user@server:port/path instead of user@server:port:path
* Adds port to SCP EndpointsJ. Fernando Sánchez2017-09-281-3/+11
| | | | | | The port for SCP-like URLs was hardcoded to 22. This commit modifies the regex to find a port (optional), and adds a new test case that covers this scenario.
* transport: context package supportMáximo Cuadros2017-07-251-2/+3
|
* do not convert local paths to URLSantiago M. Mola2017-04-281-2/+27
| | | | | | | * Do not convert local paths to URLs, just keep them as they are. * This way we add support for Windows without taking care of Windows path-to-URL conversion.
* transport: make Endpoint an interface, fixes #362Santiago M. Mola2017-04-271-19/+112
| | | | | * add internal *url.URL implementation for regular URLs. * add internal implementation for SCP-like URLs.
* plumbing: transport, handle 403 in http transportChris Dostert2017-04-101-1/+2
|
* project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-071-3/+3
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-301-3/+3
|
* transport: remove SetAuth, fixes #206 (#210)Anthony Weems2017-01-171-4/+3
| | | | | * remove SetAuth functions, implement at NewUploadPackSession/NewReceivePackSession level. * propagate transport.Auth from Fetch/Pull/Clone options to the transport API.
* server: add git server implementation (#190)Santiago M. Mola2017-01-041-22/+28
| | | | | | | | | | | | | | | * server: add generic server implementation (transport-independent), both for git-upload-pack and git-receive-pack. * server: move internal functions to internal/common. * cli: add git-receive-pack and git-upload-pack implementations. * format/packfile: add UpdateObjectStorage function, extracted from Remote. * transport: implement tranport RPC-like, only with git-upload-pack and git-receive-pack methods. Client renamed to Transport. * storer: add storer.Storer interface. * protocol/packp: add UploadPackResponse constructor with packfile. * protocol/packp: fix UploadPackResponse encoding, add tests. * protocol/packp/capability: implement All.
* transport: add git-send-pack support to local/ssh. (#163)Santiago M. Mola2016-12-091-4/+5
| | | | | | | | | * protocol/packp: add Packfile field to ReferenceUpdateRequest. * protocol/packp: add NewReferenceUpdateRequestFromCapabilities. * NewReferenceUpdateRequestFromCapabilities can be used to create a ReferenceUpdateRequest with initial capabilities compatible with the server. * protocol/packp: fix new line handling on report status. * transport/file: test error on unexisting command.
* plumbing/transport: allow AdvertisedReferences being called multiple times. ↵Santiago M. Mola2016-12-081-10/+3
| | | | | | | | (#165) * AdvertisedReferences is now part of transport.Session. * It is allowed to be called more than once. * It is allowed to be called before and after FetchPack/SendPack. * Implementations cache its result.
* remote: sideband support (#164)Máximo Cuadros2016-12-071-2/+0
| | | | | | * remote: sideband support * changes
* revision based on goreportcard.comMáximo Cuadros2016-12-061-2/+2
|
* protocol/packp: UploadPackResponse implementation (#161)Máximo Cuadros2016-12-061-2/+2
| | | | | | | | | | | | | | | | * plumbing/protocol: paktp avoid duplication of haves, wants and shallow * protocol/pakp: UploadPackResponse implementation * changes * changes * changes * debug * changes
* capabilities: full integration (#151)Máximo Cuadros2016-12-011-0/+20
| | | | | | | | | | | | | | | | | | * format/pktline: fix readPayloadLen err handling * protocol/pakp: UploadReq validation and creation of capabilities * protocol/pakp: AdvRef tests * protocol/pakp: capability.List.Delete * protocol: filter unsupported capabilities * remote capability negociation * transport: UploadRequest validation * requested changes
* transport: add local transport (#145)Santiago M. Mola2016-11-291-1/+2
| | | | | * transport: move common packp protocol out of ssh transport. * fixtures: add fixture for empty repository. * transport: add file:// transport
* remove old types from transport and use packp (#142)Santiago M. Mola2016-11-281-3/+4
| | | | | | | | | | * protocol: move UploadPackRequest to protocol. * UploadPackRequest is now defined as an embedding of UploadRequest and UploadHaves. * Move http encoding specific code from UploadPackRequest to transport/http. * rename UlReq to UploadRequest * packp: move AdvRefs Encoder/Decoder to Encode/Decode methods. * packp: move UploadRequest Encoder/Decoder to Encode/Decode methods. * packp: Remove transport.UploadPackInfo in favor of packp. AdvRefs.
* plumbing/transport: add common tests and fixes. (#136)Santiago M. Mola2016-11-251-0/+3
| | | | | | | | | | | | | | | | | | | * plumbing/transport: add common tests and fixes. * add common test suite for different transport implementations. * fix different behaviour on error handling for ssh and http. fixes issue #123. * support detecting unexisting repositories with SSH + GitHub/Bitbucket (apparently, there is no standard for all SSH servers). * remove ssh.NewClient (only DefaultClient makes sense at the moment). * make ssh.Client and http.Client private. * utils/ioutil: utilities to work with io interfaces. * * transport: test actual objects fetched, not just packfile size. * * fix doc typo. * * improve UploadPackRequest.IsEmpty
* transport: create Client interface (#132)Santiago M. Mola2016-11-231-0/+121
* plumbing: move plumbing/client package to plumbing/transport. * transport: create Client interface. * A Client can instantiate any client transport service. * InstallProtocol installs a Client for a given protocol, instead of just a UploadPackService. * A Client can open a session for fetch-pack or send-pack for a specific Endpoint. * Adapt ssh and http clients to the new client interface. * updated doc