Skip to content

Commit 3d8046a

Browse files
committed
Merge branch 'ab/refs-various-fixes'
Code clean-up. * ab/refs-various-fixes: refs debug: add a wrapper for "read_symbolic_ref" packed-backend: remove stub BUG(...) functions misc *.c: use designated initializers for struct assignments refs: use designated initializers for "struct ref_iterator_vtable" refs: use designated initializers for "struct ref_storage_be"
2 parents abf474a + 5b87540 commit 3d8046a

File tree

9 files changed

+135
-188
lines changed

9 files changed

+135
-188
lines changed

attr.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ static int attr_hash_entry_cmp(const void *unused_cmp_data,
7979
* Access to this dictionary must be surrounded with a mutex.
8080
*/
8181
static struct attr_hashmap g_attr_hashmap = {
82-
HASHMAP_INIT(attr_hash_entry_cmp, NULL)
82+
.map = HASHMAP_INIT(attr_hash_entry_cmp, NULL),
8383
};
8484

8585
/*

notes-merge.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ static struct notes_merge_pair *find_notes_merge_pair_pos(
113113
}
114114

115115
static struct object_id uninitialized = {
116+
.hash =
116117
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" \
117118
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
118119
};

object-file.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -274,10 +274,11 @@ static struct cached_object {
274274
static int cached_object_nr, cached_object_alloc;
275275

276276
static struct cached_object empty_tree = {
277-
{ EMPTY_TREE_SHA1_BIN_LITERAL },
278-
OBJ_TREE,
279-
"",
280-
0
277+
.oid = {
278+
.hash = EMPTY_TREE_SHA1_BIN_LITERAL,
279+
},
280+
.type = OBJ_TREE,
281+
.buf = "",
281282
};
282283

283284
static struct cached_object *find_cached_object(const struct object_id *oid)

refs.c

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,18 +1676,7 @@ int refs_read_raw_ref(struct ref_store *ref_store, const char *refname,
16761676
int refs_read_symbolic_ref(struct ref_store *ref_store, const char *refname,
16771677
struct strbuf *referent)
16781678
{
1679-
struct object_id oid;
1680-
int ret, failure_errno = 0;
1681-
unsigned int type = 0;
1682-
1683-
if (ref_store->be->read_symbolic_ref)
1684-
return ref_store->be->read_symbolic_ref(ref_store, refname, referent);
1685-
1686-
ret = refs_read_raw_ref(ref_store, refname, &oid, referent, &type, &failure_errno);
1687-
if (ret || !(type & REF_ISSYMREF))
1688-
return -1;
1689-
1690-
return 0;
1679+
return ref_store->be->read_symbolic_ref(ref_store, refname, referent);
16911680
}
16921681

16931682
const char *refs_resolve_ref_unsafe(struct ref_store *refs,

refs/debug.c

Lines changed: 54 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,9 @@ static int debug_ref_iterator_abort(struct ref_iterator *ref_iterator)
220220
}
221221

222222
static struct ref_iterator_vtable debug_ref_iterator_vtable = {
223-
debug_ref_iterator_advance, debug_ref_iterator_peel,
224-
debug_ref_iterator_abort
223+
.advance = debug_ref_iterator_advance,
224+
.peel = debug_ref_iterator_peel,
225+
.abort = debug_ref_iterator_abort,
225226
};
226227

227228
static struct ref_iterator *
@@ -261,6 +262,24 @@ static int debug_read_raw_ref(struct ref_store *ref_store, const char *refname,
261262
return res;
262263
}
263264

265+
static int debug_read_symbolic_ref(struct ref_store *ref_store, const char *refname,
266+
struct strbuf *referent)
267+
{
268+
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
269+
struct ref_store *refs = drefs->refs;
270+
int res;
271+
272+
res = refs->be->read_symbolic_ref(refs, refname, referent);
273+
if (!res)
274+
trace_printf_key(&trace_refs, "read_symbolic_ref: %s: (%s)\n",
275+
refname, referent->buf);
276+
else
277+
trace_printf_key(&trace_refs,
278+
"read_symbolic_ref: %s: %d\n", refname, res);
279+
return res;
280+
281+
}
282+
264283
static struct ref_iterator *
265284
debug_reflog_iterator_begin(struct ref_store *ref_store)
266285
{
@@ -418,30 +437,37 @@ static int debug_reflog_expire(struct ref_store *ref_store, const char *refname,
418437
}
419438

420439
struct ref_storage_be refs_be_debug = {
421-
NULL,
422-
"debug",
423-
NULL,
424-
debug_init_db,
425-
debug_transaction_prepare,
426-
debug_transaction_finish,
427-
debug_transaction_abort,
428-
debug_initial_transaction_commit,
429-
430-
debug_pack_refs,
431-
debug_create_symref,
432-
debug_delete_refs,
433-
debug_rename_ref,
434-
debug_copy_ref,
435-
436-
debug_ref_iterator_begin,
437-
debug_read_raw_ref,
438-
NULL,
439-
440-
debug_reflog_iterator_begin,
441-
debug_for_each_reflog_ent,
442-
debug_for_each_reflog_ent_reverse,
443-
debug_reflog_exists,
444-
debug_create_reflog,
445-
debug_delete_reflog,
446-
debug_reflog_expire,
440+
.next = NULL,
441+
.name = "debug",
442+
.init = NULL,
443+
.init_db = debug_init_db,
444+
445+
/*
446+
* None of these should be NULL. If the "files" backend (in
447+
* "struct ref_storage_be refs_be_files" in files-backend.c)
448+
* has a function we should also have a wrapper for it here.
449+
* Test the output with "GIT_TRACE_REFS=1".
450+
*/
451+
.transaction_prepare = debug_transaction_prepare,
452+
.transaction_finish = debug_transaction_finish,
453+
.transaction_abort = debug_transaction_abort,
454+
.initial_transaction_commit = debug_initial_transaction_commit,
455+
456+
.pack_refs = debug_pack_refs,
457+
.create_symref = debug_create_symref,
458+
.delete_refs = debug_delete_refs,
459+
.rename_ref = debug_rename_ref,
460+
.copy_ref = debug_copy_ref,
461+
462+
.iterator_begin = debug_ref_iterator_begin,
463+
.read_raw_ref = debug_read_raw_ref,
464+
.read_symbolic_ref = debug_read_symbolic_ref,
465+
466+
.reflog_iterator_begin = debug_reflog_iterator_begin,
467+
.for_each_reflog_ent = debug_for_each_reflog_ent,
468+
.for_each_reflog_ent_reverse = debug_for_each_reflog_ent_reverse,
469+
.reflog_exists = debug_reflog_exists,
470+
.create_reflog = debug_create_reflog,
471+
.delete_reflog = debug_delete_reflog,
472+
.reflog_expire = debug_reflog_expire,
447473
};

