From: Mark Jamsek Subject: Re: show from/via on consecutive lines in commit log To: gameoftrees@openbsd.org Date: Sun, 8 Jan 2023 03:04:42 +1100 On 23-01-07 04:48PM, Stefan Sperling wrote: > Both 'got log' and 'tog log' currently display the commit date > between the from: and via: lines. This patch tweaks the display > such that from: and via: appear on consecutive lines. I believe > this looks nicer, especially in case where commits were created > with the -A flag. > > The date is always the committer's timestamp, and it is now always > displayed below the name of the committer. > > Amazingly, there is no test fallout at all because the tests which > look at from/via lines all use grep to filter out the date. > > ok? yes, ok I'm somewhat ambivalent from an aesthetic perspective: it certainly reads better, but contiguous FROM and VIA lines in the same colour throws me! I wonder if we need to colour distinguish FROM and VIA now :) > > diff /home/stsp/src/got > commit - d651dcfa6fe871c93d967b1b741d2ad4bbb9e2c2 > path + /home/stsp/src/got > blob - f3bab984d4721436391e5b71e5cb14178af9a6ff > file + got/got.c > --- got/got.c > +++ got/got.c > @@ -4202,14 +4202,14 @@ print_commit(struct got_commit_object *commit, struct > free(refs_str); > refs_str = NULL; > printf("from: %s\n", got_object_commit_get_author(commit)); > - committer_time = got_object_commit_get_committer_time(commit); > - datestr = get_datestr(&committer_time, datebuf); > - if (datestr) > - printf("date: %s UTC\n", datestr); > author = got_object_commit_get_author(commit); > committer = got_object_commit_get_committer(commit); > if (strcmp(author, committer) != 0) > printf("via: %s\n", committer); > + committer_time = got_object_commit_get_committer_time(commit); > + datestr = get_datestr(&committer_time, datebuf); > + if (datestr) > + printf("date: %s UTC\n", datestr); > if (got_object_commit_get_nparents(commit) > 1) { > const struct got_object_id_queue *parent_ids; > struct got_object_qid *qid; > blob - c032241608751301e7be7c2f440255dec505fecb > file + tog/tog.c > --- tog/tog.c > +++ tog/tog.c > @@ -4618,20 +4618,6 @@ write_commit_info(struct got_diff_line **lines, size_t > if (err) > goto done; > > - committer_time = got_object_commit_get_committer_time(commit); > - datestr = get_datestr(&committer_time, datebuf); > - if (datestr) { > - n = fprintf(outfile, "date: %s UTC\n", datestr); > - if (n < 0) { > - err = got_error_from_errno("fprintf"); > - goto done; > - } > - outoff += n; > - err = add_line_metadata(lines, nlines, outoff, > - GOT_DIFF_LINE_DATE); > - if (err) > - goto done; > - } > author = got_object_commit_get_author(commit); > committer = got_object_commit_get_committer(commit); > if (strcmp(author, committer) != 0) { > @@ -4646,6 +4632,20 @@ write_commit_info(struct got_diff_line **lines, size_t > if (err) > goto done; > } > + committer_time = got_object_commit_get_committer_time(commit); > + datestr = get_datestr(&committer_time, datebuf); > + if (datestr) { > + n = fprintf(outfile, "date: %s UTC\n", datestr); > + if (n < 0) { > + err = got_error_from_errno("fprintf"); > + goto done; > + } > + outoff += n; > + err = add_line_metadata(lines, nlines, outoff, > + GOT_DIFF_LINE_DATE); > + if (err) > + goto done; > + } > if (got_object_commit_get_nparents(commit) > 1) { > const struct got_object_id_queue *parent_ids; > struct got_object_qid *qid; > -- Mark Jamsek GPG: F2FF 13DE 6A06 C471 CA80 E6E2 2930 DC66 86EE CF68