delete_refs(): new function for the refs API
Move the function remove_branches() from builtin/remote.c to refs.c, rename it to delete_refs(), and make it public. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
fc67a0825c
commit
98ffd5ff67
@ -746,25 +746,6 @@ static int mv(int argc, const char **argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int remove_branches(struct string_list *branches)
|
||||
{
|
||||
struct strbuf err = STRBUF_INIT;
|
||||
int i, result = 0;
|
||||
|
||||
if (repack_without_refs(branches, &err))
|
||||
result |= error("%s", err.buf);
|
||||
strbuf_release(&err);
|
||||
|
||||
for (i = 0; i < branches->nr; i++) {
|
||||
const char *refname = branches->items[i].string;
|
||||
|
||||
if (delete_ref(refname, NULL, 0))
|
||||
result |= error(_("Could not remove branch %s"), refname);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static int rm(int argc, const char **argv)
|
||||
{
|
||||
struct option options[] = {
|
||||
@ -821,7 +802,7 @@ static int rm(int argc, const char **argv)
|
||||
strbuf_release(&buf);
|
||||
|
||||
if (!result)
|
||||
result = remove_branches(&branches);
|
||||
result = delete_refs(&branches);
|
||||
string_list_clear(&branches, 0);
|
||||
|
||||
if (skipped.nr) {
|
||||
|
||||
Reference in New Issue
Block a user