Re: [PATCH 1/5] refs.c: allow passing raw git_committer_info as email to _update_reflog
On Mon, Jul 28, 2014 at 2:01 PM, Ronnie Sahlberg <sahlberg@google.com> wrote:
Show 24 quoted lines
> On Fri, Jul 25, 2014 at 12:37 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
>> Ronnie Sahlberg wrote:
>>> /*
>>> * 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?
>
> I changed email,timestamp,tz into a struct
> /*
> * Committer data provided to reflog updates.
> * If flags contain REFLOG_COMMITTER_DATA_IS_VALID then
> * then the structure contains a prebaked committer string
Show 20 quoted lines
> * just like git_committer_info() would return.
> *
> * If flags does not contain REFLOG_COMMITTER_DATA_IS_VALID
> * then the committer info string will be generated using the passed
> * email, timestamp and tz fields.
> * This is useful for example from reflog iterators where you are passed
> * these fields individually and not as a prebaked git_committer_info()
> * string.
> */
> struct reflog_committer_info {
> const char *committer_info;
>
> const char *id;
> unsigned long timestamp;
> int tz;
> };
>
>>
>> Thanks and hope that helps,
>> Jonathan