diff options
author | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
---|---|---|
committer | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
commit | 6a2a3007077818e24a3d56fc492ada9206a10cf0 (patch) | |
tree | 3e8b0ecad07316a5542d4065903d7e29c3d307b9 /third_party/git/dottime.patch | |
parent | 5a069d588820da31134d435268bca1cd1532783a (diff) |
chore(third_party/git): Remove plain patch check-in r/372
Diffstat (limited to 'third_party/git/dottime.patch')
-rw-r--r-- | third_party/git/dottime.patch | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/third_party/git/dottime.patch b/third_party/git/dottime.patch deleted file mode 100644 index c715d9b90768..000000000000 --- a/third_party/git/dottime.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 2179e70febda8fdfcaf214a125805f6ce5ee393a Mon Sep 17 00:00:00 2001 -From: Vincent Ambo <tazjin@google.com> -Date: Mon, 6 Jan 2020 16:00:52 +0000 -Subject: [PATCH] date: add "dottime" format - -Adds dottime (as defined on https://dotti.me) as a timestamp format. - -This format is designed to simplify working with timestamps across -many different timezones by keeping the timestamp format itself in -UTC (and indicating this with a dot character), but appending the -local offset. - -This is implemented as a new format because the timestamp needs to be -rendered both as UTC and including the offset, an implementation using -a strftime formatting string is not sufficient. ---- - Documentation/rev-list-options.txt | 3 +++ - builtin/blame.c | 3 +++ - cache.h | 3 ++- - date.c | 17 +++++++++++++++++ - t/t0006-date.sh | 2 ++ - 5 files changed, 27 insertions(+), 1 deletion(-) - -diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt -index bfd02ade99..0d49eb448f 100644 ---- a/Documentation/rev-list-options.txt -+++ b/Documentation/rev-list-options.txt -@@ -890,6 +890,9 @@ omitted. - 1970). As with `--raw`, this is always in UTC and therefore `-local` - has no effect. - -+`--date=dottime` shows the date in dottime format (rendered as UTC, -+but suffixed with the local timezone offset if given) -+ - `--date=format:...` feeds the format `...` to your system `strftime`, - except for %z and %Z, which are handled internally. - Use `--date=format:%c` to show the date in your system locale's -diff --git a/builtin/blame.c b/builtin/blame.c -index bf1cecdf3f..edd4bf7e3b 100644 ---- a/builtin/blame.c -+++ b/builtin/blame.c -@@ -981,6 +981,9 @@ int cmd_blame(int argc, const char **argv, const char *prefix) - case DATE_STRFTIME: - blame_date_width = strlen(show_date(0, 0, &blame_date_mode)) + 1; /* add the null */ - break; -+ case DATE_DOTTIME: -+ blame_date_width = sizeof("2006-10-19T15·00-0700"); -+ break; - } - blame_date_width -= 1; /* strip the null */ - -diff --git a/cache.h b/cache.h -index 1554488d66..2b7b3387cf 100644 ---- a/cache.h -+++ b/cache.h -@@ -1580,7 +1580,8 @@ enum date_mode_type { - DATE_RFC2822, - DATE_STRFTIME, - DATE_RAW, -- DATE_UNIX -+ DATE_UNIX, -+ DATE_DOTTIME - }; - - struct date_mode { -diff --git a/date.c b/date.c -index b0d9a8421d..0355c0676b 100644 ---- a/date.c -+++ b/date.c -@@ -347,6 +347,21 @@ const char *show_date(timestamp_t time, int tz, const struct date_mode *mode) - tm->tm_mday, - tm->tm_hour, tm->tm_min, tm->tm_sec, - sign, tz / 100, tz % 100); -+ } else if (mode->type == DATE_DOTTIME) { -+ char sign = (tz >= 0) ? '+' : '-'; -+ tz = abs(tz); -+ -+ // Time is converted again without the timezone as the -+ // dottime format includes the zone only in offset -+ // position. -+ time_t t = gm_time_t(time, 0); -+ tm = gmtime(&t); -+ strbuf_addf(&timebuf, "%04d-%02d-%02dT%02d·%02d%c%02d%02d", -+ tm->tm_year + 1900, -+ tm->tm_mon + 1, -+ tm->tm_mday, -+ tm->tm_hour, tm->tm_min, -+ sign, tz / 100, tz % 100); - } else if (mode->type == DATE_RFC2822) - strbuf_addf(&timebuf, "%.3s, %d %.3s %d %02d:%02d:%02d %+05d", - weekday_names[tm->tm_wday], tm->tm_mday, -@@ -918,6 +933,8 @@ static enum date_mode_type parse_date_type(const char *format, const char **end) - return DATE_UNIX; - if (skip_prefix(format, "format", end)) - return DATE_STRFTIME; -+ if (skip_prefix(format, "dottime", end)) -+ return DATE_DOTTIME; - /* - * Please update $__git_log_date_formats in - * git-completion.bash when you add new formats. -diff --git a/t/t0006-date.sh b/t/t0006-date.sh -index d9fcc829a9..b723db1f76 100755 ---- a/t/t0006-date.sh -+++ b/t/t0006-date.sh -@@ -49,9 +49,11 @@ check_show short "$TIME" '2016-06-15' - check_show default "$TIME" 'Wed Jun 15 16:13:20 2016 +0200' - check_show raw "$TIME" '1466000000 +0200' - check_show unix "$TIME" '1466000000' -+check_show dottime "$TIME" '2016-06-15T14·13+0200' - check_show iso-local "$TIME" '2016-06-15 14:13:20 +0000' - check_show raw-local "$TIME" '1466000000 +0000' - check_show unix-local "$TIME" '1466000000' -+check_show dottime-local "$TIME" '2016-06-15T14·13+0000' - - check_show 'format:%z' "$TIME" '+0200' - check_show 'format-local:%z' "$TIME" '+0000' --- -2.24.1.735.g03f4e72817-goog - |