aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/server
Commit message (Collapse)AuthorAgeFilesLines
* Expose Storage cache.kuba--2018-09-072-3/+4
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* all: remove some unused codeDaniel Martí2018-03-011-11/+0
| | | | Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
* update to go-billy.v4 and go-git-fixtures.v3Máximo Cuadros2017-11-232-3/+3
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* *: add pointer to the new transport.Endpoint structMáximo Cuadros2017-11-216-40/+22
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* config: support a configurable, and turn-off-able, pack.windowJeremy Stribling2017-09-111-1/+2
| | | | | | | | | | | | | | | | | | | | One use of go-git is to transfer git data from a non-standard git repo (not stored in a file system, for example) to a "remote" backed by a standard, local .git repo. In this scenario, delta compression is not needed to reduce transfer time over the "network", because there is no network. The underlying storage layer has already taken care of the data tranfer, and sending the objects to local .git storage doesn't require compression. So this PR gives the user the option to turn off compression when it isn't needed. Of course, this results in a larger, uncompressed local .git repo, but the user can then run git gc or git repack on that repo if they care about the storage costs. Turning the pack window to 0 on reduces total push time of a 36K repo by 50 seconds (out of a pre-PR total of 3m26s).
* transport: context package supportMáximo Cuadros2017-07-252-4/+13
|
* plumbing: transport server, remove letfoverMáximo Cuadros2017-07-191-3/+0
|
* plumbing: server, fix loader in windowsMáximo Cuadros2017-07-181-1/+4
|
* Merge pull request #476 from smola/server-as-clientMáximo Cuadros2017-07-113-7/+49
|\ | | | | transport/server: add asClient parameter
| * transport/server: add NewClientSantiago M. Mola2017-07-113-7/+49
| | | | | | | | | | | | server.NewClient returns a server that acts as a client. This makes it working seamlessly when registering a server directly with `client.InstallProtocol`.
* | improve delete support on pushSantiago M. Mola2017-07-112-37/+12
|/ | | | | | | | | | | | | | | | | | | | | | | * server: implement delete-refs and announce it. * remote: check if server announced delete-refs before trying to delete and fail fast if it does not. Note that the client does not need no send 'delete-refs' back to the server to be able to delete references: ``` delete-refs ----------- If the server sends back the 'delete-refs' capability, it means that it is capable of accepting a zero-id value as the target value of a reference update. It is not sent back by the client, it simply informs the client that it can be sent zero-id values to delete references. ``` So our server implementation does not check if the client sent delete-refs back, it just accepts deletes if it receives them.
* *: upgrade to go-billy.v3, mergeMáximo Cuadros2017-06-182-17/+15
|
* transport/server: use Endpoint string representation as a map key.Antonio Jesus Navarro Perez2017-05-163-4/+20
| | | | Two endpoints are not equals between them, even if they were generated using the same url or path.
* do not convert local paths to URLSantiago M. Mola2017-04-281-4/+3
| | | | | | | * 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-1/+1
| | | | | * add internal *url.URL implementation for regular URLs. * add internal implementation for SCP-like URLs.
* use go-billy.v2 versionAntonio Jesus Navarro Perez2017-03-101-2/+2
|
* project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-076-22/+22
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* Merge pull request #294 from ajnavarro/improvement/todos-documentationSantiago M. Mola2017-03-011-1/+1
|\ | | | | Remove TODOs from documentation
| * Remove TODOs from documentationAntonio Jesus Navarro Perez2017-02-281-1/+1
| |
* | plumbing/revlist: input as a slice of hashes instead of commitsAntonio Jesus Navarro Perez2017-02-272-22/+2
|/ | | | | | | - Now the input of the method Objects inside revlist package is a slice of hashes instead of commits. Hashes can be from Blobs, Trees and Commits objects. - ObjectStorer now is used to obtain the object content using hashes slice. - This PR fix #222. Now a test into upload_pack_test.go file is not skipped anymore. - Remove code from remote.go and server.go that is not necessary.
* documentation changesMáximo Cuadros2017-01-311-1/+1
|
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-306-21/+21
|
* new git fixture pathMáximo Cuadros2017-01-301-1/+1
|
* rename billy importsMáximo Cuadros2017-01-301-2/+2
|
* transport/http: fix partial request with haves. Fix #216. (#221)Antonio Navarro Perez2017-01-251-0/+5
|
* transport: remove SetAuth, fixes #206 (#210)Anthony Weems2017-01-173-5/+5
| | | | | * 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-046-0/+714
* 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.