aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/object/commit_walker.go
Commit message (Collapse)AuthorAgeFilesLines
* Improve error handling logicAntonio Jesus Navarro Perez2019-02-131-4/+4
| | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* Ignore missing references on log --allAntonio Jesus Navarro Perez2019-02-121-11/+23
| | | | | | To mimic the actual standard git behavior, we must ignore references that are pointing to wrong/unexistent objects. Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* Refine Log.kuba--2019-01-101-65/+71
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* First lookup if hash exists, then GetCommit.kuba--2019-01-081-6/+6
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Implement git log --allkuba--2019-01-071-0/+126
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* plumbing: the commit walker can skip externally-seen commitsJeremy Stribling2017-09-091-8/+14
| | | | | | | | | | 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: object, allow ignore commits in commit walkersMáximo Cuadros2017-07-181-12/+36
|
* fix naming of NewCommit{Pre,Post}IteratorSantiago M. Mola2017-06-131-4/+4
| | | | | Use Iter suffix, just as all other iterators in the project. Use Preorder and Postorder to be more clear.
* Add Repository.Log() method (fix #298)Antonio Jesus Navarro Perez2017-04-111-56/+113
| | | | | | | | | | - 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: add WalkCommitHistoryPost funcDaniel Martí2017-03-271-0/+25
| | | | | | | | 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-071-1/+1
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* doc: improve godoc for WalkCommitHistory.Santiago M. Mola2017-02-071-1/+5
|
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-301-1/+1
|
* move plumbing from top level package to plumbing (#183)Santiago M. Mola2016-12-141-0/+67
* 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.