All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Ronnie Sahlberg <sahlberg@google.com>
Cc: git@vger.kernel.org, gitster@pobox.com
Subject: Re: [PATCH 1/5] refs.c: allow passing raw git_committer_info as email to _update_reflog
Date: Fri, 25 Jul 2014 12:37:28 -0700	[thread overview]
Message-ID: <20140725193728.GG12427@google.com> (raw)
In-Reply-To: <1406307521-10339-2-git-send-email-sahlberg@google.com>

Ronnie Sahlberg wrote:

> Add a new flag REFLOG_EMAIL_IS_COMMITTER to _update_reflog to tell it
> that what we pass in as email is already the fully baked committer string
> we can use as-is.

With and without the new flag, the 'email' argument has two different
meanings:

 * with the new flag, it should be an ident string, like
   'Jonathan Nieder <jrnieder@gmail.com> 1406251347 -0700'

 * without it, it should be the name-part of an ident string,
   like 'Jonathan Nieder <jrnieder@gmail.com>

In neither case is it an email address.  This seems unnecessarily
confusing.

Is the caller responsible for checking the argument for validity?
Do callers do so?  Is this performance-critical or could the
transaction_update_reflog function do a sanity-check?

[...]
>  /*
>   * Append a reflog entry for refname. If the REFLOG_TRUNCATE flag is set
>   * this update will first truncate the reflog before writing the entry.
>   * If msg is NULL no update will be written to the log.
>   */
>  int transaction_update_reflog(struct ref_transaction *transaction,
>                                const char *refname,
>                                const unsigned char *new_sha1,
>                                const unsigned char *old_sha1,
>                                const char *email,
>                                unsigned long timestamp, int tz,
>                                const char *msg, int flags,
>                                struct strbuf *err);

This is a lot of parameters, some optional, not all documented.  Would
it make sense to pack some into a struct?

Thanks and hope that helps,
Jonathan

  reply	other threads:[~2014-07-25 19:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-25 16:58 [PATCH 0/5] ref-transactions-rename Ronnie Sahlberg
2014-07-25 16:58 ` [PATCH 1/5] refs.c: allow passing raw git_committer_info as email to _update_reflog Ronnie Sahlberg
2014-07-25 19:37   ` Jonathan Nieder [this message]
2014-07-28 18:01     ` Ronnie Sahlberg
2014-07-28 23:39       ` Eric Sunshine
2014-07-25 16:58 ` [PATCH 2/5] refs.c: return error instead of dying when locking fails during transaction Ronnie Sahlberg
2014-07-25 19:40   ` Jonathan Nieder
2014-07-28 19:01     ` Ronnie Sahlberg
2014-07-25 16:58 ` [PATCH 3/5] refs.c: use packed refs when deleting refs during a transaction Ronnie Sahlberg
2014-07-25 19:58   ` Jonathan Nieder
2014-07-25 16:58 ` [PATCH 4/5] refs.c: update rename_ref to use " Ronnie Sahlberg
2014-07-25 20:00   ` Jonathan Nieder
2014-07-25 16:58 ` [PATCH 5/5] refs.c: rollback the lockfile before we die() in repack_without_refs Ronnie Sahlberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140725193728.GG12427@google.com \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sahlberg@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.