MCPcopy Create free account
hub / github.com/git/git / files_ref_path

Function files_ref_path

refs/files-backend.c:214–238  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

212}
213
214static void files_ref_path(struct files_ref_store *refs,
215 struct strbuf *sb,
216 const char *refname)
217{
218 const char *bare_refname;
219 const char *wtname;
220 int wtname_len;
221 enum ref_worktree_type wt_type = parse_worktree_ref(
222 refname, &wtname, &wtname_len, &bare_refname);
223 switch (wt_type) {
224 case REF_WORKTREE_CURRENT:
225 strbuf_addf(sb, "%s/%s", refs->base.gitdir, refname);
226 break;
227 case REF_WORKTREE_OTHER:
228 strbuf_addf(sb, "%s/worktrees/%.*s/%s", refs->gitcommondir,
229 wtname_len, wtname, bare_refname);
230 break;
231 case REF_WORKTREE_SHARED:
232 case REF_WORKTREE_MAIN:
233 strbuf_addf(sb, "%s/%s", refs->gitcommondir, bare_refname);
234 break;
235 default:
236 BUG("unknown ref type %d of ref %s", wt_type, refname);
237 }
238}
239
240/*
241 * Manually add refs/bisect, refs/rewritten and refs/worktree, which, being

Callers 9

loose_fill_ref_dirFunction · 0.85
for_each_root_refFunction · 0.85
read_ref_internalFunction · 0.85
lock_raw_refFunction · 0.85
lock_ref_oid_basicFunction · 0.85
try_remove_empty_parentsFunction · 0.85
files_copy_or_rename_refFunction · 0.85
files_transaction_finishFunction · 0.85

Calls 2

parse_worktree_refFunction · 0.85
strbuf_addfFunction · 0.85

Tested by

no test coverage detected