aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/storer
Commit message (Collapse)AuthorAgeFilesLines
* dotgit: add CheckAndSetReference testsJeremy Stribling2017-11-281-0/+4
|
* Use optionally locking when updating refsTaru Karttunen2017-11-271-0/+1
|
* examples,plumbing,utils: typo fixesferhat elmas2017-11-202-4/+4
|
* storage: reuse deltas from packfilesSantiago M. Mola2017-07-271-0/+8
| | | | | | | | | | | | | | | | | | | * plumbing: add DeltaObject interface for EncodedObjects that are deltas and hold additional information about them, such as the hash of the base object. * plumbing/storer: add DeltaObjectStorer interface for object storers that can return DeltaObject. Note that calls to EncodedObject will never return instances of DeltaObject. That requires explicit calls to DeltaObject. * storage/filesystem: implement DeltaObjectStorer interface. * plumbing/packfile: packfile encoder now supports reusing deltas that are already computed (e.g. from an existing packfile) if the storage implements DeltaObjectStorer. Reusing deltas boosts performance of packfile generation (e.g. on push).
* fix gofmtSantiago M. Mola2017-06-131-1/+1
|
* storage/filesystem: call initialization explicitely, fixes #408Santiago M. Mola2017-06-011-0/+8
| | | | | | | | | | | | | filesystem.Storage was initializing the gitdir (creating objects and refs) on NewStorage. But this should be done only on init and clone operations, not on open. Now there is a new interface storer.Initializer that storers can implement if they need any initialization step before init or clone. filesystem.Storage is one of such implementations. git.Init and git.Clone now call to the storer Init() method if it does implement it. Otherwise, it just ignores initialization.
* Merge pull request #296 from ajnavarro/improvement/repositorySantiago M. Mola2017-03-212-1/+161
|\ | | | | git: Repository methods changes
| * Make referenceFilteredIter privateAntonio Jesus Navarro Perez2017-03-061-5/+5
| |
| * git: Repository methods changesAntonio Jesus Navarro Perez2017-03-062-1/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To have a more consistent public API, we decided to rename some methods, and add others: - Commit method renamed to CommitObject - Commits method renamed to CommitObjects - Tree method renamed to TreeObject - Trees method renamed to TreeObjects - Tags method renamed to TagObjects - Tag method renamed to TagObject - Added method Tags that returns tag references - Added method Branches that returns branch references - Added method Notes that returns note references - Added BlobObject method - Added BlobObjects method Also, we added more functionality related to references: - Added iterator to iterate References with a specific filter Some notes: - #298
* | project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-076-6/+6
|/ | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* Merge pull request #288 from ajnavarro/documentation/plumbingMáximo Cuadros2017-02-272-5/+5
|\ | | | | plumbing: improve documentation (Fix #242)
| * plumbing: improve documentation (Fix #242)Antonio Jesus Navarro Perez2017-02-232-5/+5
| |
* | plumbing/storer: referenceIterator now returns the error if anyAntonio Jesus Navarro Perez2017-02-232-1/+25
|/
* plumbing/storer: add RemoveReferenceSantiago M. Mola2017-02-161-0/+1
|
* package plumbing documentation improvements (#248)Máximo Cuadros2017-02-071-0/+2
|
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-306-6/+6
|
* server: add git server implementation (#190)Santiago M. Mola2017-01-041-0/+7
| | | | | | | | | | | | | | | * 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.
* storage: shallow storage (#180)Máximo Cuadros2016-12-151-0/+10
| | | | | | | | * storage: shallow storage * changes * changes
* move plumbing from top level package to plumbing (#183)Santiago M. Mola2016-12-142-84/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* revision based on goreportcard.comMáximo Cuadros2016-12-061-1/+1
|
* new plumbing package (#118)Máximo Cuadros2016-11-085-0/+576
* plumbing: now core was renamed to core, and formats and clients moved inside