Commit cbda09d0 by Vicent Marti

git_revision -> git_revspec

parent 36c2dfed
...@@ -53,7 +53,7 @@ typedef struct { ...@@ -53,7 +53,7 @@ typedef struct {
git_object *from; git_object *from;
git_object *to; git_object *to;
unsigned int flags; unsigned int flags;
} git_revision; } git_revspec;
/** /**
* Parse a revision string for left, right, and intent. See `man gitrevisions` or * Parse a revision string for left, right, and intent. See `man gitrevisions` or
...@@ -72,7 +72,7 @@ typedef struct { ...@@ -72,7 +72,7 @@ typedef struct {
* @return 0 on success, GIT_INVALIDSPEC, GIT_ENOTFOUND, GIT_EAMBIGUOUS or an error code * @return 0 on success, GIT_INVALIDSPEC, GIT_ENOTFOUND, GIT_EAMBIGUOUS or an error code
*/ */
GIT_EXTERN(int) git_revparse( GIT_EXTERN(int) git_revparse(
git_revision *revision, git_revspec *revspec,
git_repository *repo, git_repository *repo,
const char *spec); const char *spec);
......
...@@ -870,41 +870,41 @@ cleanup: ...@@ -870,41 +870,41 @@ cleanup:
int git_revparse( int git_revparse(
git_revision *revision, git_revspec *revspec,
git_repository *repo, git_repository *repo,
const char *spec) const char *spec)
{ {
const char *dotdot; const char *dotdot;
int error = 0; int error = 0;
assert(revision && repo && spec); assert(revspec && repo && spec);
memset(revision, 0x0, sizeof(*revision)); memset(revspec, 0x0, sizeof(*revspec));
if ((dotdot = strstr(spec, "..")) != NULL) { if ((dotdot = strstr(spec, "..")) != NULL) {
char *lstr; char *lstr;
const char *rstr; const char *rstr;
revision->flags = GIT_REVPARSE_RANGE; revspec->flags = GIT_REVPARSE_RANGE;
lstr = git__substrdup(spec, dotdot - spec); lstr = git__substrdup(spec, dotdot - spec);
rstr = dotdot + 2; rstr = dotdot + 2;
if (dotdot[2] == '.') { if (dotdot[2] == '.') {
revision->flags |= GIT_REVPARSE_MERGE_BASE; revspec->flags |= GIT_REVPARSE_MERGE_BASE;
rstr++; rstr++;
} }
if ((error = git_revparse_single(&revision->from, repo, lstr)) < 0) { if ((error = git_revparse_single(&revspec->from, repo, lstr)) < 0) {
return error; return error;
} }
if ((error = git_revparse_single(&revision->to, repo, rstr)) < 0) { if ((error = git_revparse_single(&revspec->to, repo, rstr)) < 0) {
return error; return error;
} }
git__free((void*)lstr); git__free((void*)lstr);
} else { } else {
revision->flags = GIT_REVPARSE_SINGLE; revspec->flags = GIT_REVPARSE_SINGLE;
error = git_revparse_single(&revision->from, repo, spec); error = git_revparse_single(&revspec->from, repo, spec);
} }
return error; return error;
......
...@@ -231,26 +231,26 @@ int git_revwalk_push_ref(git_revwalk *walk, const char *refname) ...@@ -231,26 +231,26 @@ int git_revwalk_push_ref(git_revwalk *walk, const char *refname)
int git_revwalk_push_range(git_revwalk *walk, const char *range) int git_revwalk_push_range(git_revwalk *walk, const char *range)
{ {
git_revision revision; git_revspec revspec;
int error = 0; int error = 0;
if ((error = git_revparse(&revision, walk->repo, range))) if ((error = git_revparse(&revspec, walk->repo, range)))
return error; return error;
if (revision.flags & GIT_REVPARSE_MERGE_BASE) { if (revspec.flags & GIT_REVPARSE_MERGE_BASE) {
/* TODO: support "<commit>...<commit>" */ /* TODO: support "<commit>...<commit>" */
giterr_set(GITERR_INVALID, "Symmetric differences not implemented in revwalk"); giterr_set(GITERR_INVALID, "Symmetric differences not implemented in revwalk");
return GIT_EINVALIDSPEC; return GIT_EINVALIDSPEC;
} }
if ((error = push_commit(walk, git_object_id(revision.from), 1))) if ((error = push_commit(walk, git_object_id(revspec.from), 1)))
goto out; goto out;
error = push_commit(walk, git_object_id(revision.to), 0); error = push_commit(walk, git_object_id(revspec.to), 0);
out: out:
git_object_free(revision.from); git_object_free(revspec.from);
git_object_free(revision.to); git_object_free(revspec.to);
return error; return error;
} }
......
...@@ -34,28 +34,28 @@ static void test_id_inrepo( ...@@ -34,28 +34,28 @@ static void test_id_inrepo(
git_revparse_mode_t expected_flags, git_revparse_mode_t expected_flags,
git_repository *repo) git_repository *repo)
{ {
git_revision revision; git_revspec revspec;
int error = git_revparse(&revision, repo, spec); int error = git_revparse(&revspec, repo, spec);
if (expected_left) { if (expected_left) {
char str[64] = {0}; char str[64] = {0};
cl_assert_equal_i(0, error); cl_assert_equal_i(0, error);
git_oid_fmt(str, git_object_id(revision.from)); git_oid_fmt(str, git_object_id(revspec.from));
cl_assert_equal_s(str, expected_left); cl_assert_equal_s(str, expected_left);
git_object_free(revision.from); git_object_free(revspec.from);
} else { } else {
cl_assert_equal_i(GIT_ENOTFOUND, error); cl_assert_equal_i(GIT_ENOTFOUND, error);
} }
if (expected_right) { if (expected_right) {
char str[64] = {0}; char str[64] = {0};
git_oid_fmt(str, git_object_id(revision.to)); git_oid_fmt(str, git_object_id(revspec.to));
cl_assert_equal_s(str, expected_right); cl_assert_equal_s(str, expected_right);
git_object_free(revision.to); git_object_free(revspec.to);
} }
if (expected_flags) if (expected_flags)
cl_assert_equal_i(expected_flags, revision.flags); cl_assert_equal_i(expected_flags, revspec.flags);
} }
static void test_object(const char *spec, const char *expected_oid) static void test_object(const char *spec, const char *expected_oid)
...@@ -69,23 +69,23 @@ static void test_rangelike(const char *rangelike, ...@@ -69,23 +69,23 @@ static void test_rangelike(const char *rangelike,
git_revparse_mode_t expected_revparseflags) git_revparse_mode_t expected_revparseflags)
{ {
char objstr[64] = {0}; char objstr[64] = {0};
git_revision revision; git_revspec revspec;
int error; int error;
error = git_revparse(&revision, g_repo, rangelike); error = git_revparse(&revspec, g_repo, rangelike);
if (expected_left != NULL) { if (expected_left != NULL) {
cl_assert_equal_i(0, error); cl_assert_equal_i(0, error);
cl_assert_equal_i(revision.flags, expected_revparseflags); cl_assert_equal_i(revspec.flags, expected_revparseflags);
git_oid_fmt(objstr, git_object_id(revision.from)); git_oid_fmt(objstr, git_object_id(revspec.from));
cl_assert_equal_s(objstr, expected_left); cl_assert_equal_s(objstr, expected_left);
git_oid_fmt(objstr, git_object_id(revision.to)); git_oid_fmt(objstr, git_object_id(revspec.to));
cl_assert_equal_s(objstr, expected_right); cl_assert_equal_s(objstr, expected_right);
} else } else
cl_assert(error != 0); cl_assert(error != 0);
git_object_free(revision.from); git_object_free(revspec.from);
git_object_free(revision.to); git_object_free(revspec.to);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment