aboutsummaryrefslogtreecommitdiffstats
path: root/clients
Commit message (Collapse)AuthorAgeFilesLines
* new plumbing package (#118)Máximo Cuadros2016-11-0812-1639/+0
| | | * plumbing: now core was renamed to core, and formats and clients moved inside
* gofmt simplify (#111)ferhat elmas2016-11-071-1/+1
|
* global storage interface refactor (#112)Máximo Cuadros2016-11-071-3/+2
| | | | | | | | | | | * core: ObjectStorage, ReferenceStorage renamed to ObjectStorer and ReferenceStorer * rebase * general, changes request by @alcortes * general, changes request by @alcortes
* clients: common, initialize Refs in GitUploadPackInfoMáximo Cuadros2016-11-051-1/+4
|
* ulreq: adds encoder and decoder for upload-request messages (#106)Alberto Cortés2016-11-022-34/+110
| | | | | | * ulreq: adds encoder and decoder for upload-request messages * ulreq: stop using _test suffix for testing package names (@mcuadros comment)
* Fix ssh workflow (#96)Alberto Cortés2016-10-272-52/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix #80 We were sending an additional `\n` to the server when sending the upload request, see clients/ssh/git_upload_pack.go:174: fmt.Fprintln(si, r.String()) The reason for this was to flush the input stream, otherwise, the message was not send to the server. Also, we were (and still are) not checking remote execution errors, so we were unaware of this error, reading the first portion of the packfile as if nothing were wrong. On the few ocasions when the server was quick enough to fail before sending the full packfile, one of our tests (the one that checks the received packfile size) failed. We were also escaping the repository name in the remote command execution string incorrectly. Now we are: - using ssh.Run to run the remote command, instead of start and wait, which is the same but simpler. - using io.Copy instead of fmt.Fprintln, so we avoid adding and extra EOL and also we don't use a line buffered stream. and we no longer have to flush it. - we are closing the input stream as soon as possible, so the remote command can exit also as soon as possible. - the remote command escape character (') is used correctly * WIP * ssh: return remote command exit value when closing the packfile stream
* Use advrefs in gituploadpackinfo (#92)Alberto Cortés2016-10-264-247/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add advrefs encoder and parser * modify advrefs encoder to resemble json encoder * turn advrefs parser into a decoder * clean code * improve documentation * improve documentation * clean code * upgrade to new pktline.Add and add Flush const to easy integration * gometalinter * Use packp/advrefs for GitUploadPackInfo parsing - GitUploadPackInfo now uses packp/advrefs instead of parsing the message by itself. - Capabilities has been moved from clients/common to packp to avoid a circular import. - Cleaning of advrefs_test code. - Add support for prefix encoding and decoding in advrefs. * clean advrefs test code * clean advrefs test code * clean advrefs test code * gometalinter * add pktline encoder * change pktline.EncodeFlush to pktline.Flush * make scanner tests use the encoder instead of Pktlines * check errors on flush and clean constants * ubstitute the PktLines type with a pktline.Encoder * use pktline.Encoder in all go-git * add example of pktline.Encodef() * add package overview * documentation * support symbolic links other than HEAD * simplify decoding of shallows * packp: fix mcuadros comments - all abbreviates removed (by visual inspection, some may remain) - all empty maps are initialized using make - simplify readRef with a switch - make decodeShallow malformed error more verbose - add pktline.Encoder.encodeLine - remove infamous panic in checkPayloadLength by refactoring out the whole function
* Fix pktline api (#89)v4.0.0-rc1Alberto Cortés2016-10-191-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change pktline API so you can add payloads The old pktline API only had one method: New, that receives the payloads and return the new PktLine, that was an io.Reader. This means you have to prepare the contents beforehand, in a [][]byte and then call the ctor to build the pktlines. Now, the construction of the pktlines and the method to add payloads are separated: New() // creates an empty PktLines AddFlush() Add(pp ...[]byte) AddString(pp ...string) and a PktLines has a public member R, which is the io.Reader of the pktlines added. * metalinter * change package name from pktlines to pktline * change package name from pktlines to pktline for true * make pktlines a reader instead of have a reader
* Substitute old pktline encoder/decoder with new pktline scanner (#84)Alberto Cortés2016-10-184-48/+69
| | | | | | | | | | | | | | | | * replace old pktline package with new pktline scanner * remove error checks on pktline.NewFromString * fix deppend bug * reduce memory garbage when pktline.NewFromStrings * improve int to hex conversion to help gc * make intToHex func private * clean function names
* clients: ssh, check instead of assert, sinced is a wellknown bugMáximo Cuadros2016-09-221-1/+3
|
* doc packagesMáximo Cuadros2016-09-012-5/+7
|
* clients: default Auth methodsMáximo Cuadros2016-08-318-59/+114
|
* clients/common: GitUploadPackInfo correct handling capabilities and symrefsMáximo Cuadros2016-08-312-26/+39
|
* clients/http: better error handlingMáximo Cuadros2016-08-256-16/+77
|
* clients/ssh: test fixMáximo Cuadros2016-08-243-150/+72
|
* Remote.Fetch base on RefSpec, improvement of the responsabilities separationMáximo Cuadros2016-08-193-0/+9
|
* clients/http: fix testsMáximo Cuadros2016-08-181-1/+1
|
* clients/common: Endpoint SCP like supportMáximo Cuadros2016-08-162-0/+23
|
* Repository.Clone and Remote.Fetch remote, local branches and client: correct ↵Máximo Cuadros2016-08-153-3/+38
| | | | header read
* clients: new Endpoint implementation and InstallProtocol functionMáximo Cuadros2016-08-139-162/+129
|
* Repository and Remote API changesMáximo Cuadros2016-08-133-17/+7
|
* general: usage of the new Reference objectsMáximo Cuadros2016-08-122-16/+50
|
* storage: seekable renamed to filesystemMáximo Cuadros2016-08-111-1/+1
|
* core: new MemoryObject, move from memory.Object, packfile.Parser, base on ↵Máximo Cuadros2016-08-111-1/+0
| | | | new ObjectStorage interface
* v3 -> v4Máximo Cuadros2016-08-1110-20/+20
|
* Fix #62 (#66)Vadim Markovtsev2016-08-101-1/+1
|
* Adds support to open local repositories and to use file-based object storage ↵v3.1.0Alberto Cortés2016-07-044-15/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#55) * remove some comments * idx writer/reader * Shut up ssh tests, they are annoying * Add file scheme test to clients * Add dummy file client * Add test fot file client * Make tests use fixture endpoint * add parser for packed-refs format * add parser for packed-refs format * WIP adding dir.Refs() tests * Add test for fixture refs * refs parser for the refs directory * Documentation * Add Capabilities to file client * tgz.Exatract now accpets a path instead of a Reader * fix bug in idxfile fanout calculation * remove dead code * packfile documentation * clean packfile parser code * add core.Object.Content() and returns errors for core.ObjectStorage.Iter() * add seekable storage * add dir repos to NewRepository * clean prints * Add dir client documentation to README * Organize the README * README * Clean tgz package * Clean temp dirs after tgz tests * Gometalinter on gitdir * Clean pattern function * metalinter tgz * metalinter gitdir * gitdir coverage and remove seekable packfile filedescriptor leak * gitdir Idxfile tests and remove file descriptor leak * gitdir Idxfile tests when no idx is found * clean storage/seekable/internal/index and some formats/idxfile API issues * clean storage/seekable * clean formats/idx * turn packfile/doc.go into packfile/doc.txt * move formats/packfile/reader to decoder * fix packfile decoder error names * improve documentation * comment packfile decoder errors * comment public API (format/packfile) * remve duplicated code in packfile decoder test * move tracking_reader into an internal package and clean it * use iota for packfile format * rename packfile parse.go to packfile object_at.go * clean packfile deltas * fix delta header size bug * improve delta documentation * clean packfile deltas * clean packfiles deltas * clean repository.go * Remove go 1.5 from Travis CI Because go 1.5 does not suport internal packages. * change local repo scheme to local:// * change "local://" to "file://" as the local scheme * fix broken indentation * shortens names of variables in short scopes * more shortening of variable names * more shortening of variable names * Rename git dir client to "file", as the scheme used for it * Fix file format ctor name, now that the package name has change * Sortcut local repo constructor to not use remotes The object storage is build directly in the repository ctor, instead of creating a remote and waiting for the user to pull it. * update README and fix some errors in it * remove file scheme client * Local respositories has now a new ctor This is, they are no longer identified by the scheme of the URL, but are created different from inception. * remove unused URL field form Repository * move all git dir logic to seekable sotrage ctor * fix documentation * Make formats/file/dir an internal package to storage/seekable * change package storage/seekable to storage/fs * clean storage/fs * overall storage/fs clean * more cleaning * some metalinter fixes * upgrade cshared to last changes * remove dead code * fix test error info * remove file scheme check from clients * fix test error message * fix test error message * fix error messages * style changes * fix comments everywhere * style changes * style changes * scaffolding and tests for local packfiles without ifx files * outsource index building from packfile to the packfile decoder * refactor packfile header reading into a new function * move code to generate index from packfile back to index package * add header parsing * fix documentation errata * add undeltified and OFS delta support for index building from the packfile * add tests for packfile with ref-deltas * support for packfiles with ref-deltas and no idx * refactor packfile format parser to reuse code * refactor packfile format parser to reuse code * refactor packfile format parser to reuse code * refactor packfile format parser to reuse code * refactor packfile format parser to reuse code * WIP refactor packfile format parser to reuse code * refactor packfile format parser to reuse code * remove prints from tests * remove prints from tests * refactor packfile.core into packfile.parser * rename packfile reader to something that shows it is a recaller * rename cannot recall error * rename packfile.Reader to packfile.ReadRecaller and document * speed up test by using StreamReader instead of SeekableReader when possible * clean packfile StreamReader * stream_reader tests * refactor packfile.StreamReader into packfile.StreamReadRecaller * refactor packfile.SeekableReader into packfile.SeekableReadRecaller and document it * generalize packfile.StreamReadRecaller test to all packfile.ReadRecaller implementations * speed up storage/fs tests * speed up tests in . by loading packfiles in memory * speed up repository tests by using and smaller fixture * restore doc.go files * rename packfile.ReadRecaller implementations to shorter names * update comments to type changes * packfile.Parser test (WIP) * packfile.Parser tests and add ForgetAll() to packfile.ReadRecaller * add test for packfile.ReadRecaller.ForgetAll() * clarify seekable being able to recallByOffset forgetted objects * use better names for internal maps * metalinter packfile package * speed up some tests * documentation fixes * change storage.fs package name to storage.proxy to avoid confusion with new filesystem support * New fs package and os transparent implementation Now NewRepositoryFromFS receives a fs and a path and tests are modified accordingly, but it is still not using for anything. * add fs to gitdir and proxy.store * reduce fs interface for easier implementation * remove garbage dirs from tgz tests * change file name gitdir/dir.go to gitdir/gitdir.go * fs.OS tests * metalinter utils/fs * add NewRepositoryFromFS documentation to README * Readability fixes to README * move tgz to an external dependency * move filesystem impl. example to example dir * rename proxy/store.go to proxy/storage.go for coherence with memory/storage.go * rename proxy package to seekable
* fix misspellingsv3.0.4Máximo Cuadros2016-05-191-2/+2
|
* update imports to v3Máximo Cuadros2016-02-1710-20/+20
|
* remove package docv2.2.0Máximo Cuadros2016-02-162-0/+2
|
* fix typoShawn Smith2016-02-171-1/+1
|
* clients: skip ssh test when SSH_AUTH_SOCK is not presentMáximo Cuadros2016-02-132-10/+16
|
* clients: cleanupMáximo Cuadros2016-02-111-17/+10
|
* clients: removing url from the clients constructorMáximo Cuadros2016-02-116-46/+47
|
* Add install protocols capabilities to GitUploadPackServiceAlberto Cortés2015-12-177-70/+131
|
* Add client selection based on repo URL schemeAlberto Cortés2015-12-163-2/+90
|
* blame code reorganization, and mutting the testMáximo Cuadros2015-12-121-16/+0
|
* Merge pull request #5 from alcortesm/sshMáximo Cuadros2015-11-174-0/+670
|\ | | | | Ssh client for go-git
| * ssh clientAlberto Cortés2015-11-174-0/+670
| |
* | client/common: fix empty panic on set at empty capabilityMáximo Cuadros2015-11-172-1/+11
|/
* common: GitUploadPackRequest Want, Have methodsMáximo Cuadros2015-11-103-18/+19
|
* clients: GitUploadPackInfo head changeMáximo Cuadros2015-11-054-14/+28
|
* clients: new AuthMethod and ConnectWithAuthMáximo Cuadros2015-11-055-9/+87
|
* clients: capabilities improvement and info headMáximo Cuadros2015-11-052-4/+23
|
* clients: capabilities improvementMáximo Cuadros2015-11-014-56/+90
|
* internal -> coreMáximo Cuadros2015-10-315-57/+27
|
* clients: Capabilities parsing improvement and GitUploadPackInfo encodingMáximo Cuadros2015-10-312-17/+97
|
* client: handly empty repositoriesMáximo Cuadros2015-10-302-1/+18
|
* clients: helpful error handlingMáximo Cuadros2015-10-284-8/+88
|
* objects: using readers from internal.ObjectMáximo Cuadros2015-10-263-10/+26
|