| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* format/packfile: implement delta encoding
- Added all the logic to the encoder to be able to encode ref-delta and offset-delta objects
- Created plumbing.ObjectToPack to handle deltas and standard objects when we are writting them into a packfile
- Added specific encoder delta tests, one standard object and one delta, and one standard object and two deltas
* Requested changes.
* Requested changes
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* packfile: delta diff implementation
- Renamed delta.go to patch_delta.go
- Added diff_delta.go file
- Added tests that creates a diff and then tries to patch it
* Requested changes
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
git 1.8 used to write a leading space in the capabilities
announcement for git-receive-pack. We now trim spaces before
decoding a capabilities list to be more tolerant about
this kind of difference.
|
|
|
|
|
|
|
|
| |
(#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
* changes
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* plumbing/protocol: paktp avoid duplication of haves, wants and shallow
* protocol/pakp: UploadPackResponse implementation
* changes
* changes
* changes
* debug
* changes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* protocol/packp: remove redundant isFlush check on AdvRefs.
* protocol/packp: improve AdvRefs documentation.
* transport: improve error handling for non-existing repos.
* protocol/packp: AdvRefs Decode now returns different errors for
empty, but syntactically correct, AdvRefs message (ErrEmptyAdvRefs)
and empty input (ErrEmptyInput).
* transport/internal/common: read stderr only when needed (ErrEmptyInput).
Close the client gracefully.
* transport/internal/common: missing stderr on non existing repository
does not block.
* transport/internal/common: buffer error messages.
* transport/file: fix changing binary name, add tests.
* transport/file: support changing git-upload-pack and git-receive-pack
binary names.
* transport/file: add tests for misbehaving servers.
* transport/internal/common: remove Stderr field.
* transport/internal/common: do not close twice.
|
| |
|
|
|
|
|
| |
* add ReferenceUpdateRequest struct.
* add ReferenceUpdateRequest decoder.
* add ReferenceUpdateRequest encoder.
|
|
|
|
|
|
| |
* protocol/packp: fix Example* func names for AdvRefs.
* protocol/packp: test AdvRefs Encode/Decode, no internal functions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
Calling capability.List's Decode with nil input will have no effect.
This is useful in other decoders, where an empty capability list is
received as an empty byte slice.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* format/pakp: sideband demuxer
* format/pakp: sideband muxer
* format/pakp: sideband demuxer and muxer
* protocol/pakp: sideband demuxer and muxer
* documentation and improvements
* improvements
* handle scan errors properly
|
| |
|
|
|
|
|
|
|
|
|
|
| |
improvements (#144)
* protocol/pakp: capabilities new Capability entity and List struct, test improvements
* etc: example cloud-config file
* removing sorting from List.String
|
|
|
|
|
| |
* transport: move common packp protocol out of ssh transport.
* fixtures: add fixture for empty repository.
* transport: add file:// transport
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* move: format/packp -> protocol/packp
* format/packp -> protocol/packp
* format/packp/pktline -> format/pktline.
* move: protocol/packp/ulreq/* -> protocol/packp/*
* protocol/packp: rename UlReq types to make them unique.
* * protocol/packp: namespace UlReq encoder.
* protocol/packp: namespace UlReq decoder.
* protocol/packp: fix example names
* move: protocol/packp/advrefs/* -> protocol/packp/*
* further ulreq namespacing
* protocol/packp: namespace AdvRefs types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
* plumbing/packfile: PACK encoder
- Added simple PACK encoder, deltas not supported by now
* Requested changes
* Requested changes
* Requested changes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
improvements (#130)
* plumbing: format, packfile fix issue #129, related #124
* plumbing: format, packfile documentation improvements
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* new http client factory ready to install/override default http(s)
* mv GitUploadPackServiceFactory to clients.common pkg
* rename http.HTTPError to http.Err
* rename http.HTTPAuthMethod to http.AuthMethod
* add doc and examples/ usage
* general improvements:
- update install link in readme to v4 (example are already pointing v4)
- fix indentation in package doc (styling for godoc.org)
- use http.Status constants instead of integers
- close leaked response body
- rm named returns which stutter in doc
- fix one format string
- rm unnecessary if checks
- documentation fixes
|
|
|
|
|
|
| |
* add test for non-seekable packfiles
* packfile: do not throw away the newly created transactioner
|
|
* plumbing: now core was renamed to core, and formats and clients moved inside
|