aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/object
Commit message (Collapse)AuthorAgeFilesLines
* Add support for signed commits (#616)Sunny2017-10-292-0/+69
| | | | | | | | | * Add support for signed commits This change adds `GPGSignature` field to `Commit` object. This is used to store the signature of the commit, if any. * Rename gpg to pgp
* plumbing: the commit walker can skip externally-seen commitsJeremy Stribling2017-09-092-10/+40
| | | | | | | | | | When the revlist is computing the set of hashes needed to transfer, it doesn't need to walk over commits it has already processed. So, it can instruct the commit walker not to walk those commits by passing in its own `seen` map. For a 36K object repo, this brought the time for `revlist.Objects` down from 50s to 30s.
* plumbing: use `seen` map in tree walkerJeremy Stribling2017-08-274-10/+42
| | | | | | | This helps avoids iterating down the same trees for every commit. For a big-ish repo with 35K objects (17K commits), this reduced the time for calling `revlist.Objects` during a push (with 0 hashes to ignore) from more than ten minutes to less than a minute.
* grammar correctionZach Gershman2017-08-241-1/+1
| | | *stopped instead of stop
* repository: allow push from shallow repositoriesMáximo Cuadros2017-07-191-23/+5
|
* plumbing: object, allow ignore commits in commit walkersMáximo Cuadros2017-07-182-16/+105
|
* fix naming of NewCommit{Pre,Post}IteratorSantiago M. Mola2017-06-132-6/+6
| | | | | Use Iter suffix, just as all other iterators in the project. Use Preorder and Postorder to be more clear.
* format/diff: unified diff encoder and public APIAntonio Jesus Navarro Perez2017-05-237-0/+316
| | | | | | | | | - Added Patch interface - Added a Unified Diff encoder from Patches - Added Change method to generate Patches - Added Changes method to generate Patches - Added Tree method to generate Patches - Added Commit method to generate Patches
* worktree: Commit, tests improvementsMáximo Cuadros2017-05-041-2/+2
|
* plumbing: MemoryObject.Writer tracks his own sizeMáximo Cuadros2017-05-044-30/+35
|
* plumbing: object.Tree making public `tree` and `parents`Máximo Cuadros2017-05-012-17/+19
|
* object: avoid unreachable codeSantiago M. Mola2017-04-261-4/+1
|
* fix format string issues as found by go vetSantiago M. Mola2017-04-261-4/+5
|
* worktree, reset implementation and status improvementsMáximo Cuadros2017-04-121-1/+1
|
* merkletrie: filesystem and index speedup and documentationMáximo Cuadros2017-04-111-18/+11
|
* merge, Repository.LogMáximo Cuadros2017-04-114-116/+138
|\
| * Add Repository.Log() method (fix #298)Antonio Jesus Navarro Perez2017-04-114-116/+138
| | | | | | | | | | | | | | | | | | | | - CommitIter is now an interface - The old CommitIter implementation is now called StorerCommitIter - CommitWalker and CommitWalkerPost are now iterators (CommitPreIterator and CommitPostIterator). - Remove Commit.History() method. There are so many ways to iterate a commit history, depending of the use case. Now, instead of use the History() method, you must use CommitPreIterator or CommitPostIterator. - Move commitSorterer to references.go because is the only place that it is used, and it must not be used into another place. - Make References method private, it must only be used into blame logic. - Added a TODO into references method, where the sortCommits is used to remove it in a near future.
* | plumbing: object, public Tree.FindEntry and minor diff changesMáximo Cuadros2017-04-114-8/+17
|/
* Set correct modes to change_adaptor testsAntonio Jesus Navarro Perez2017-04-061-0/+6
|
* object: fix Change.Files() method behavior (fix #317)Antonio Jesus Navarro Perez2017-04-062-0/+56
| | | | | - If 'from' or 'to' are tree entries that aren't files, Files() method will return nil instead of object not found error. - Added a test checking this using modules fixture.
* Work around a Go bug when parsing timezonesNick Thomas2017-03-301-1/+6
|
* Merge pull request #314 from lupine/249-fix-bufio-buffer-fullMáximo Cuadros2017-03-284-2/+36
|\ | | | | plumbing: Use ReadBytes() rather than ReadSlice()
| * plumbing: Use ReadBytes() rather than ReadSlice()Nick Thomas2017-03-274-2/+36
| |
* | plumbing/object: add WalkCommitHistoryPost funcDaniel Martí2017-03-272-7/+59
|/ | | | | | | | Also add a test. Make both the pre-order and post-order tests not sort commits, to actually test the order in which the commit history is walked. Fixes #223.
* project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-0720-63/+63
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* difftree: simplify hash comparison with deprecated files modesAlberto Cortés2017-03-033-51/+31
| | | | | | | | | | Difftree hash comparisson was quite complex because the hashes of deprecated files were diferent from the hashes of regular files. But git's difftree really treat them as equal. This patch fix this by making treenoder return the same hash for regular files than for deprecated files; now the hash comparison function is just a bytes.Equal call.
* replace os.FileMode use with filemode.FileModeAlberto Cortés2017-03-0110-250/+214
|
* Added documentation to Diff methodAntonio Jesus Navarro Perez2017-02-241-0/+1
|
* plumbing/object: move difftree to object packageAntonio Jesus Navarro Perez2017-02-248-0/+1478
| | | | | - To avoid ciclic dependency errors, we move all the difftree files to object package. - Added Diff method to Tree object.
* difftree: ignore permissions changes between regular filesAlberto Cortés2017-02-221-5/+6
| | | | Fix issue #279.
* *: update tests to meet new submodule fixtureMáximo Cuadros2017-02-212-4/+6
|
* documentation and API improvementsMáximo Cuadros2017-02-212-2/+7
|
* plumbing/object: allow TreeIter return SubModule entriesMáximo Cuadros2017-02-134-6/+65
|
* doc: improve object.Tag godoc.Santiago M. Mola2017-02-081-3/+7
|
* doc: add godoc to SignatureSantiago M. Mola2017-02-071-3/+6
|
* doc: improve godoc for WalkCommitHistory.Santiago M. Mola2017-02-071-1/+5
|
* doc: add object fields godocSantiago M. Mola2017-02-074-6/+21
|
* doc: improve object iterators godoc.Santiago M. Mola2017-02-076-27/+38
|
* doc: improve docs for object package.Santiago M. Mola2017-02-062-3/+7
| | | | | | | | * add package description. * add godoc to DecodeBlob. * clarify godoc for Object and Blob.
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-3013-31/+31
|
* new git fixture pathMáximo Cuadros2017-01-304-4/+4
|
* Fix some typos in plumbing docs (#244)Sergio Arbeo2017-01-304-9/+9
|
* Worktree correct FileMode at index entriesMáximo Cuadros2017-01-301-11/+11
|
* object: modes in TreeEntry as os.FileMode, and not the git internalMáximo Cuadros2017-01-282-147/+155
|
* 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.
* plumbing: fix signature with `>` before `<` parsing (#204)Máximo Cuadros2017-01-092-2/+16
|
* Improve Tag test coverage. (#188)Antonio Navarro Perez2016-12-152-9/+109
|
* move plumbing from top level package to plumbing (#183)Santiago M. Mola2016-12-1414-0/+3886
* 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.