{"thread":{"id":"4489","subject":"[PATCH] blame: Add --time to produce raw timestamps","startedAt":"2006-06-12T21:42:10Z","lastAt":"2006-06-13T06:08:31Z","messageCount":3,"participants":["Fredrik Kuivinen","Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"21685","messageId":"20060612214210.22342.46844.stgit@c165","threadId":"4489","inReplyTo":null,"subject":"[PATCH] blame: Add --time to produce raw timestamps","fromName":"Fredrik Kuivinen","fromEmail":"freku045@student.liu.se","sentAt":"2006-06-12T21:42:10Z","receivedAt":"2006-06-12T21:42:10Z","isPatch":true,"sender":{"key":"frekui@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13770967?v=4"},"body":"\n\n\nSigned-off-by: Fredrik Kuivinen <freku045@student.liu.se>\n\n---\n\n Documentation/git-blame.txt |    5 ++++-\n blame.c                     |   24 ++++++++++++++++++++----\n 2 files changed, 24 insertions(+), 5 deletions(-)\n\ndiff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt\nindex 0a1fa00..bfed945 100644\n--- a/Documentation/git-blame.txt\n+++ b/Documentation/git-blame.txt\n@@ -20,7 +20,10 @@ OPTIONS\n \tUse the same output mode as git-annotate (Default: off).\n \n -l, --long::\n-\tShow long rev (Defaults off).\n+\tShow long rev (Default: off).\n+\n+-t, --time::\n+\tShow raw timestamp (Default: off).\n \n -S, --rev-file <revs-file>::\n \tUse revs from revs-file instead of calling git-rev-list.\ndiff --git a/blame.c b/blame.c\nindex 88bfec2..afa22b5 100644\n--- a/blame.c\n+++ b/blame.c\n@@ -20,9 +20,11 @@ #include \"xdiff-interface.h\"\n \n #define DEBUG 0\n \n-static const char blame_usage[] = \"[-c] [-l] [--] file [commit]\\n\"\n+static const char blame_usage[] = \"[-c] [-l] [-t] [-S <revs-file>] [--] file [commit]\\n\"\n \t\"  -c, --compability Use the same output mode as git-annotate (Default: off)\\n\"\n \t\"  -l, --long        Show long commit SHA1 (Default: off)\\n\"\n+        \"  -t, --time        Show raw timestamp (Default: off)\\n\"\n+\t\"  -S, --revs-file   Use revisions from revs-file instead of calling git-rev-list\\n\"\n \t\"  -h, --help        This message\";\n \n static struct commit **blame_lines;\n@@ -680,13 +682,19 @@ static void get_commit_info(struct commi\n \t*tmp = 0;\n }\n \n-static const char* format_time(unsigned long time, const char* tz_str)\n+static const char* format_time(unsigned long time, const char* tz_str,\n+\t\t\t       int raw_time)\n {\n \tstatic char time_buf[128];\n \ttime_t t = time;\n \tint minutes, tz;\n \tstruct tm *tm;\n \n+\tif (raw_time) {\n+\t\tsprintf(time_buf, \"%lu %s\", time, tz_str);\n+\t\treturn time_buf;\n+\t}\n+\n \ttz = atoi(tz_str);\n \tminutes = tz < 0 ? -tz : tz;\n \tminutes = (minutes / 100)*60 + (minutes % 100);\n@@ -740,6 +748,7 @@ int main(int argc, const char **argv)\n \tchar filename_buf[256];\n \tint sha1_len = 8;\n \tint compability = 0;\n+\tint raw_time = 0;\n \tint options = 1;\n \tstruct commit* start_commit;\n \n@@ -768,6 +777,10 @@ int main(int argc, const char **argv)\n \t\t\t\t  !strcmp(argv[i], \"--compability\")) {\n \t\t\t\tcompability = 1;\n \t\t\t\tcontinue;\n+\t\t\t} else if(!strcmp(argv[i], \"-t\") ||\n+\t\t\t\t  !strcmp(argv[i], \"--time\")) {\n+\t\t\t\traw_time = 1;\n+\t\t\t\tcontinue;\n \t\t\t} else if(!strcmp(argv[i], \"-S\")) {\n \t\t\t\tif (i + 1 < argc &&\n \t\t\t\t    !read_ancestry(argv[i + 1], &sha1_p)) {\n@@ -873,14 +886,17 @@ int main(int argc, const char **argv)\n \t\tfwrite(sha1_to_hex(c->object.sha1), sha1_len, 1, stdout);\n \t\tif(compability) {\n \t\t\tprintf(\"\\t(%10s\\t%10s\\t%d)\", ci.author,\n-\t\t\t       format_time(ci.author_time, ci.author_tz), i+1);\n+\t\t\t       format_time(ci.author_time, ci.author_tz,\n+\t\t\t\t\t   raw_time),\n+\t\t\t       i+1);\n \t\t} else {\n \t\t\tif (found_rename)\n \t\t\t\tprintf(\" %-*.*s\", longest_file, longest_file,\n \t\t\t\t       u->pathname);\n \t\t\tprintf(\" (%-*.*s %10s %*d) \",\n \t\t\t       longest_author, longest_author, ci.author,\n-\t\t\t       format_time(ci.author_time, ci.author_tz),\n+\t\t\t       format_time(ci.author_time, ci.author_tz,\n+\t\t\t\t\t   raw_time),\n \t\t\t       max_digits, i+1);\n \t\t}\n \n"},{"id":"21687","messageId":"Pine.LNX.4.63.0606130038370.25422@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"4489","inReplyTo":"20060612214210.22342.46844.stgit@c165","subject":"Re: [PATCH] blame: Add --time to produce raw timestamps","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-06-12T22:41:19Z","receivedAt":"2006-06-12T22:41:19Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 12 Jun 2006, Fredrik Kuivinen wrote:\n\n> diff --git a/blame.c b/blame.c\n> index 88bfec2..afa22b5 100644\n> --- a/blame.c\n> +++ b/blame.c\n> @@ -20,9 +20,11 @@ #include \"xdiff-interface.h\"\n>  \n>  #define DEBUG 0\n>  \n> -static const char blame_usage[] = \"[-c] [-l] [--] file [commit]\\n\"\n> +static const char blame_usage[] = \"[-c] [-l] [-t] [-S <revs-file>] [--] file [commit]\\n\"\n\nThat is a bit more than the commit message says.\n\n> +        \"  -t, --time        Show raw timestamp (Default: off)\\n\"\n> +\t\"  -S, --revs-file   Use revisions from revs-file instead of calling git-rev-list\\n\"\n\nI smell white space corruption here.\n\n> +\t\t\t       int raw_time)\n\nJust a tiny nit: could you name it \"show_raw_time\" instead of \"raw_time\"? \nI got confused by that naming into believeing raw_time was actually a \ntimestamp, not a boolean...\n\nCiao,\nDscho\n"},{"id":"21710","messageId":"20060613060831.GA4551@c165.ib.student.liu.se","threadId":"4489","inReplyTo":"Pine.LNX.4.63.0606130038370.25422@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: [PATCH] blame: Add --time to produce raw timestamps","fromName":"Fredrik Kuivinen","fromEmail":"freku045@student.liu.se","sentAt":"2006-06-13T06:08:31Z","receivedAt":"2006-06-13T06:08:31Z","isPatch":true,"sender":{"key":"frekui@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13770967?v=4"},"body":"On Tue, Jun 13, 2006 at 12:41:19AM +0200, Johannes Schindelin wrote:\n<comments on \"blame: Add --time to produce raw timestamps\">\n\nThanks for the comments. Updated patch below.\n\n- Fredrik\n\n-------\n\nblame: Add --time to produce raw timestamps\n\nfix the usage string and clean up the docs while we are at it\n\nSigned-off-by: Fredrik Kuivinen <freku045@student.liu.se>\n\n---\n\n Documentation/git-blame.txt |    5 ++++-\n blame.c                     |   24 ++++++++++++++++++++----\n 2 files changed, 24 insertions(+), 5 deletions(-)\n\ndiff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt\nindex 0a1fa00..bfed945 100644\n--- a/Documentation/git-blame.txt\n+++ b/Documentation/git-blame.txt\n@@ -20,7 +20,10 @@ OPTIONS\n \tUse the same output mode as git-annotate (Default: off).\n \n -l, --long::\n-\tShow long rev (Defaults off).\n+\tShow long rev (Default: off).\n+\n+-t, --time::\n+\tShow raw timestamp (Default: off).\n \n -S, --rev-file <revs-file>::\n \tUse revs from revs-file instead of calling git-rev-list.\ndiff --git a/blame.c b/blame.c\nindex 88bfec2..25d3bcf 100644\n--- a/blame.c\n+++ b/blame.c\n@@ -20,9 +20,11 @@ #include \"xdiff-interface.h\"\n \n #define DEBUG 0\n \n-static const char blame_usage[] = \"[-c] [-l] [--] file [commit]\\n\"\n+static const char blame_usage[] = \"[-c] [-l] [-t] [-S <revs-file>] [--] file [commit]\\n\"\n \t\"  -c, --compability Use the same output mode as git-annotate (Default: off)\\n\"\n \t\"  -l, --long        Show long commit SHA1 (Default: off)\\n\"\n+\t\"  -t, --time        Show raw timestamp (Default: off)\\n\"\n+\t\"  -S, --revs-file   Use revisions from revs-file instead of calling git-rev-list\\n\"\n \t\"  -h, --help        This message\";\n \n static struct commit **blame_lines;\n@@ -680,13 +682,19 @@ static void get_commit_info(struct commi\n \t*tmp = 0;\n }\n \n-static const char* format_time(unsigned long time, const char* tz_str)\n+static const char* format_time(unsigned long time, const char* tz_str,\n+\t\t\t       int show_raw_time)\n {\n \tstatic char time_buf[128];\n \ttime_t t = time;\n \tint minutes, tz;\n \tstruct tm *tm;\n \n+\tif (show_raw_time) {\n+\t\tsprintf(time_buf, \"%lu %s\", time, tz_str);\n+\t\treturn time_buf;\n+\t}\n+\n \ttz = atoi(tz_str);\n \tminutes = tz < 0 ? -tz : tz;\n \tminutes = (minutes / 100)*60 + (minutes % 100);\n@@ -740,6 +748,7 @@ int main(int argc, const char **argv)\n \tchar filename_buf[256];\n \tint sha1_len = 8;\n \tint compability = 0;\n+\tint show_raw_time = 0;\n \tint options = 1;\n \tstruct commit* start_commit;\n \n@@ -768,6 +777,10 @@ int main(int argc, const char **argv)\n \t\t\t\t  !strcmp(argv[i], \"--compability\")) {\n \t\t\t\tcompability = 1;\n \t\t\t\tcontinue;\n+\t\t\t} else if(!strcmp(argv[i], \"-t\") ||\n+\t\t\t\t  !strcmp(argv[i], \"--time\")) {\n+\t\t\t\tshow_raw_time = 1;\n+\t\t\t\tcontinue;\n \t\t\t} else if(!strcmp(argv[i], \"-S\")) {\n \t\t\t\tif (i + 1 < argc &&\n \t\t\t\t    !read_ancestry(argv[i + 1], &sha1_p)) {\n@@ -873,14 +886,17 @@ int main(int argc, const char **argv)\n \t\tfwrite(sha1_to_hex(c->object.sha1), sha1_len, 1, stdout);\n \t\tif(compability) {\n \t\t\tprintf(\"\\t(%10s\\t%10s\\t%d)\", ci.author,\n-\t\t\t       format_time(ci.author_time, ci.author_tz), i+1);\n+\t\t\t       format_time(ci.author_time, ci.author_tz,\n+\t\t\t\t\t   show_raw_time),\n+\t\t\t       i+1);\n \t\t} else {\n \t\t\tif (found_rename)\n \t\t\t\tprintf(\" %-*.*s\", longest_file, longest_file,\n \t\t\t\t       u->pathname);\n \t\t\tprintf(\" (%-*.*s %10s %*d) \",\n \t\t\t       longest_author, longest_author, ci.author,\n-\t\t\t       format_time(ci.author_time, ci.author_tz),\n+\t\t\t       format_time(ci.author_time, ci.author_tz,\n+\t\t\t\t\t   show_raw_time),\n \t\t\t       max_digits, i+1);\n \t\t}\n \n"}]}