diff options
author | Calvin Wan <calvinwan@google.com> | 2023-06-06 22:48:41 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-06-12 23:49:36 +0300 |
commit | f94018506c6103331a0183d78b206f39cf739ec3 (patch) | |
tree | 4d46cf1c422bf44be5d035ed73068df9184970b1 /object-name.c | |
parent | f89854362cbe60371605dac3ae542109218ef1f3 (diff) |
object-name: move related functions to object-name
Move object-name-related functions from strbuf.[ch] to object-name.[ch]
so that strbuf is focused on string manipulation routines with minimal
dependencies.
dir.h relied on the forward declration of the repository struct in
strbuf.h. Since that is removed in this patch, add the forward
declaration to dir.h.
Signed-off-by: Calvin Wan <calvinwan@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'object-name.c')
-rw-r--r-- | object-name.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/object-name.c b/object-name.c index 6fc3fa595b..34e0f56703 100644 --- a/object-name.c +++ b/object-name.c @@ -768,6 +768,21 @@ static void find_abbrev_len_packed(struct min_abbrev_data *mad) find_abbrev_len_for_pack(p, mad); } +void strbuf_repo_add_unique_abbrev(struct strbuf *sb, struct repository *repo, + const struct object_id *oid, int abbrev_len) +{ + int r; + strbuf_grow(sb, GIT_MAX_HEXSZ + 1); + r = repo_find_unique_abbrev_r(repo, sb->buf + sb->len, oid, abbrev_len); + strbuf_setlen(sb, sb->len + r); +} + +void strbuf_add_unique_abbrev(struct strbuf *sb, const struct object_id *oid, + int abbrev_len) +{ + strbuf_repo_add_unique_abbrev(sb, the_repository, oid, abbrev_len); +} + int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len) { |