On Thu, Mar 16, 2017 at 10:27:06AM -0400, Jeff King wrote:

> -/*
> - * Return the name of the pack or index file with the specified sha1
> - * in its filename.  *base and *name are scratch space that must be
> - * provided by the caller.  which should be "pack" or "idx".
> - */
> -static char *sha1_get_pack_name(const unsigned char *sha1,
> -                             struct strbuf *buf,
> -                             const char *which)
> + char *odb_pack_name(struct strbuf *buf,
> +                  const unsigned char *sha1,
> +                  const char *ext)
>  {
>       strbuf_reset(buf);
>       strbuf_addf(buf, "%s/pack/pack-%s.%s", get_object_directory(),
> -                 sha1_to_hex(sha1), which);
> +                 sha1_to_hex(sha1), ext);
>       return buf->buf;
>  }

Incidentally, this entire function could be implemented as:

  return git_path_buf(buf, "objects/pack/pack-%s.%s",
                      sha1_to_hex(sha1), ext);

as the git_path() functions are smart enough to replace "objects/" with
the true object directory when necessary. I don't know if people find
that more or less readable. Since it's buried in a helper function, I
doubt it matters much either way. The git_path functions do also do some
path normalization, which might be of value.

-Peff

Reply via email to