refs/files-backend.c

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -822,9 +822,9 @@ static int files_ref_iterator_abort(struct ref_iterator *ref_iterator)
822822
}
823823

824824
static struct ref_iterator_vtable files_ref_iterator_vtable = {
825-
files_ref_iterator_advance,
826-
files_ref_iterator_peel,
827-
files_ref_iterator_abort
825+
.advance = files_ref_iterator_advance,
826+
.peel = files_ref_iterator_peel,
827+
.abort = files_ref_iterator_abort,
828828
};
829829

830830
static struct ref_iterator *files_ref_iterator_begin(
@@ -2232,9 +2232,9 @@ static int files_reflog_iterator_abort(struct ref_iterator *ref_iterator)
22322232
}
22332233

22342234
static struct ref_iterator_vtable files_reflog_iterator_vtable = {
2235-
files_reflog_iterator_advance,
2236-
files_reflog_iterator_peel,
2237-
files_reflog_iterator_abort
2235+
.advance = files_reflog_iterator_advance,
2236+
.peel = files_reflog_iterator_peel,
2237+
.abort = files_reflog_iterator_abort,
22382238
};
22392239

22402240
static struct ref_iterator *reflog_iterator_begin(struct ref_store *ref_store,
@@ -3292,30 +3292,30 @@ static int files_init_db(struct ref_store *ref_store, struct strbuf *err)
32923292
}
32933293

