{"thread":{"id":"64294","subject":"[PATCH 0/1] docs/git-blame: describe sourceline and resultline","startedAt":"2025-10-10T15:22:10Z","lastAt":"2025-10-14T13:33:55Z","messageCount":5,"participants":["Philip Patsch","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":1},"messages":[{"id":"528512","messageId":"20251010152204.815520-1-philip@decentsoftwa.re","threadId":"64294","inReplyTo":null,"subject":"[PATCH 0/1] docs/git-blame: describe sourceline and resultline","fromName":"Philip Patsch","fromEmail":"philip@decentsoftwa.re","sentAt":"2025-10-10T15:21:58Z","receivedAt":"2025-10-10T15:22:10Z","isPatch":true,"sender":{"key":"philip@decentsoftwa.re","avatar":null},"body":"The manpage did not make clean what source and resultlines\nrefer to. This simple adjustment should remove that confusion.\n\nBased on the question and answer on this Stackoverflow page:\nhttps://stackoverflow.com/questions/49370690/what-is-sourceline-resultline-in-git-blame-incremental-output\n\nI was not able to `make man` because of docbook xsl verification\nissues unfortunately.\n\nPhilip Patsch (1):\n  docs/git-blame: describe sourceline and resultline\n\n Documentation/git-blame.adoc | 9 +++++++--\n 1 file changed, 7 insertions(+), 2 deletions(-)\n\n-- \n2.49.0\n\n"},{"id":"528513","messageId":"20251010152204.815520-2-philip@decentsoftwa.re","threadId":"64294","inReplyTo":"20251010152204.815520-1-philip@decentsoftwa.re","subject":"[PATCH 1/1] docs/git-blame: describe sourceline and resultline","fromName":"Philip Patsch","fromEmail":"philip@decentsoftwa.re","sentAt":"2025-10-10T15:21:59Z","receivedAt":"2025-10-10T15:22:15Z","isPatch":true,"sender":{"key":"philip@decentsoftwa.re","avatar":null},"body":"The manpage did not make clean what source and resultlines\nrefer to. This simple adjustment should remove that confusion.\n\nBased on the question and answer on this Stackoverflow page:\nhttps://stackoverflow.com/questions/49370690/what-is-sourceline-resultline-in-git-blame-incremental-output\n\nSigned-off-by: Philip Patsch <philip@decentsoftwa.re>\n---\n Documentation/git-blame.adoc | 9 +++++++--\n 1 file changed, 7 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-blame.adoc b/Documentation/git-blame.adoc\nindex e438d28625..870d0de0a5 100644\n--- a/Documentation/git-blame.adoc\n+++ b/Documentation/git-blame.adoc\n@@ -113,8 +113,10 @@ In this format, each line is output after a header; the\n header at the minimum has the first line which has:\n \n - 40-byte SHA-1 of the commit the line is attributed to;\n-- the line number of the line in the original file;\n-- the line number of the line in the final file;\n+- the line number of the line in the original file,\n+  from when the commit was made;\n+- the line number of the line in the final file,\n+  from the current state of the file;\n - on a line that starts a group of lines from a different\n   commit than the previous one, the number of lines in this\n   group.  On subsequent lines this field is absent.\n@@ -214,6 +216,9 @@ annotated.\n \t<40-byte-hex-sha1> <sourceline> <resultline> <num-lines>\n +\n Line numbers count from 1.\n++\n+<sourceline> is where this line shows up in the original source commit.\n+<resultline> is where this line shows up in the current state of the file.\n \n . The first time that a commit shows up in the stream, it has various\n   other information about it printed out with a one-word tag at the\n-- \n2.49.0\n\n"},{"id":"528530","messageId":"xmqqldli8vr5.fsf@gitster.g","threadId":"64294","inReplyTo":"20251010152204.815520-2-philip@decentsoftwa.re","subject":"Re: [PATCH 1/1] docs/git-blame: describe sourceline and resultline","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-10-10T18:19:42Z","receivedAt":"2025-10-10T18:19:45Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Philip Patsch <philip@decentsoftwa.re> writes:\n\n>  - 40-byte SHA-1 of the commit the line is attributed to;\n> +- the line number of the line in the original file,\n> +  from when the commit was made;\n\nSorry, but \"from when the commit was made\" does not really add\nanything meaningful at least to me.  Which commit does \"the commit\"\nrefer to in this sentence in the first place?\n\n> +- the line number of the line in the final file,\n> +  from the current state of the file;\n\nWe avoided to say \"current\" here because the state you are trying to\nexplain (i.e., the commit that has a file each of whose lines you\nare trying to find the origin of) may not be current at all (e.g.,\n\"In the code that was current five years ago, we had this helper\nfunction.  Where did it come from?\").  \"git blame --help\" says\n\"start annotating from the given revision\" in its very early part of\nthe doucumentation, so it might make it easier to understand if this\n\"final state\" were referred to as the \"annotated state\"?\n\nPerhaps this is easier to understand?\n\n - 40-byte SHA-1 of the commit the line is attributed to;\n\n - the line number in the file in the above blamed commit, where the\n   line came from;\n\n - the line number in the file, where the line is found in the\n   stating <rev>;\n\nI dunno.\n\nRegardless, the first one that is SHA-1 centric should probably be\nupdated in this age where SHA-256 repositories are reality.  Perhaps\nreplace the \"40-byte\" thing with something like\n\n - the hex object name of the commit the line is attributed to\n\nbut that would be a separate topic.\n\nThe same comment wrt \"current\" and \"original\" applies to the other\nhunk.\n\nThanks.\n\n\n> @@ -214,6 +216,9 @@ annotated.\n>  \t<40-byte-hex-sha1> <sourceline> <resultline> <num-lines>\n>  +\n>  Line numbers count from 1.\n> ++\n> +<sourceline> is where this line shows up in the original source commit.\n> +<resultline> is where this line shows up in the current state of the file.\n>  \n>  . The first time that a commit shows up in the stream, it has various\n>    other information about it printed out with a one-word tag at the\n\n"},{"id":"528533","messageId":"xmqq7bx28rpr.fsf@gitster.g","threadId":"64294","inReplyTo":"xmqqldli8vr5.fsf@gitster.g","subject":"Re: [PATCH 1/1] docs/git-blame: describe sourceline and resultline","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-10-10T19:46:56Z","receivedAt":"2025-10-10T19:46:59Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Perhaps this is easier to understand?\n>\n>  - 40-byte SHA-1 of the commit the line is attributed to;\n>\n>  - the line number in the file in the above blamed commit, where the\n>    line came from;\n>\n>  - the line number in the file, where the line is found in the\n>    stating <rev>;\n\nSorry; \"starting <rev>\" was what I meant.\n"},{"id":"528736","messageId":"lxqjvC-77mAgt6TyBUP9hPJuB8E579EkO0iEDkGRrQvSLvWVtivu-0_nCSY_z8fRbOBG0XZNPveSQlY2Lm_2gJLI4If7N_oD65VH_l0Kc_M=@decentsoftwa.re","threadId":"64294","inReplyTo":"xmqq7bx28rpr.fsf@gitster.g","subject":"Re: [PATCH 1/1] docs/git-blame: describe sourceline and resultline","fromName":"Philip Patsch","fromEmail":"philip@decentsoftwa.re","sentAt":"2025-10-14T13:33:33Z","receivedAt":"2025-10-14T13:33:55Z","isPatch":true,"sender":{"key":"philip@decentsoftwa.re","avatar":null},"body":"\nOn Friday, October 10th, 2025 at 9:46 PM, Junio C Hamano <gitster@pobox.com> wrote:\n\n> \n> \n> Junio C Hamano gitster@pobox.com writes:\n \n> > - the line number in the file, where the line is found in the\n> > stating <rev>;\n> \n> \n> Sorry; \"starting <rev>\" was what I meant.\n\nNow that I look at it again, we never in the manpage define what a plain `<rev>` means if it is given? Am I missing something here?\n\nWe have `--reverse`, but e.g. neither `--since` nor `<rev>` appear in the list of options (`--since` is mentioned further down in `SPECIFYING RANGES`)\n"}]}