Commit 5d96fe88 by Carlos Martín Nieto

refs: changes from feedback

Change the name to _matching() intead of _if(), and force _set_target()
to be a conditional update. If the user doesn't care about the old
value, they should use git_reference_create().
parent 9b148098
...@@ -184,7 +184,7 @@ GIT_EXTERN(int) git_reference_create(git_reference **out, git_repository *repo, ...@@ -184,7 +184,7 @@ GIT_EXTERN(int) git_reference_create(git_reference **out, git_repository *repo,
* @param old_id The old value which the reference should have * @param old_id The old value which the reference should have
* @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code
*/ */
GIT_EXTERN(int) git_reference_create_if(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const git_signature *signature, const char *log_message, const git_oid *old_id); GIT_EXTERN(int) git_reference_create_matching(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const git_signature *signature, const char *log_message, const git_oid *old_id);
/** /**
* Get the OID pointed to by a direct reference. * Get the OID pointed to by a direct reference.
......
...@@ -407,19 +407,7 @@ static int log_signature(git_signature **out, git_repository *repo) ...@@ -407,19 +407,7 @@ static int log_signature(git_signature **out, git_repository *repo)
return 0; return 0;
} }
int git_reference_create( int git_reference_create_matching(
git_reference **ref_out,
git_repository *repo,
const char *name,
const git_oid *id,
int force,
const git_signature *signature,
const char *log_message)
{
return git_reference_create_if(ref_out, repo, name, id, force, signature, log_message, NULL);
}
int git_reference_create_if(
git_reference **ref_out, git_reference **ref_out,
git_repository *repo, git_repository *repo,
const char *name, const char *name,
...@@ -428,6 +416,7 @@ int git_reference_create_if( ...@@ -428,6 +416,7 @@ int git_reference_create_if(
const git_signature *signature, const git_signature *signature,
const char *log_message, const char *log_message,
const git_oid *old_id) const git_oid *old_id)
{ {
int error; int error;
git_signature *who = NULL; git_signature *who = NULL;
...@@ -448,6 +437,18 @@ int git_reference_create_if( ...@@ -448,6 +437,18 @@ int git_reference_create_if(
return error; return error;
} }
int git_reference_create(
git_reference **ref_out,
git_repository *repo,
const char *name,
const git_oid *id,
int force,
const git_signature *signature,
const char *log_message)
{
return git_reference_create_matching(ref_out, repo, name, id, force, signature, log_message, NULL);
}
int git_reference_symbolic_create( int git_reference_symbolic_create(
git_reference **ref_out, git_reference **ref_out,
git_repository *repo, git_repository *repo,
...@@ -485,13 +486,12 @@ static int ensure_is_an_updatable_direct_reference(git_reference *ref) ...@@ -485,13 +486,12 @@ static int ensure_is_an_updatable_direct_reference(git_reference *ref)
return -1; return -1;
} }
int git_reference_set_target_if( int git_reference_set_target(
git_reference **out, git_reference **out,
git_reference *ref, git_reference *ref,
const git_oid *id, const git_oid *id,
const git_signature *signature, const git_signature *signature,
const char *log_message, const char *log_message)
const git_oid *old_id)
{ {
int error; int error;
git_repository *repo; git_repository *repo;
...@@ -503,7 +503,7 @@ int git_reference_set_target_if( ...@@ -503,7 +503,7 @@ int git_reference_set_target_if(
if ((error = ensure_is_an_updatable_direct_reference(ref)) < 0) if ((error = ensure_is_an_updatable_direct_reference(ref)) < 0)
return error; return error;
return git_reference_create_if(out, repo, ref->name, id, 1, signature, log_message, old_id); return git_reference_create_matching(out, repo, ref->name, id, 1, signature, log_message, &ref->target.oid);
} }
static int ensure_is_an_updatable_symbolic_reference(git_reference *ref) static int ensure_is_an_updatable_symbolic_reference(git_reference *ref)
...@@ -515,16 +515,6 @@ static int ensure_is_an_updatable_symbolic_reference(git_reference *ref) ...@@ -515,16 +515,6 @@ static int ensure_is_an_updatable_symbolic_reference(git_reference *ref)
return -1; return -1;
} }
int git_reference_set_target(
git_reference **out,
git_reference *ref,
const git_oid *id,
const git_signature *signature,
const char *log_message)
{
return git_reference_set_target_if(out, ref, id, signature, log_message, NULL);
}
int git_reference_symbolic_set_target( int git_reference_symbolic_set_target(
git_reference **out, git_reference **out,
git_reference *ref, git_reference *ref,
......
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