git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 7/7] refs: remove the extra_refs API

From
mhagger@alum.mit.edu <mhagger@alum.mit.edu>
Date
Feb 11, 2012, 06:21 UTC
Message-ID
<1328941261-29746-8-git-send-email-mhagger@alum.mit.edu>
In-Reply-To
<1328941261-29746-1-git-send-email-mhagger@alum.mit.edu>
From: Michael Haggerty <mhagger@alum.mit.edu>

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 <mhagger@alum.mit.edu>
---
 refs.c |   23 +----------------------
 refs.h |    8 --------
 2 files changed, 1 insertions(+), 30 deletions(-)
diff --git a/refs.c b/refs.c
index b8843bb..c9f6835 100644
--- a/refs.c
+++ b/refs.c
@@ -183,12 +183,6 @@ static struct ref_cache {
 
 static struct ref_entry *current_ref;
 
-/*
- * Never call sort_ref_array() on the extra_refs, because it is
- * allowed to contain entries with duplicate names.
- */
-static struct ref_array extra_refs;
-
 static void clear_ref_array(struct ref_array *array)
 {
 	int i;
@@ -289,16 +283,6 @@ static void read_packed_refs(FILE *f, struct ref_array *array)
 	}
 }
 
-void add_extra_ref(const char *refname, const unsigned char *sha1, int flag)
-{
-	add_ref(&extra_refs, create_ref_entry(refname, sha1, flag, 0));
-}
-
-void clear_extra_refs(void)
-{
-	clear_ref_array(&extra_refs);
-}
-
 static struct ref_array *get_packed_refs(struct ref_cache *refs)
 {
 	if (!refs->did_packed) {
@@ -733,16 +717,11 @@ fallback:
 static int do_for_each_ref(const char *submodule, const char *base, each_ref_fn fn,
 			   int trim, int flags, void *cb_data)
 {
-	int retval = 0, i, p = 0, l = 0;
+	int retval = 0, p = 0, l = 0;
 	struct ref_cache *refs = get_ref_cache(submodule);
 	struct ref_array *packed = get_packed_refs(refs);
 	struct ref_array *loose = get_loose_refs(refs);
 
-	struct ref_array *extra = &extra_refs;
-
-	for (i = 0; i < extra->nr; i++)
-		retval = do_one_ref(base, fn, trim, flags, cb_data, extra->refs[i]);
-
 	sort_ref_array(packed);
 	sort_ref_array(loose);
 	while (p < packed->nr && l < loose->nr) {
diff --git a/refs.h b/refs.h
index 00ba1e2..33202b0 100644
--- a/refs.h
+++ b/refs.h
@@ -56,14 +56,6 @@ extern void warn_dangling_symref(FILE *fp, const char *msg_fmt, const char *refn
  */
 extern void add_packed_ref(const char *refname, const unsigned char *sha1);
 
-/*
- * Extra refs will be listed by for_each_ref() before any actual refs
- * for the duration of this process or until clear_extra_refs() is
- * called. Only extra refs added before for_each_ref() is called will
- * be listed on a given call of for_each_ref().
- */
-extern void add_extra_ref(const char *refname, const unsigned char *sha1, int flags);
-extern void clear_extra_refs(void);
 extern int ref_exists(const char *);
 
 extern int peel_ref(const char *refname, unsigned char *sha1);
-- 
1.7.9
Previous: Junio C HamanoNext: Jeff King
Message 13 of 14 in “Make alternates affect fetch behavior”
  1. 0/7 Make alternates affect fetch behaviormhagger@alum.mit.edu, Feb 11, 2012
  2. 1/7 t5700: document a failure of alternates to affect fetchmhagger@alum.mit.edu, Feb 11, 2012
  3. Junio C HamanoFeb 13, 2012
  4. Michael HaggertyFeb 13, 2012
  5. 2/7 clone.c: move more code into the "if (refs)" conditionalmhagger@alum.mit.edu, Feb 11, 2012
  6. Junio C HamanoFeb 13, 2012
  7. 3/7 fetch-pack.c: rename some parameters from "path" to "refname"mhagger@alum.mit.edu, Feb 11, 2012
  8. Junio C HamanoFeb 13, 2012
  9. 4/7 fetch-pack.c: inline insert_alternate_refs()mhagger@alum.mit.edu, Feb 11, 2012
  10. 5/7 everything_local(): mark alternate refs as completemhagger@alum.mit.edu, Feb 11, 2012
  11. 6/7 clone: do not add alternate references to extra_refsmhagger@alum.mit.edu, Feb 11, 2012
  12. Junio C HamanoFeb 13, 2012
  13. 7/7 refs: remove the extra_refs APImhagger@alum.mit.edu, Feb 11, 2012
  14. Jeff KingFeb 14, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.