aboutsummaryrefslogtreecommitdiffstats
path: root/storage/memory/storage.go
Commit message (Collapse)AuthorAgeFilesLines
* storage: new storage.ErrReferenceHasChanged error and test for ↵Máximo Cuadros2018-12-101-2/+1
| | | | | | CheckAndSetReference Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* object: get object size without reading whole objectJeremy Stribling2018-10-111-0/+10
| | | | Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* gofmt -sMáximo Cuadros2018-01-251-1/+1
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* storage: some minor code cleanupJeremy Stribling2017-11-291-2/+1
| | | | | | Suggested by mcuadros. Issue: #669
* plumbing: add `HasEncodedObject` method to StorerJeremy Stribling2017-11-291-0/+8
| | | | | | | This allows the user to check whether an object exists, without reading all the object data from storage. Issue: KBFS-2445
* Make object repacking more configurableTaru Karttunen2017-11-291-2/+2
|
* Support for repacking objectsTaru Karttunen2017-11-291-0/+7
|
* First pass of prune designTaru Karttunen2017-11-291-0/+23
|
* filesystem: implement PackRefs()Jeremy Stribling2017-11-291-0/+8
| | | | | | | | | | Currently this implementation is only valid for kbfsgit, since it assumes some things about the filesystem not being updated during the packing, and about conflict resolution rules. In the future, it would be nice to replace this with a more general one, and move this kbfsgit-optimized implementation into kbfsgit. Issue: KBFS-2517
* all: simplificationferhat elmas2017-11-291-9/+9
| | | | | | | | | | - no length for map initialization - don't check for boolean/error return - don't format string - use string method of bytes buffer instead of converting bytes to string - use `strings.Contains` instead of `strings.Index` - use `bytes.Equal` instead of `bytes.Compare`
* dotgit: add CheckAndSetReference testsJeremy Stribling2017-11-281-8/+9
|
* Use optionally locking when updating refsTaru Karttunen2017-11-271-0/+15
|
* project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-071-5/+5
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* documentation and API improvementsMáximo Cuadros2017-02-211-3/+11
|
* storage: git.Storer move to storage.Storer and module handlingMáximo Cuadros2017-02-121-0/+13
|
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-301-4/+4
|
* storage: IndexStorer implementationMáximo Cuadros2017-01-291-1/+1
|
* storage: IndexStorer implementationMáximo Cuadros2017-01-281-0/+19
|
* storage: shallow storage (#180)Máximo Cuadros2016-12-151-0/+13
| | | | | | | | * storage: shallow storage * changes * changes
* move plumbing from top level package to plumbing (#183)Santiago M. Mola2016-12-141-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-46/+47
| | | * plumbing: now core was renamed to core, and formats and clients moved inside
* global storage interface refactor (#112)Máximo Cuadros2016-11-071-89/+38
| | | | | | | | | | | * core: ObjectStorage, ReferenceStorage renamed to ObjectStorer and ReferenceStorer * rebase * general, changes request by @alcortes * general, changes request by @alcortes
* storage: memory test improvements and coverageMáximo Cuadros2016-09-241-1/+4
|
* storage: filesystem ref storage, and not not exists file handlingMáximo Cuadros2016-09-101-6/+0
|
* format: packfile based on ObjectStorage and CRC32 calculationMáximo Cuadros2016-09-081-0/+10
|
* format: packfile new interfaceMáximo Cuadros2016-09-071-0/+1
|
* core: ObjectStorage.WriterMáximo Cuadros2016-09-051-0/+6
|
* core: ObjectStorage.Begin and TxObjectStorageMáximo Cuadros2016-09-051-0/+35
|
* doc packagesMáximo Cuadros2016-09-011-0/+1
|
* core: Storage.Get, switch order of argsMáximo Cuadros2016-08-291-1/+1
|
* storage: Add object type hint parameter to ObjectStorage.Get. (#69)Santiago M. Mola2016-08-291-3/+4
| | | | | | | Some storage backends can optimize object lookup if they get the object type that is expected. So we the signature of the Get method is now Get(Hash, ObjectType). Added generic tests for storage backends.
* remote and repository base on ConfigStoreMáximo Cuadros2016-08-211-0/+5
|
* storage: support ConfigStorage, memory done, fs wipMáximo Cuadros2016-08-201-12/+42
|
* core: Storage, removing err returning *StoragesMáximo Cuadros2016-08-141-6/+6
|
* core: Storage, now returns errorsMáximo Cuadros2016-08-121-14/+26
|
* storage/memory: implemented ReferenceStorage and StorageMáximo Cuadros2016-08-121-0/+60
|
* core: new MemoryObject, move from memory.Object, packfile.Parser, base on ↵Máximo Cuadros2016-08-111-0/+5
| | | | new ObjectStorage interface
* v3 -> v4Máximo Cuadros2016-08-111-1/+1
|
* Adds support to open local repositories and to use file-based object storage ↵v3.1.0Alberto Cortés2016-07-041-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#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
* documentationMáximo Cuadros2016-05-191-1/+1
|
* Added support for annotated tagsJoshua Sjoding2016-02-181-0/+6
|
* update imports to v3Máximo Cuadros2016-02-171-1/+1
|
* storages: memory objectMáximo Cuadros2016-02-171-0/+83