32943294
struct ref_storage_be refs_be_files = {
3295-
NULL,
3296-
"files",
3297-
files_ref_store_create,
3298-
files_init_db,
3299-
files_transaction_prepare,
3300-
files_transaction_finish,
3301-
files_transaction_abort,
3302-
files_initial_transaction_commit,
3303-
3304-
files_pack_refs,
3305-
files_create_symref,
3306-
files_delete_refs,
3307-
files_rename_ref,
3308-
files_copy_ref,
3309-
3310-
files_ref_iterator_begin,
3311-
files_read_raw_ref,
3312-
files_read_symbolic_ref,
3313-
3314-
files_reflog_iterator_begin,
3315-
files_for_each_reflog_ent,
3316-
files_for_each_reflog_ent_reverse,
3317-
files_reflog_exists,
3318-
files_create_reflog,
3319-
files_delete_reflog,
3320-
files_reflog_expire
3295+
.next = NULL,
3296+
.name = "files",
3297+
.init = files_ref_store_create,
3298+
.init_db = files_init_db,
3299+
.transaction_prepare = files_transaction_prepare,
3300+
.transaction_finish = files_transaction_finish,
3301+
.transaction_abort = files_transaction_abort,
3302+
.initial_transaction_commit = files_initial_transaction_commit,
3303+
3304+
.pack_refs = files_pack_refs,
3305+
.create_symref = files_create_symref,
3306+
.delete_refs = files_delete_refs,
3307+
.rename_ref = files_rename_ref,
3308+
.copy_ref = files_copy_ref,
3309+
3310+
.iterator_begin = files_ref_iterator_begin,
3311+
.read_raw_ref = files_read_raw_ref,
3312+
.read_symbolic_ref = files_read_symbolic_ref,
3313+
3314+
.reflog_iterator_begin = files_reflog_iterator_begin,
3315+
.for_each_reflog_ent = files_for_each_reflog_ent,
3316+
.for_each_reflog_ent_reverse = files_for_each_reflog_ent_reverse,
3317+
.reflog_exists = files_reflog_exists,
3318+
.create_reflog = files_create_reflog,
3319+
.delete_reflog = files_delete_reflog,
3320+
.reflog_expire = files_reflog_expire
33213321
};

refs/iterator.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ static int empty_ref_iterator_abort(struct ref_iterator *ref_iterator)
6464
}
6565

6666
static struct ref_iterator_vtable empty_ref_iterator_vtable = {
67-
empty_ref_iterator_advance,
68-
empty_ref_iterator_peel,
69-
empty_ref_iterator_abort
67+
.advance = empty_ref_iterator_advance,
68+
.peel = empty_ref_iterator_peel,
69+
.abort = empty_ref_iterator_abort,
7070
};
7171

7272
struct ref_iterator *empty_ref_iterator_begin(void)
@@ -201,9 +201,9 @@ static int merge_ref_iterator_abort(struct ref_iterator *ref_iterator)
201201
}
202202

203203
static struct ref_iterator_vtable merge_ref_iterator_vtable = {
204-
merge_ref_iterator_advance,
205-
merge_ref_iterator_peel,
206-
merge_ref_iterator_abort
204+
.advance = merge_ref_iterator_advance,
205+
.peel = merge_ref_iterator_peel,
206+
.abort = merge_ref_iterator_abort,
207207
};
208208

209209
struct ref_iterator *merge_ref_iterator_begin(
@@ -378,9 +378,9 @@ static int prefix_ref_iterator_abort(struct ref_iterator *ref_iterator)
378378
}
379379

380380
static struct ref_iterator_vtable prefix_ref_iterator_vtable = {
381-
prefix_ref_iterator_advance,
382-
prefix_ref_iterator_peel,
383-
prefix_ref_iterator_abort
381+
.advance = prefix_ref_iterator_advance,
382+
.peel = prefix_ref_iterator_peel,
383+
.abort = prefix_ref_iterator_abort,
384384
};
385385

386386
struct ref_iterator *prefix_ref_iterator_begin(struct ref_iterator *iter0,

0 commit comments

Comments
 (0)