delete_ref(): move declaration to refs.h
Also * Add a docstring * Rename the second parameter to "old_sha1", to be consistent with the convention used elsewhere in the refs module Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a5fe66802f
commit
fc1c21689d
2
cache.h
2
cache.h
@ -585,8 +585,6 @@ extern void update_index_if_able(struct index_state *, struct lock_file *);
|
||||
extern int hold_locked_index(struct lock_file *, int);
|
||||
extern void set_alternate_index_output(const char *);
|
||||
|
||||
extern int delete_ref(const char *, const unsigned char *sha1, unsigned int flags);
|
||||
|
||||
/* Environment bits from configuration mechanism */
|
||||
extern int trust_executable_bit;
|
||||
extern int trust_ctime;
|
||||
|
5
refs.c
5
refs.c
@ -2801,7 +2801,8 @@ static int delete_ref_loose(struct ref_lock *lock, int flag, struct strbuf *err)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int delete_ref(const char *refname, const unsigned char *sha1, unsigned int flags)
|
||||
int delete_ref(const char *refname, const unsigned char *old_sha1,
|
||||
unsigned int flags)
|
||||
{
|
||||
struct ref_transaction *transaction;
|
||||
struct strbuf err = STRBUF_INIT;
|
||||
@ -2809,7 +2810,7 @@ int delete_ref(const char *refname, const unsigned char *sha1, unsigned int flag
|
||||
transaction = ref_transaction_begin(&err);
|
||||
if (!transaction ||
|
||||
ref_transaction_delete(transaction, refname,
|
||||
(sha1 && !is_null_sha1(sha1)) ? sha1 : NULL,
|
||||
(old_sha1 && !is_null_sha1(old_sha1)) ? old_sha1 : NULL,
|
||||
flags, NULL, &err) ||
|
||||
ref_transaction_commit(transaction, &err)) {
|
||||
error("%s", err.buf);
|
||||
|
10
refs.h
10
refs.h
@ -202,6 +202,16 @@ extern int read_ref_at(const char *refname, unsigned int flags,
|
||||
/** Check if a particular reflog exists */
|
||||
extern int reflog_exists(const char *refname);
|
||||
|
||||
/*
|
||||
* Delete the specified reference. If old_sha1 is non-NULL and not
|
||||
* NULL_SHA1, then verify that the current value of the reference is
|
||||
* old_sha1 before deleting it. If old_sha1 is NULL or NULL_SHA1,
|
||||
* delete the reference if it exists, regardless of its old value.
|
||||
* flags is passed through to ref_transaction_delete().
|
||||
*/
|
||||
extern int delete_ref(const char *refname, const unsigned char *old_sha1,
|
||||
unsigned int flags);
|
||||
|
||||
/** Delete a reflog */
|
||||
extern int delete_reflog(const char *refname);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user