diff options
author | Vicent Martà <vicent@github.com> | 2013-04-15 15:47:38 -0700 |
---|---|---|
committer | Vicent Martà <vicent@github.com> | 2013-04-15 15:47:38 -0700 |
commit | 24f61bc53a9843f86ce79bae92a38e0e4565734b (patch) | |
tree | 2cf068e5be081f7a0d1cfeeda948ac4eadead2c0 /src/revwalk.c | |
parent | 54e05482348c3844c6002b3a96ab05264cf66993 (diff) | |
parent | 32ef1d1c7cc8c603ab78416262cc421b80a8c2df (diff) | |
download | libgit2-24f61bc53a9843f86ce79bae92a38e0e4565734b.tar.gz |
Merge pull request #1469 from libgit2/vmg/unified-revision
Unified rev-parse, with a revision object
Diffstat (limited to 'src/revwalk.c')
-rw-r--r-- | src/revwalk.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/revwalk.c b/src/revwalk.c index c1071843b..16f06624d 100644 --- a/src/revwalk.c +++ b/src/revwalk.c @@ -231,25 +231,26 @@ int git_revwalk_push_ref(git_revwalk *walk, const char *refname) int git_revwalk_push_range(git_revwalk *walk, const char *range) { - git_object *left, *right; - int threedots; + git_revspec revspec; int error = 0; - if ((error = git_revparse_rangelike(&left, &right, &threedots, walk->repo, range))) + if ((error = git_revparse(&revspec, walk->repo, range))) return error; - if (threedots) { + + if (revspec.flags & GIT_REVPARSE_MERGE_BASE) { /* TODO: support "<commit>...<commit>" */ giterr_set(GITERR_INVALID, "Symmetric differences not implemented in revwalk"); return GIT_EINVALIDSPEC; } - if ((error = push_commit(walk, git_object_id(left), 1))) + if ((error = push_commit(walk, git_object_id(revspec.from), 1))) goto out; - error = push_commit(walk, git_object_id(right), 0); - out: - git_object_free(left); - git_object_free(right); + error = push_commit(walk, git_object_id(revspec.to), 0); + +out: + git_object_free(revspec.from); + git_object_free(revspec.to); return error; } |