@@ -1450,32 +1450,32 @@ int resolve_gitlink_ref(const char *submodule, const char *refname,
1450
1450
return 0 ;
1451
1451
}
1452
1452
1453
- struct submodule_hash_entry
1453
+ struct ref_store_hash_entry
1454
1454
{
1455
1455
struct hashmap_entry ent ; /* must be the first member! */
1456
1456
1457
1457
struct ref_store * refs ;
1458
1458
1459
- /* NUL-terminated name of submodule : */
1460
- char submodule [FLEX_ARRAY ];
1459
+ /* NUL-terminated identifier of the ref store : */
1460
+ char name [FLEX_ARRAY ];
1461
1461
};
1462
1462
1463
- static int submodule_hash_cmp (const void * entry , const void * entry_or_key ,
1463
+ static int ref_store_hash_cmp (const void * entry , const void * entry_or_key ,
1464
1464
const void * keydata )
1465
1465
{
1466
- const struct submodule_hash_entry * e1 = entry , * e2 = entry_or_key ;
1467
- const char * submodule = keydata ? keydata : e2 -> submodule ;
1466
+ const struct ref_store_hash_entry * e1 = entry , * e2 = entry_or_key ;
1467
+ const char * name = keydata ? keydata : e2 -> name ;
1468
1468
1469
- return strcmp (e1 -> submodule , submodule );
1469
+ return strcmp (e1 -> name , name );
1470
1470
}
1471
1471
1472
- static struct submodule_hash_entry * alloc_submodule_hash_entry (
1473
- const char * submodule , struct ref_store * refs )
1472
+ static struct ref_store_hash_entry * alloc_ref_store_hash_entry (
1473
+ const char * name , struct ref_store * refs )
1474
1474
{
1475
- struct submodule_hash_entry * entry ;
1475
+ struct ref_store_hash_entry * entry ;
1476
1476
1477
- FLEX_ALLOC_STR (entry , submodule , submodule );
1478
- hashmap_entry_init (entry , strhash (submodule ));
1477
+ FLEX_ALLOC_STR (entry , name , name );
1478
+ hashmap_entry_init (entry , strhash (name ));
1479
1479
entry -> refs = refs ;
1480
1480
return entry ;
1481
1481
}
@@ -1487,19 +1487,19 @@ static struct ref_store *main_ref_store;
1487
1487
static struct hashmap submodule_ref_stores ;
1488
1488
1489
1489
/*
1490
- * Return the ref_store instance for the specified submodule . If that
1491
- * ref_store hasn't been initialized yet, return NULL.
1490
+ * Look up a ref store by name . If that ref_store hasn't been
1491
+ * registered yet, return NULL.
1492
1492
*/
1493
- static struct ref_store * lookup_submodule_ref_store (const char * submodule )
1493
+ static struct ref_store * lookup_ref_store_map (struct hashmap * map ,
1494
+ const char * name )
1494
1495
{
1495
- struct submodule_hash_entry * entry ;
1496
+ struct ref_store_hash_entry * entry ;
1496
1497
1497
- if (!submodule_ref_stores . tablesize )
1498
+ if (!map -> tablesize )
1498
1499
/* It's initialized on demand in register_ref_store(). */
1499
1500
return NULL ;
1500
1501
1501
- entry = hashmap_get_from_hash (& submodule_ref_stores ,
1502
- strhash (submodule ), submodule );
1502
+ entry = hashmap_get_from_hash (map , strhash (name ), name );
1503
1503
return entry ? entry -> refs : NULL ;
1504
1504
}
1505
1505
@@ -1535,20 +1535,19 @@ struct ref_store *get_main_ref_store(void)
1535
1535
}
1536
1536
1537
1537
/*
1538
- * Register the specified ref_store to be the one that should be used
1539
- * for submodule. It is a fatal error to call this function twice for
1540
- * the same submodule.
1538
+ * Associate a ref store with a name. It is a fatal error to call this
1539
+ * function twice for the same name.
1541
1540
*/
1542
- static void register_submodule_ref_store (struct ref_store * refs ,
1543
- const char * submodule )
1541
+ static void register_ref_store_map (struct hashmap * map ,
1542
+ const char * type ,
1543
+ struct ref_store * refs ,
1544
+ const char * name )
1544
1545
{
1545
- if (!submodule_ref_stores . tablesize )
1546
- hashmap_init (& submodule_ref_stores , submodule_hash_cmp , 0 );
1546
+ if (!map -> tablesize )
1547
+ hashmap_init (map , ref_store_hash_cmp , 0 );
1547
1548
1548
- if (hashmap_put (& submodule_ref_stores ,
1549
- alloc_submodule_hash_entry (submodule , refs )))
1550
- die ("BUG: ref_store for submodule '%s' initialized twice" ,
1551
- submodule );
1549
+ if (hashmap_put (map , alloc_ref_store_hash_entry (name , refs )))
1550
+ die ("BUG: %s ref_store '%s' initialized twice" , type , name );
1552
1551
}
1553
1552
1554
1553
struct ref_store * get_submodule_ref_store (const char * submodule )
@@ -1565,7 +1564,7 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
1565
1564
return get_main_ref_store ();
1566
1565
}
1567
1566
1568
- refs = lookup_submodule_ref_store ( submodule );
1567
+ refs = lookup_ref_store_map ( & submodule_ref_stores , submodule );
1569
1568
if (refs )
1570
1569
return refs ;
1571
1570
@@ -1584,7 +1583,8 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
1584
1583
/* assume that add_submodule_odb() has been called */
1585
1584
refs = ref_store_init (submodule_sb .buf ,
1586
1585
REF_STORE_READ | REF_STORE_ODB );
1587
- register_submodule_ref_store (refs , submodule );
1586
+ register_ref_store_map (& submodule_ref_stores , "submodule" ,
1587
+ refs , submodule );
1588
1588
1589
1589
strbuf_release (& submodule_sb );
1590
1590
return refs ;
0 commit comments