|
05f0d0c1
|
2014-08-28T13:36:58
|
|
graph: fix ahead-behind logic
When we see PARENT1, it means there is a local commit and thus we are
ahead. Likewise, seeing PARENT2 means that the upstream branch has a
commit and we are one more behind.
The logic is currently reversed. Correct it.
This fixes #2501.
|
|
ce2e8269
|
2014-04-08T16:52:20
|
|
graph: handle not finding a merge base gracefully
git_merge_base() returns GIT_ENOTFOUND when it cannot find a merge
base. graph_desdendant_of() returns a boolean value (barring any
errors), so it needs to catch the NOTFOUND return value and convert it
into false, as not merge base means it cannot be a descendant.
|
|
56f8e06e
|
2014-04-08T15:46:45
|
|
Correct grouping of parentheses
git_graph_descendant_of was returning the result of an assignment
|
|
4075e060
|
2014-02-03T21:02:08
|
|
Replace pqueue with code from hashsig heap
I accidentally wrote a separate priority queue implementation when
I was working on file rename detection as part of the file hash
signature calculation code. To simplify licensing terms, I just
adapted that to a general purpose priority queue and replace the
old priority queue implementation that was borrowed from elsewhere.
This also removes parts of the COPYING document that no longer
apply to libgit2.
|
|
e7c16943
|
2014-01-28T19:39:14
|
|
Add `git_graph_descendant_of`.
|
|
33a59401
|
2013-03-22T20:22:39
|
|
graph: make the ahead-behind docs clearer
Explain it in local-upstream branch terms so it's easier to grasp than
with the `one` and `two` naming from the merge-base code.
|
|
359fc2d2
|
2013-01-08T17:07:25
|
|
update copyrights
|
|
7d26c410
|
2012-12-09T21:55:51
|
|
Fix a bunch of leaks, error handling cases
|
|
e51c8b99
|
2012-12-09T21:24:47
|
|
Fix mark_parents() to account for bad luck traversals
If commit timestamps are off, we're more likely to hit a traversal
where the first path ends up traversing past the root commit of the tree.
If that happens, it's possible that the loop will complete before the second
path marks some of those final parents. This fix keeps track of the root
nodes that are encountered in the traversal, and verify that they are
properly marked.
In the best case, with accurate timestamps, the traversal will continue
to terminate when all the commits are STALE (parents of a merge-base), as
it did before. In the worst case, where one path makes a complete traversal
past a root commit, we will continue the loop until the root commit itself
is marked.
|
|
9c2a4e8c
|
2012-12-09T21:01:46
|
|
Morph copy of git_merge__bases_many() -> mark_parents()
Integrate mark_parents() with the ahead_behind() code.
|
|
a3a81ae5
|
2012-12-09T20:43:26
|
|
Copy git_merge__bases_many() for new ahead-behind code
To be used as a basis for a function which marks nodes with parents
up to the merge base.
|
|
da820437
|
2012-11-30T15:26:45
|
|
graph: plug leak
|
|
d5e44d84
|
2012-11-29T17:02:27
|
|
Fix function name and add real error check
`revwalk.h:commit_lookup()` -> `git_revwalk__commit_lookup()`
and make `git_commit_list_parse()` do real error checking that
the item in the list is an actual commit object. Also fixed an
apparent typo in a test name.
|
|
b994bfe3
|
2012-11-28T18:48:22
|
|
graph.c: prune includes
|
|
0984c876
|
2012-11-28T18:27:43
|
|
Rename git_count_ahead_behind -> git_graph_ahead_behind
Moved it into graph.{c,h} which i created for the new "graph"
functions namespace. Also adjusted the function prototype
to use `size_t` and `const git_oid *`.
|