Re: [PATCH 11/17] refs.c: simplify strbufs in reflog setup and writing
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Aug 10, 2015, 10:34 UTC
- Message-ID
- <55C87E1D.6080705@alum.mit.edu>
- In-Reply-To
- <20150810093638.GK30981@sigill.intra.peff.net>
On 08/10/2015 11:36 AM, Jeff King wrote:
Show 40 quoted lines
> Commit 1a83c24 (git_snpath(): retire and replace with
> strbuf_git_path(), 2014-11-30) taught log_ref_setup and
> log_ref_write_1 to take a strbuf parameter, rather than a
> bare string. It then makes an alias to the strbuf's "buf"
> field under the original name.
>
> This made the original diff much shorter, but the resulting
> code is more complicated that it needs to be. Since we've
> aliased the pointer, we drop our reference to the strbuf to
> ensure we don't accidentally change it. But if we simply
> drop our alias and use "logfile.buf" directly, we do not
> have to worry about this aliasing. It's a larger diff, but
> the resulting code is simpler.
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> refs.c | 38 +++++++++++++++-----------------------
> 1 file changed, 15 insertions(+), 23 deletions(-)
>
> diff --git a/refs.c b/refs.c
> index 06f95c4..3666132 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -3150,46 +3150,42 @@ static int should_autocreate_reflog(const char *refname)
> * should_autocreate_reflog returns non-zero. Otherwise, create it
> * regardless of the ref name. Fill in *err and return -1 on failure.
> */
> -static int log_ref_setup(const char *refname, struct strbuf *sb_logfile, struct strbuf *err, int force_create)
> +static int log_ref_setup(const char *refname, struct strbuf *logfile, struct strbuf *err, int force_create)
> {
> [...]
> @@ -3233,36 +3229,32 @@ static int log_ref_write_fd(int fd, const unsigned char *old_sha1,
>
> static int log_ref_write_1(const char *refname, const unsigned char *old_sha1,
> const unsigned char *new_sha1, const char *msg,
> - struct strbuf *sb_log_file, int flags,
> + struct strbuf *log_file, int flags,
> struct strbuf *err)
> {
> [...]Nice change.
How about taking this opportunity to name the parameters ("logfile" vs. "log_file") consistently?
Michael
-- Michael Haggerty mhagger@alum.mit.edu