aboutsummaryrefslogtreecommitdiffstats
path: root/objects.go
Commit message (Collapse)AuthorAgeFilesLines
* move plumbing from top level package to plumbing (#183)Santiago M. Mola2016-12-141-187/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* new plumbing package (#118)Máximo Cuadros2016-11-081-17/+18
| | | * plumbing: now core was renamed to core, and formats and clients moved inside
* add Blobs, Trees and Objects iters. (#114)Santiago M. Mola2016-11-041-58/+71
| | | | | * Now every object type as an iterator in Repository. * old TreeIter is TreeWalker again, TreeIter now matches the same behaviour as other iterators.
* object: Add Encode method to all objects. (#70)Santiago M. Mola2016-08-291-0/+35
| | | | | | | | Encode method encodes a typed object (commit, tree, tag, blob) into raw core.Object representation. Additionally, Decode does not trim commit message lines. This is needed for Decode/Encode to be idempotent.
* v3 -> v4Máximo Cuadros2016-08-111-1/+1
|
* documentationMáximo Cuadros2016-05-191-0/+1
|
* fix misspellingsv3.0.4Máximo Cuadros2016-05-191-2/+2
|
* Added Object interface for Commit, Tree, Blob and TagJoshua Sjoding2016-03-081-2/+45
| | | | | | | | | | | | | * New Object interface is distinct from core.Object * New Object interface is used in places where returned object could be of any type * Object is implemented by Commit, Tree, Blob, File and Tag * Added Repository.Object function for retrieving objects of any type * Tag.Object now returns Object instead of core.Object * Tag target hash is now publicly accessible * Renamed Tag.Type field to Tag.TargetType, making it distinct from Tag.Type function * Fixed infinite recursive loop in TagIter.Close * TreeWalker.Next now returns Object instead of core.Object * Removed some duplicate test setup code
* Refactor to use core.ObjectReader and core.ObjectWriterJoshua Sjoding2016-02-251-2/+1
| | | | | | | | | | | | * New function signatures provide the necessary interface to stream data from disk when using filesystem-based storage in the future * New function signatures provide proper error handling * ObjectReader and ObjectWriter interfaces added to avoid future refactoring, currently are type aliases for io.ReadCloser and io.WriteCloser respectively * Object.Reader now returns (ObjectReader, error) * Object.Writer now returns (ObjectWriter, error) * File.Contents now returns (string, error) * File.Lines now returns ([]string, error) * Blob.Reader now returns (core.ObjectReader, error) * Added internal close helper function for deferred calls to Close that need to check the return value
* signature decode refactorMáximo Cuadros2016-02-181-50/+37
|
* update imports to v3Máximo Cuadros2016-02-171-1/+1
|
* storages: memory objectMáximo Cuadros2016-02-171-0/+7
|
* Timezone fixesAlex Guerrieri2015-11-231-1/+9
|
* internal -> coreMáximo Cuadros2015-10-311-5/+5
|
* tree and commitMáximo Cuadros2015-10-271-130/+13
|
* objects: using readers from internal.ObjectMáximo Cuadros2015-10-261-87/+80
|
* formats/packfile: new reader APIMáximo Cuadros2015-10-251-0/+217