From: Stefan Sperling Subject: Re: tog add century To: Tracey Emery Cc: Stuart Henderson , gameoftrees@openbsd.org Date: Mon, 9 Dec 2019 15:35:03 +0100 On Tue, Dec 03, 2019 at 09:08:08AM -0700, Tracey Emery wrote: > On Tue, Dec 03, 2019 at 08:32:49AM -0700, Tracey Emery wrote: > > > > > > Here's a trivial patch to do this. Would anyone be opposed to it? > > > > Looks fine to me. Regress test would have to be altered again. > > > > > > > Here's a diff to address all of it, if approved. Perhaps we should just do what xkcd recommends? This way, if anyone complains, we just can point them at https://xkcd.com/1179/ and close this debate. diff --git a/got/got.c b/got/got.c index 7d9545d..67836e9 100644 --- a/got/got.c +++ b/got/got.c @@ -2519,7 +2519,7 @@ blame_cb(void *arg, int nlines, int lineno, struct got_object_id *id) committer_time = got_object_commit_get_committer_time(commit); if (localtime_r(&committer_time, &tm) == NULL) return got_error_from_errno("localtime_r"); - if (strftime(bline->datebuf, sizeof(bline->datebuf), "%G/%m/%d", + if (strftime(bline->datebuf, sizeof(bline->datebuf), "%G-%m-%d", &tm) >= sizeof(bline->datebuf)) { err = got_error(GOT_ERR_NO_SPACE); goto done; diff --git a/regress/cmdline/blame.sh b/regress/cmdline/blame.sh index 8f4e9a1..1b9e7ee 100755 --- a/regress/cmdline/blame.sh +++ b/regress/cmdline/blame.sh @@ -65,7 +65,7 @@ function test_blame_basic { local short_commit2=`trim_obj_id 32 $commit2` local short_commit3=`trim_obj_id 32 $commit3` - d=`date -r $author_time +"%G/%m/%d"` + d=`date -r $author_time +"%G-%m-%d"` echo "1) $short_commit1 $d $GOT_AUTHOR_8 1" > $testroot/stdout.expected echo "2) $short_commit2 $d $GOT_AUTHOR_8 2" >> $testroot/stdout.expected echo "3) $short_commit3 $d $GOT_AUTHOR_8 3" >> $testroot/stdout.expected @@ -113,7 +113,7 @@ function test_blame_tag { local short_commit1=`trim_obj_id 32 $commit1` local short_commit2=`trim_obj_id 32 $commit2` - d=`date -r $author_time +"%G/%m/%d"` + d=`date -r $author_time +"%G-%m-%d"` echo "1) $short_commit1 $d $GOT_AUTHOR_8 1" > $testroot/stdout.expected echo "2) $short_commit2 $d $GOT_AUTHOR_8 2" >> $testroot/stdout.expected @@ -149,7 +149,7 @@ function test_blame_file_single_line { local short_commit1=`trim_obj_id 32 $commit1` - d=`date -r $author_time +"%G/%m/%d"` + d=`date -r $author_time +"%G-%m-%d"` echo "1) $short_commit1 $d $GOT_AUTHOR_8 1" > $testroot/stdout.expected cmp -s $testroot/stdout.expected $testroot/stdout @@ -184,7 +184,7 @@ function test_blame_file_single_line_no_newline { local short_commit1=`trim_obj_id 32 $commit1` - d=`date -r $author_time +"%G/%m/%d"` + d=`date -r $author_time +"%G-%m-%d"` echo "1) $short_commit1 $d $GOT_AUTHOR_8 1" > $testroot/stdout.expected cmp -s $testroot/stdout.expected $testroot/stdout @@ -213,7 +213,7 @@ function test_blame_all_lines_replaced { (cd $testroot/wt && got blame alpha > $testroot/stdout) - d=`date -r $author_time +"%G/%m/%d"` + d=`date -r $author_time +"%G-%m-%d"` echo "1) $short_commit1 $d $GOT_AUTHOR_8 1" > $testroot/stdout.expected echo "2) $short_commit1 $d $GOT_AUTHOR_8 2" >> $testroot/stdout.expected echo "3) $short_commit1 $d $GOT_AUTHOR_8 3" >> $testroot/stdout.expected @@ -265,7 +265,7 @@ function test_blame_lines_shifted_up { (cd $testroot/wt && got blame alpha > $testroot/stdout) - d=`date -r $author_time +"%G/%m/%d"` + d=`date -r $author_time +"%G-%m-%d"` echo "1) $short_commit1 $d $GOT_AUTHOR_8 1" > $testroot/stdout.expected echo "2) $short_commit1 $d $GOT_AUTHOR_8 2" >> $testroot/stdout.expected echo "3) $short_commit3 $d $GOT_AUTHOR_8 foo" >> $testroot/stdout.expected @@ -321,7 +321,7 @@ function test_blame_lines_shifted_down { (cd $testroot/wt && got blame alpha > $testroot/stdout) - d=`date -r $author_time +"%G/%m/%d"` + d=`date -r $author_time +"%G-%m-%d"` echo "01) $short_commit1 $d $GOT_AUTHOR_8 1" \ > $testroot/stdout.expected echo "02) $short_commit1 $d $GOT_AUTHOR_8 2" \ @@ -394,7 +394,7 @@ EOF local commit1=`git_show_head $testroot/repo` local short_commit1=`trim_obj_id 32 $commit1` local author_time1=`git_show_author_time $testroot/repo` - local d1=`date -r $author_time1 +"%G/%m/%d"` + local d1=`date -r $author_time1 +"%G-%m-%d"` cat > $testroot/wt/alpha < $testroot/wt/alpha < $testroot/wt/alpha < $testroot/stdout) diff --git a/tog/tog.c b/tog/tog.c index 06adcab..db28ea8 100644 --- a/tog/tog.c +++ b/tog/tog.c @@ -1204,7 +1204,7 @@ draw_commit(struct tog_view *view, struct got_commit_object *commit, struct tog_colors *colors) { const struct got_error *err = NULL; - char datebuf[10]; /* YY-MM-DD + SPACE + NUL */ + char datebuf[12]; /* YYYY-MM-DD + SPACE + NUL */ char *logmsg0 = NULL, *logmsg = NULL; char *author = NULL; wchar_t *wlogmsg = NULL, *wauthor = NULL; @@ -1219,7 +1219,7 @@ draw_commit(struct tog_view *view, struct got_commit_object *commit, committer_time = got_object_commit_get_committer_time(commit); if (localtime_r(&committer_time, &tm) == NULL) return got_error_from_errno("localtime_r"); - if (strftime(datebuf, sizeof(datebuf), "%g/%m/%d ", &tm) + if (strftime(datebuf, sizeof(datebuf), "%G-%m-%d ", &tm) >= sizeof(datebuf)) return got_error(GOT_ERR_NO_SPACE); @@ -1491,7 +1491,7 @@ draw_commits(struct tog_view *view, struct commit_queue_entry **last, char *refs_str = NULL; wchar_t *wline; struct tog_color *tc; - static const size_t date_display_cols = 9; + static const size_t date_display_cols = 12; entry = first; ncommits = 0;