Skip to content

Commit cf6672e

Browse files
mhaggergitster
authored andcommitted
refs: remove the extra_refs API
The extra_refs provided a kludgy way to create fake references at a global level in the hope that they would only affect some particular code path. The last user of this API been rewritten, so strip this stuff out before somebody else gets the bad idea of using it. Signed-off-by: Michael Haggerty <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent a1287f7 commit cf6672e

File tree

2 files changed

+1
-30
lines changed

2 files changed

+1
-30
lines changed

refs.c

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,6 @@ static struct ref_cache {
183183

184184
static struct ref_entry *current_ref;
185185

186-
/*
187-
* Never call sort_ref_array() on the extra_refs, because it is
188-
* allowed to contain entries with duplicate names.
189-
*/
190-
static struct ref_array extra_refs;
191-
192186
static void clear_ref_array(struct ref_array *array)
193187
{
194188
int i;
@@ -289,16 +283,6 @@ static void read_packed_refs(FILE *f, struct ref_array *array)
289283
}
290284
}
291285

292-
void add_extra_ref(const char *refname, const unsigned char *sha1, int flag)
293-
{
294-
add_ref(&extra_refs, create_ref_entry(refname, sha1, flag, 0));
295-
}
296-
297-
void clear_extra_refs(void)
298-
{
299-
clear_ref_array(&extra_refs);
300-
}
301-
302286
static struct ref_array *get_packed_refs(struct ref_cache *refs)
303287
{
304288
if (!refs->did_packed) {
@@ -733,16 +717,11 @@ int peel_ref(const char *refname, unsigned char *sha1)
733717
static int do_for_each_ref(const char *submodule, const char *base, each_ref_fn fn,
734718
int trim, int flags, void *cb_data)
735719
{
736-
int retval = 0, i, p = 0, l = 0;
720+
int retval = 0, p = 0, l = 0;
737721
struct ref_cache *refs = get_ref_cache(submodule);
738722
struct ref_array *packed = get_packed_refs(refs);
739723
struct ref_array *loose = get_loose_refs(refs);
740724

741-
struct ref_array *extra = &extra_refs;
742-
743-
for (i = 0; i < extra->nr; i++)
744-
retval = do_one_ref(base, fn, trim, flags, cb_data, extra->refs[i]);
745-
746725
sort_ref_array(packed);
747726
sort_ref_array(loose);
748727
while (p < packed->nr && l < loose->nr) {

refs.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,6 @@ extern void warn_dangling_symref(FILE *fp, const char *msg_fmt, const char *refn
5656
*/
5757
extern void add_packed_ref(const char *refname, const unsigned char *sha1);
5858

59-
/*
60-
* Extra refs will be listed by for_each_ref() before any actual refs
61-
* for the duration of this process or until clear_extra_refs() is
62-
* called. Only extra refs added before for_each_ref() is called will
63-
* be listed on a given call of for_each_ref().
64-
*/
65-
extern void add_extra_ref(const char *refname, const unsigned char *sha1, int flags);
66-
extern void clear_extra_refs(void);
6759
extern int ref_exists(const char *);
6860

6961
extern int peel_ref(const char *refname, unsigned char *sha1);

0 commit comments

Comments
 (0)