aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Adds support to open local repositories and to use file-based object storage ↵v3.1.0Alberto Cortés2016-07-0458-924/+6630
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#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
* Merge pull request #56 from vmarkovtsev/masterMáximo Cuadros2016-06-2710-9/+498
|\ | | | | Wrap more objects with CGo
| * Wrap more objects with CGoVadim Markovtsev2016-06-2110-9/+498
| |
* | Merge pull request #54 from vmarkovtsev/csharedMáximo Cuadros2016-06-159-0/+1320
|\| | | | | Add cshared files to allow building wrappers in other languages
| * Add cshared files to allow building wrappers in other languagesVadim Markovtsev2016-06-159-0/+1320
| |
* | documentationMáximo Cuadros2016-05-191-0/+1
| |
* | documentationMáximo Cuadros2016-05-191-1/+1
| |
* | documentationMáximo Cuadros2016-05-1912-35/+49
|/
* fix misspellingsv3.0.4Máximo Cuadros2016-05-197-11/+11
|
* formats/pktline: fixed underflow glitch reading network streamMáximo Cuadros2016-05-191-3/+5
|
* Merge pull request #47 from TripleDogDare/fix-repository-pulldefaultv3.0.3Máximo Cuadros2016-05-081-6/+5
|\ | | | | Fix PullDefault to not cause panics.
| * Fix PullDefault to not cause panics.Calvin Behling2016-05-071-6/+5
|/ | | | | | | | | | | | The `remote.upInfo` is not set until `Connect()` is called. However, `repository.PullDefault()` requires that it exists when it calls `remote.DefaultBranch()`. This can be solved by pushing the default branch discovery into `repository.Pull()`. The empty string "" is not a valid branch name, so by allowing the empty string to mean 'default branch' in the `Pull()` function we can allow `PullDefault()` to not need a `remote.Connect()` call before calling `repository.Pull()`
* undo import enforcementv3.0.2Máximo Cuadros2016-04-251-1/+1
|
* documentationMáximo Cuadros2016-04-254-10/+66
|
* remote.Head and repository.PullDefaultMáximo Cuadros2016-04-254-0/+44
|
* dump v3Máximo Cuadros2016-04-221-3/+3
|
* file, added field Modev3.0.1Máximo Cuadros2016-04-224-14/+13
|
* Merge pull request #39 from scjalliance/git-object-interfaceMáximo Cuadros2016-03-0814-220/+316
|\ | | | | Added Object interface for Commit, Tree, Blob and Tag
| * Added Object interface for Commit, Tree, Blob and TagJoshua Sjoding2016-03-0814-220/+316
|/ | | | | | | | | | | | | * 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
* Merge pull request #37 from scjalliance/objfile-formatMáximo Cuadros2016-02-2715-19/+610
|\ | | | | Added support for objfile format
| * Improved objfile error handling and test coverageJoshua Sjoding2016-02-276-3/+70
| |
| * Renamed internal close function to checkCloseJoshua Sjoding2016-02-278-18/+18
| | | | | | | | * Old name accidentally shadowed builtin close function
| * Added objfile format used for loose git objectsJoshua Sjoding2016-02-276-0/+519
| |
| * Added function to check validity of core.ObjectTypeJoshua Sjoding2016-02-261-0/+5
|/
* Merge pull request #35 from scjalliance/hasherMáximo Cuadros2016-02-262-7/+29
|\ | | | | Added Hasher for computing hashes of streamed objects
| * Added Hasher for computing hashes of streamed objectsJoshua Sjoding2016-02-252-7/+29
|/
* Merge pull request #34 from scjalliance/object-reader-writerMáximo Cuadros2016-02-2518-54/+237
|\ | | | | Refactor to use core.ObjectReader and core.ObjectWriter
| * Refactor to use core.ObjectReader and core.ObjectWriterJoshua Sjoding2016-02-2518-54/+237
|/ | | | | | | | | | | | * 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
* File, added size and reader is now a methodv3.0.0Máximo Cuadros2016-02-224-76/+166
|
* Merge pull request #32 from scjalliance/annotated-tagsMáximo Cuadros2016-02-208-4/+425
|\ | | | | Annotated tags
| * Improved support for Blob objectsJoshua Sjoding2016-02-195-20/+96
| |
| * Added support for annotated tagsJoshua Sjoding2016-02-185-1/+297
| |
| * Added ParseObjectType function to coreJoshua Sjoding2016-02-181-0/+22
| |
| * Added helper function for test fixture unpackingJoshua Sjoding2016-02-181-2/+29
|/
* travis: adding 1.6Máximo Cuadros2016-02-181-1/+2
|
* signature decode refactorMáximo Cuadros2016-02-181-50/+37
|
* Merge pull request #30 from scjalliance/consistent-iteratorsMáximo Cuadros2016-02-1711-69/+413
|\ | | | | Improved consistency of Tree iterators
| * Tree.Entries is now a sliceJoshua Sjoding2016-02-172-23/+27
| | | | | | | | Tree's mapping of names to entries has been made internal, and will only be built when necessary with the first call to Tree.File().
| * New iteration behavior via FileIter and TreeWalkerJoshua Sjoding2016-02-1711-62/+402
|/ | | | | | | | | | | | | | | | | | | | | | Instead of returning a channel of files, Tree.Files() now returns a FileIter with these qualities: * It returns files in the original order of the repository (relying on a * new Tree.OrderedNames property) * It can return errors encountered when retrieving files and trees from * underlying storage * It can be Closed without having to drain the entire channel * It defers the heavy lifting to a new TreeWalker type * Its behavior is a little more consistent with other Iter types * It's a little less prone to memory leaks This update includes a new TreeWalker type that will iterate through all of the entries of a tree and its descendant subtrees. It does the dirty work that Tree.walkEntries() used to do, but with a public API. A new TreeIter type is also included that just walks through subtrees. This could be useful for performing a directory search while ignoring files/blobs altogether.
* update imports to v3Máximo Cuadros2016-02-1736-64/+64
|
* Merge pull request #28 from mcuadros/memory-objectMáximo Cuadros2016-02-1714-97/+289
|\ | | | | storages: memory object
| * storages: memory objectMáximo Cuadros2016-02-1714-97/+289
|/
* Merge pull request #27 from scjalliance/windows-compatibilityMáximo Cuadros2016-02-161-3/+3
|\ | | | | File paths will now be consistent across platforms
| * File paths will now be consistent across platformsJoshua Sjoding2016-02-161-3/+3
|/ | | | | | | | Previously go-git used filepath.Join when walking tree structures and constructing paths, but its results are platform-dependent as it will return different results on different systems. For example, it will use backslashes as a path separator on Windows. As a result the SuiteTree.TestFiles test was failing on Windows because the returned paths didn't match what was expected. filepath.Join has been changed to path.Join, which will return consistent results for all platforms. This change makes it so that go-git will always return paths with forward-slash delimiters. Users of the library should convert the resulting file paths into platform-compatible paths when necessary.
* Merge pull request #20 from scjalliance/generic-object-storageMáximo Cuadros2016-02-167-101/+274
|\ | | | | Iterable ObjectStorage interface for use in Repository struct
| * Functions in core.ObjectStorage interface now return an errorJoshua Sjoding2016-02-166-41/+62
| |
| * Merge remote-tracking branch 'upstream/master' into generic-object-storageJoshua Sjoding2016-02-158-69/+75
| |\
| * | ObjectLookupIter.Next() now returns ObjectNotFoundErr when appropriateJoshua Sjoding2016-02-151-3/+9
| | |
| * | Added tests for CommitIterJoshua Sjoding2016-02-151-7/+87
| | |
| * | Renamed ObjectStorage.IterType() to Iter() and improved documentation for ↵Joshua Sjoding2016-02-152-6/+15
| | | | | | | | | | | | object iterators