aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* config: fix TestUnmarshallMarshall testMáximo Cuadros2017-01-301-4/+1
|
* Merge pull request #227 from mcuadros/submodulesMáximo Cuadros2017-01-305-98/+389
|\ | | | | config: marshal and unmarshal done inside of the package, and submodules config file
| * config: documentation improvementsMáximo Cuadros2017-01-304-34/+45
| |
| * config: modules, marshal and unmarshal implementationMáximo Cuadros2017-01-262-20/+160
| |
| * config: marshal and unmarshal implementationMáximo Cuadros2017-01-263-95/+169
| |
| * config: git modules configMáximo Cuadros2017-01-262-0/+66
| |
* | adds Tree method to Tree (#224)Alberto Cortés2017-01-262-5/+57
|/ | | | | | | | This patch adds a new method to the Tree object that allows you to get a child tree from a parent tree by its relative name. Before this patch, this was only possible with files, using the File method. The new Tree method has a similar signature to the old File method for consistency.
* packfile: cache undeltified objects to improve decode performance (#218)Antonio Navarro Perez2017-01-255-8/+248
| | | | | * Simple object cache that keeps in memory the last undeltified objects. When no more objects can be kept into memory, the oldest one is deleted (FIFO). This speeds up packfile operations preventing redundant seeks and decodes.
* transport/http: fix partial request with haves. Fix #216. (#221)Antonio Navarro Perez2017-01-257-8/+32
|
* fixtures: support more than one source folder (fix #217) (#219)Antonio Navarro Perez2017-01-231-7/+18
| | | | | GOPATH can contain more than one folder separated by ':'. To check it correctly, we use SrcDirs() method to be able to check into all the source folders if fixtures exists.
* fixtures: initialize fixtures into separated methods (#214)v4.0.0-rc7Antonio Navarro Perez2017-01-191-5/+19
| | | | | To be able to use fixtures with other test frameworks than go-check, we created two methods, one to set fixtures path correctly, and another to remove all the temporal data created when testing.
* blame: make line and its members public so they can be actually used (#213)Alberto Cortés2017-01-192-14/+15
|
* test: restore default protocol. (#215)Santiago M. Mola2017-01-181-3/+15
| | | | | | BaseSuite sets the https protocol to nil. This can affect other unrelated suites. This commit changes BaseSuite to restore the https protocol during the tear down phase.
* transport: remove SetAuth, fixes #206 (#210)Anthony Weems2017-01-1722-127/+116
| | | | | * remove SetAuth functions, implement at NewUploadPackSession/NewReceivePackSession level. * propagate transport.Auth from Fetch/Pull/Clone options to the transport API.
* repository: fix pull when fetch returns up-to-date (#207)Máximo Cuadros2017-01-162-26/+93
|
* fixtures: new fixture with multiple root commits (#212)Antonio Navarro Perez2017-01-161-0/+7
|
* remote: fix empty-git-upload-pack error in fetch, when the reference points ↵Máximo Cuadros2017-01-122-3/+15
| | | | to a non-commit object (#209)
* packfile/decoder: speed up packfile iterator when specific type (#200)Antonio Navarro Perez2017-01-124-28/+204
|
* packfile/scanner: reset zlib reader instead of new one (#201)Antonio Navarro Perez2017-01-121-5/+20
|
* doc: clarify return values of Pull/Fetch. (#205)Santiago M. Mola2017-01-122-1/+7
|
* plumbing: fix signature with `>` before `<` parsing (#204)Máximo Cuadros2017-01-092-2/+16
|
* server: add git server implementation (#190)Santiago M. Mola2017-01-0443-308/+1641
| | | | | | | | | | | | | | | * 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.
* remote: add Push (#178)Santiago M. Mola2016-12-1912-33/+565
| | | | | | | | | | | | * remote: add Push. * add Push method to Remote. * add method Push to Repository. * examples: add push example. * requested changes * add tests, fixes
* fix typo in docs for plumbing/difftree/internal/merkletrie/iter.go (#192)Miguel Molina2016-12-191-1/+1
|
* fix plumbing/difftree package name (#191)v4.0.0-rc6Santiago M. Mola2016-12-192-2/+2
|
* Extract billy (#173)Sergio Arbeo2016-12-1918-1183/+46
| | | | | | | | | | | | | | | * Extract billy Billy is a new library directly extracted from go-git. It abstract several storages systems in a filesystem interface. More in github.com/src-d/billy * Fix grouping in imports block * Update billy to v1 * Re-remove fs_implementation example
* README and examples progressv4.0.0-rc5Máximo Cuadros2016-12-164-15/+48
|
* remote: make Fetch atomic. (#185)Santiago M. Mola2016-12-165-273/+283
| | | | | | | * Remote now exposes only Fetch. No Connect, Disconnect, etc. * Repository uses a private fetch method in Remote for Clone/Pull. * getting capabilities, HEAD or other information from remote requires using the lower level client. * add Fetch method to Repository.
* packfile: delta selection logic (#182)Antonio Navarro Perez2016-12-1610-112/+474
| | | | | | | | | | * packfile: delta selection logic - Implemented logic to assign deltas to objects * Requested changes * Improved tests and fix errors
* Improve Tag test coverage. (#188)Antonio Navarro Perez2016-12-152-9/+109
|
* storage: shallow storage (#180)Máximo Cuadros2016-12-1511-1/+240
| | | | | | | | * storage: shallow storage * changes * changes
* transport: ssh, keeping the original path (#189)Máximo Cuadros2016-12-151-4/+1
|
* .travis CI with multiple git versionsMáximo Cuadros2016-12-152-5/+35
|
* protocol/packp: use ReferenceName type for Command.Name. (#187)Santiago M. Mola2016-12-154-24/+27
|
* move plumbing from top level package to plumbing (#183)Santiago M. Mola2016-12-1464-771/+974
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * plumbing: rename Object -> EncodedObject. * plumbing/storer: rename ObjectStorer -> EncodedObjectStorer. * move difftree to plumbing/difftree. * move diff -> utils/diff * make Object/Tag/Blob/Tree/Commit/File depend on storer. * Object and its implementations now depend only on storer.EncodedObjectStorer, not git.Repository. * Tests are decoupled accordingly. * move Object/Commit/File/Tag/Tree to plumbing/object. * move Object/Commit/File/Tag/Tree to plumbing/object. * move checkClose to utils/ioutil. * move RevListObjects to plumbing/revlist.Objects. * move DiffTree to plumbing/difftree package. * rename files with plural nouns to singular * plumbing/object: add GetBlob/GetCommit/GetTag/GetTree.
* packfile: improve delta copy operation encoding code (#186)Antonio Navarro Perez2016-12-141-31/+13
|
* format/packfile: implement delta encoding (#172)Antonio Navarro Perez2016-12-147-25/+352
| | | | | | | | | | | | * 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
* readme and log example (#181)Máximo Cuadros2016-12-132-133/+79
| | | | | | | | * readme and log example * changes * changes
* transport/git: fix pktline encode and timeoutMáximo Cuadros2016-12-121-8/+3
|
* plumbing/transport/git: fix import (#179)Santiago M. Mola2016-12-121-1/+1
|
* config: Config, bare flag (#177)Máximo Cuadros2016-12-125-16/+86
| | | | | | | | * config.Config: bare flag * changes * changes
* transport: new git protocol (#175)Máximo Cuadros2016-12-1210-37/+272
|
* examples: review, testing and documentation (#176)Máximo Cuadros2016-12-1213-543/+293
| | | | | | | | | | * examples reviews, testing and documentation * including the execution on travis, and fix readme * fix example link * including the execution on travis
* fixtures: fix empty repository fixture .git (#171)Santiago M. Mola2016-12-121-1/+1
| | | | | | Previous fixture for empty.git was created with clone without --bare. That was not valid for push tests. Replaced with a .git created with git init --bare.
* packfile: delta diff implementation (#159)Antonio Navarro Perez2016-12-094-0/+637
| | | | | | | | | | * 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
* Update LICENSE (#174)Sergio Arbeo2016-12-091-1/+1
|
* transport: add git-send-pack support to local/ssh. (#163)Santiago M. Mola2016-12-0919-62/+692
| | | | | | | | | * 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.
* packp/capability: trim spaces on capabilities decode. (#170)Santiago M. Mola2016-12-092-0/+14
| | | | | | 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.
* fixtures: always returna a new directory with DotGit. (#169)Santiago M. Mola2016-12-081-9/+6
| | | | | | | DotGit now creates a new temporary directory on every call. This allows test to easily get multiple copies of the same repository (e.g. to test fetch/push cases). It also ensures that tests do not have side effects on other tests unless they share the path from the same DotGit call.
* plumbing/transport: allow AdvertisedReferences being called multiple times. ↵Santiago M. Mola2016-12-085-31/+23
| | | | | | | | (#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.