{"thread":{"id":"49939","subject":"[PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","startedAt":"2018-12-03T17:34:54Z","lastAt":"2018-12-09T00:22:39Z","messageCount":18,"participants":["Johannes Sixt","Martin Ågren","Johannes Schindelin","Junio C Hamano","Elijah Newren"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"364468","messageId":"f26b53e3-e7d1-f0fe-cdd3-dd734beb1628@kdbg.org","threadId":"49939","inReplyTo":null,"subject":"[PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2018-12-03T17:34:49Z","receivedAt":"2018-12-03T17:34:54Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"The text body of section Behavioral Differences is typeset as code,\nbut should be regular text. Remove the indentation to achieve that.\n\nWhile here, prettify the language:\n\n- use \"the x backend\" instead of \"x-based rebase\";\n- use present tense instead of future tense;\n\nand use subsections instead of a list.\n\nSigned-off-by: Johannes Sixt <j6t@kdbg.org>\n---\nCf. https://git-scm.com/docs/git-rebase#_behavioral_differences\n\nI actually did not test the result, because I don't have the\ninfrastructure.\n\nThe sentence \"The am backend sometimes does not\" is not very useful,\nbut is not my fault ;) It would be great if it could be made more\nspecific, but I do not know the details.\n\n Documentation/git-rebase.txt | 30 +++++++++++++++++-------------\n 1 file changed, 17 insertions(+), 13 deletions(-)\n\ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 80793bad8d..dff17b3178 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -550,24 +550,28 @@ Other incompatible flag pairs:\n BEHAVIORAL DIFFERENCES\n -----------------------\n \n- * empty commits:\n+There are some subtle differences how the backends behave.\n \n-    am-based rebase will drop any \"empty\" commits, whether the\n-    commit started empty (had no changes relative to its parent to\n-    start with) or ended empty (all changes were already applied\n-    upstream in other commits).\n+Empty commits\n+~~~~~~~~~~~~~\n+\n+The am backend drops any \"empty\" commits, regardless of whether the\n+commit started empty (had no changes relative to its parent to\n+start with) or ended empty (all changes were already applied\n+upstream in other commits).\n \n-    merge-based rebase does the same.\n+The merge backend does the same.\n \n-    interactive-based rebase will by default drop commits that\n-    started empty and halt if it hits a commit that ended up empty.\n-    The `--keep-empty` option exists for interactive rebases to allow\n-    it to keep commits that started empty.\n+The interactive backend drops commits by default that\n+started empty and halts if it hits a commit that ended up empty.\n+The `--keep-empty` option exists for the interactive backend to allow\n+it to keep commits that started empty.\n \n-  * directory rename detection:\n+Directory rename detection\n+~~~~~~~~~~~~~~~~~~~~~~~~~~\n \n-    merge-based and interactive-based rebases work fine with\n-    directory rename detection.  am-based rebases sometimes do not.\n+The merge and interactive backends work fine with\n+directory rename detection.  The am backend sometimes does not.\n \n include::merge-strategies.txt[]\n \n-- \n2.19.1.1133.g2dd3d172d2\n"},{"id":"364480","messageId":"CAN0heSqfgu2A7Hg5b1Td-m_5gXtmd-8_ZBC5Fq9BDMaJD0yMqA@mail.gmail.com","threadId":"49939","inReplyTo":"f26b53e3-e7d1-f0fe-cdd3-dd734beb1628@kdbg.org","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Martin Ågren","fromEmail":"martin.agren@gmail.com","sentAt":"2018-12-03T20:42:25Z","receivedAt":"2018-12-03T20:43:13Z","isPatch":true,"sender":{"key":"martin.agren@gmail.com","avatar":null},"body":"On Mon, 3 Dec 2018 at 18:35, Johannes Sixt <j6t@kdbg.org> wrote:\n> I actually did not test the result, because I don't have the\n> infrastructure.\n\nI've tested with asciidoc and Asciidoctor, html and man-page. Looks\ngood.\n\nMartin\n"},{"id":"364482","messageId":"3d8da8da-755f-7114-2274-77bd92720a83@kdbg.org","threadId":"49939","inReplyTo":"CAN0heSqfgu2A7Hg5b1Td-m_5gXtmd-8_ZBC5Fq9BDMaJD0yMqA@mail.gmail.com","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2018-12-03T20:50:05Z","receivedAt":"2018-12-03T20:50:09Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 03.12.18 um 21:42 schrieb Martin Ågren:\n> On Mon, 3 Dec 2018 at 18:35, Johannes Sixt <j6t@kdbg.org> wrote:\n>> I actually did not test the result, because I don't have the\n>> infrastructure.\n> \n> I've tested with asciidoc and Asciidoctor, html and man-page. Looks\n> good.\n\nThank you so much!\n\n-- Hannes\n"},{"id":"364483","messageId":"nycvar.QRO.7.76.6.1812032156000.41@tvgsbejvaqbjf.bet","threadId":"49939","inReplyTo":"f26b53e3-e7d1-f0fe-cdd3-dd734beb1628@kdbg.org","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-12-03T20:56:19Z","receivedAt":"2018-12-03T20:56:38Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Hannes,\n\nOn Mon, 3 Dec 2018, Johannes Sixt wrote:\n\n> The text body of section Behavioral Differences is typeset as code,\n> but should be regular text. Remove the indentation to achieve that.\n> \n> While here, prettify the language:\n> \n> - use \"the x backend\" instead of \"x-based rebase\";\n> - use present tense instead of future tense;\n> \n> and use subsections instead of a list.\n> \n> Signed-off-by: Johannes Sixt <j6t@kdbg.org>\n> ---\n\nThe changes look sensible to me.\n\nThanks,\nDscho\n\n> Cf. https://git-scm.com/docs/git-rebase#_behavioral_differences\n> \n> I actually did not test the result, because I don't have the\n> infrastructure.\n> \n> The sentence \"The am backend sometimes does not\" is not very useful,\n> but is not my fault ;) It would be great if it could be made more\n> specific, but I do not know the details.\n> \n>  Documentation/git-rebase.txt | 30 +++++++++++++++++-------------\n>  1 file changed, 17 insertions(+), 13 deletions(-)\n> \n> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\n> index 80793bad8d..dff17b3178 100644\n> --- a/Documentation/git-rebase.txt\n> +++ b/Documentation/git-rebase.txt\n> @@ -550,24 +550,28 @@ Other incompatible flag pairs:\n>  BEHAVIORAL DIFFERENCES\n>  -----------------------\n>  \n> - * empty commits:\n> +There are some subtle differences how the backends behave.\n>  \n> -    am-based rebase will drop any \"empty\" commits, whether the\n> -    commit started empty (had no changes relative to its parent to\n> -    start with) or ended empty (all changes were already applied\n> -    upstream in other commits).\n> +Empty commits\n> +~~~~~~~~~~~~~\n> +\n> +The am backend drops any \"empty\" commits, regardless of whether the\n> +commit started empty (had no changes relative to its parent to\n> +start with) or ended empty (all changes were already applied\n> +upstream in other commits).\n>  \n> -    merge-based rebase does the same.\n> +The merge backend does the same.\n>  \n> -    interactive-based rebase will by default drop commits that\n> -    started empty and halt if it hits a commit that ended up empty.\n> -    The `--keep-empty` option exists for interactive rebases to allow\n> -    it to keep commits that started empty.\n> +The interactive backend drops commits by default that\n> +started empty and halts if it hits a commit that ended up empty.\n> +The `--keep-empty` option exists for the interactive backend to allow\n> +it to keep commits that started empty.\n>  \n> -  * directory rename detection:\n> +Directory rename detection\n> +~~~~~~~~~~~~~~~~~~~~~~~~~~\n>  \n> -    merge-based and interactive-based rebases work fine with\n> -    directory rename detection.  am-based rebases sometimes do not.\n> +The merge and interactive backends work fine with\n> +directory rename detection.  The am backend sometimes does not.\n>  \n>  include::merge-strategies.txt[]\n>  \n> -- \n> 2.19.1.1133.g2dd3d172d2\n> \n"},{"id":"364523","messageId":"xmqqftvef1ks.fsf@gitster-ct.c.googlers.com","threadId":"49939","inReplyTo":"3d8da8da-755f-7114-2274-77bd92720a83@kdbg.org","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-12-04T02:49:39Z","receivedAt":"2018-12-04T02:49:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Sixt <j6t@kdbg.org> writes:\n\n> Am 03.12.18 um 21:42 schrieb Martin Ågren:\n>> On Mon, 3 Dec 2018 at 18:35, Johannes Sixt <j6t@kdbg.org> wrote:\n>>> I actually did not test the result, because I don't have the\n>>> infrastructure.\n>>\n>> I've tested with asciidoc and Asciidoctor, html and man-page. Looks\n>> good.\n>\n> Thank you so much!\n>\n> -- Hannes\n\nThanks, both.\n"},{"id":"364578","messageId":"20181204212411.11572-1-newren@gmail.com","threadId":"49939","inReplyTo":"f26b53e3-e7d1-f0fe-cdd3-dd734beb1628@kdbg.org","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-12-04T21:24:11Z","receivedAt":"2018-12-04T21:24:28Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Mon, 3 Dec 2018, Johannes Sixt wrote:\n\n> The text body of section Behavioral Differences is typeset as code,\n> but should be regular text. Remove the indentation to achieve that.\n> \n> While here, prettify the language:\n> \n> - use \"the x backend\" instead of \"x-based rebase\";\n> - use present tense instead of future tense;\n> \n> and use subsections instead of a list.\n> \n> Signed-off-by: Johannes Sixt <j6t@kdbg.org>\n> ---\n> Cf. https://git-scm.com/docs/git-rebase#_behavioral_differences\n> \n> I actually did not test the result, because I don't have the\n> infrastructure.\n> \n> The sentence \"The am backend sometimes does not\" is not very useful,\n> but is not my fault ;) It would be great if it could be made more\n> specific, but I do not know the details.\n\nThat sentence is my fault.  I've been sitting on a patch for about a\nweek that fixes it which I was going to submit after 2.20.0, but since\nyou're fixing this text up right now, I guess putting these two patches\ntogether makes sense.  I've rebased it on top of your commit and provided\nit below.\n\n-- 8< --\nSubject: [PATCH] git-rebase.txt: update note about directory rename detection\n and am\n\nIn commit 6aba117d5cf7 (\"am: avoid directory rename detection when\ncalling recursive merge machinery\", 2018-08-29), the git-rebase manpage\nprobably should have also been updated to note the stronger\nincompatibility between git-am and directory rename detection.  Update\nit now.\n\nSigned-off-by: Elijah Newren <newren@gmail.com>\n---\n Documentation/git-rebase.txt | 8 ++++++--\n 1 file changed, 6 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 41631df6e4..b220b8b2b6 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -569,8 +569,12 @@ it to keep commits that started empty.\n Directory rename detection\n ~~~~~~~~~~~~~~~~~~~~~~~~~~\n \n-The merge and interactive backends work fine with\n-directory rename detection.  The am backend sometimes does not.\n+The merge and interactive backends work fine with directory rename\n+detection.  The am backend sometimes does not because it operates on\n+\"fake ancestors\" that involve trees containing only the files modified\n+in the patch.  Without accurate tree information, directory rename\n+detection cannot safely operate and is thus turned off in the am\n+backend.\n \n include::merge-strategies.txt[]\n \n-- \n2.20.0.rc1.2.gca0e531e87\n\n"},{"id":"364580","messageId":"f2ed3730-03f3-ae92-234c-e7500eaa5c33@kdbg.org","threadId":"49939","inReplyTo":"20181204212411.11572-1-newren@gmail.com","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2018-12-04T21:53:58Z","receivedAt":"2018-12-04T21:54:02Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 04.12.18 um 22:24 schrieb Elijah Newren:\n> +....  The am backend sometimes does not because it operates on\n> +\"fake ancestors\" that involve trees containing only the files modified\n> +in the patch.  Without accurate tree information, directory rename\n> +detection cannot safely operate and is thus turned off in the am\n> +backend.\n\nDirectory rename detection does not work sometimes. That is, it works \nmost of the time. But how can that be the case when it is turned off?\n\n-- Hannes\n"},{"id":"364583","messageId":"20181204231709.13824-1-newren@gmail.com","threadId":"49939","inReplyTo":"f2ed3730-03f3-ae92-234c-e7500eaa5c33@kdbg.org","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-12-04T23:17:09Z","receivedAt":"2018-12-04T23:17:21Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"\nOn Tue, Dec 4, 2018 at 1:53 PM Johannes Sixt <j6t@kdbg.org> wrote:\n>\n> Am 04.12.18 um 22:24 schrieb Elijah Newren:\n> > +....  The am backend sometimes does not because it operates on\n> > +\"fake ancestors\" that involve trees containing only the files modified\n> > +in the patch.  Without accurate tree information, directory rename\n> > +detection cannot safely operate and is thus turned off in the am\n> > +backend.\n>\n> Directory rename detection does not work sometimes. That is, it works\n> most of the time. But how can that be the case when it is turned off?\n\nGah, when I was rebasing on your patch I adopted your sentence rewrite\nbut forgot to remove the \"sometimes\".  Thanks for catching; correction:\n\n-- 8< --\nSubject: [PATCH v2] git-rebase.txt: update note about directory rename\n detection and am\n\nIn commit 6aba117d5cf7 (\"am: avoid directory rename detection when\ncalling recursive merge machinery\", 2018-08-29), the git-rebase manpage\nprobably should have also been updated to note the stronger\nincompatibility between git-am and directory rename detection.  Update\nit now.\n\nSigned-off-by: Elijah Newren <newren@gmail.com>\n---\n Documentation/git-rebase.txt | 8 ++++++--\n 1 file changed, 6 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 41631df6e4..ef76cccf3f 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -569,8 +569,12 @@ it to keep commits that started empty.\n Directory rename detection\n ~~~~~~~~~~~~~~~~~~~~~~~~~~\n \n-The merge and interactive backends work fine with\n-directory rename detection.  The am backend sometimes does not.\n+The merge and interactive backends work fine with directory rename\n+detection.  The am backend does not because it operates on \"fake\n+ancestors\" that involve trees containing only the files modified in\n+the patch.  Without accurate tree information, directory rename\n+detection cannot safely operate and is thus turned off in the am\n+backend.\n \n include::merge-strategies.txt[]\n \n-- \n2.20.0.rc1.2.gca0e531e87\n\n \n"},{"id":"364596","messageId":"xmqqo9a0d3w6.fsf@gitster-ct.c.googlers.com","threadId":"49939","inReplyTo":"20181204231709.13824-1-newren@gmail.com","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-12-05T03:54:49Z","receivedAt":"2018-12-05T03:54:57Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Elijah Newren <newren@gmail.com> writes:\n\n> Gah, when I was rebasing on your patch I adopted your sentence rewrite\n> but forgot to remove the \"sometimes\".  Thanks for catching; correction:\n\n>\n> -- 8< --\n> Subject: [PATCH v2] git-rebase.txt: update note about directory rename\n>  detection and am\n>\n> In commit 6aba117d5cf7 (\"am: avoid directory rename detection when\n> calling recursive merge machinery\", 2018-08-29), the git-rebase manpage\n> probably should have also been updated to note the stronger\n> incompatibility between git-am and directory rename detection.  Update\n> it now.\n>\n> Signed-off-by: Elijah Newren <newren@gmail.com>\n> ---\n>  Documentation/git-rebase.txt | 8 ++++++--\n>  1 file changed, 6 insertions(+), 2 deletions(-)\n>\n> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\n> index 41631df6e4..ef76cccf3f 100644\n> --- a/Documentation/git-rebase.txt\n> +++ b/Documentation/git-rebase.txt\n> @@ -569,8 +569,12 @@ it to keep commits that started empty.\n>  Directory rename detection\n>  ~~~~~~~~~~~~~~~~~~~~~~~~~~\n>  \n> -The merge and interactive backends work fine with\n> -directory rename detection.  The am backend sometimes does not.\n> +The merge and interactive backends work fine with directory rename\n\nI am not sure \"work fine\" a fair and correct label, as rename is\nalways heuristic.  \n\n    The \"directory rename detection\" heuristic in \"merge\" and the\n    \"interactive\" backends can take what happened to paths in the\n    same directory into account when deciding if a disappeared path\n    was \"renamed\" and to which other path.  The heuristic produces\n    incorrect result when the information given is only about\n    changed paths, which is why it is disabled when using the \"am\"\n    backend.\n\nperhaps.\n"},{"id":"364613","messageId":"CABPp-BG=4K9VCc8zuUm0KTRG5cHPijtvQTK4QXWRVbSFu3o_fQ@mail.gmail.com","threadId":"49939","inReplyTo":"xmqqo9a0d3w6.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-12-05T06:20:23Z","receivedAt":"2018-12-05T06:20:37Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Tue, Dec 4, 2018 at 7:54 PM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> Elijah Newren <newren@gmail.com> writes:\n>\n> > Gah, when I was rebasing on your patch I adopted your sentence rewrite\n> > but forgot to remove the \"sometimes\".  Thanks for catching; correction:\n>\n> >\n> > -- 8< --\n> > Subject: [PATCH v2] git-rebase.txt: update note about directory rename\n> >  detection and am\n> >\n> > In commit 6aba117d5cf7 (\"am: avoid directory rename detection when\n> > calling recursive merge machinery\", 2018-08-29), the git-rebase manpage\n> > probably should have also been updated to note the stronger\n> > incompatibility between git-am and directory rename detection.  Update\n> > it now.\n> >\n> > Signed-off-by: Elijah Newren <newren@gmail.com>\n> > ---\n> >  Documentation/git-rebase.txt | 8 ++++++--\n> >  1 file changed, 6 insertions(+), 2 deletions(-)\n> >\n> > diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\n> > index 41631df6e4..ef76cccf3f 100644\n> > --- a/Documentation/git-rebase.txt\n> > +++ b/Documentation/git-rebase.txt\n> > @@ -569,8 +569,12 @@ it to keep commits that started empty.\n> >  Directory rename detection\n> >  ~~~~~~~~~~~~~~~~~~~~~~~~~~\n> >\n> > -The merge and interactive backends work fine with\n> > -directory rename detection.  The am backend sometimes does not.\n> > +The merge and interactive backends work fine with directory rename\n>\n> I am not sure \"work fine\" a fair and correct label, as rename is\n> always heuristic.\n>\n>     The \"directory rename detection\" heuristic in \"merge\" and the\n>     \"interactive\" backends can take what happened to paths in the\n>     same directory into account when deciding if a disappeared path\n>     was \"renamed\" and to which other path.  The heuristic produces\n>     incorrect result when the information given is only about\n>     changed paths, which is why it is disabled when using the \"am\"\n>     backend.\n>\n> perhaps.\n\nThe general idea sounds good.  Does adding a few more details help\nwith understanding, or is it more of an information overload?  I'm\nthinking of something like:\n\n     The \"directory rename detection\" heuristic in the \"merge\" and\n     \"interactive\" backends can take what happened to paths in the\n     same directory on the other side of history into account when\n     deciding whether a new path in that directory should instead be\n     moved elsewhere.  The heuristic produces incorrect results when\n     the only information available is about files which were changed\n     on the side of history being rebased, which is why directory\n     rename detection is disabled when using the \"am\" backend.\n"},{"id":"364617","messageId":"76537e8b-3b66-e1f1-eb4d-e9e1c18012df@kdbg.org","threadId":"49939","inReplyTo":"CABPp-BG=4K9VCc8zuUm0KTRG5cHPijtvQTK4QXWRVbSFu3o_fQ@mail.gmail.com","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2018-12-05T06:57:06Z","receivedAt":"2018-12-05T06:57:10Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 05.12.18 um 07:20 schrieb Elijah Newren:\n> On Tue, Dec 4, 2018 at 7:54 PM Junio C Hamano <gitster@pobox.com> wrote:\n>>\n>> Elijah Newren <newren@gmail.com> writes:\n>>\n>>> Gah, when I was rebasing on your patch I adopted your sentence rewrite\n>>> but forgot to remove the \"sometimes\".  Thanks for catching; correction:\n>>\n>>>\n>>> -- 8< --\n>>> Subject: [PATCH v2] git-rebase.txt: update note about directory rename\n>>>   detection and am\n>>>\n>>> In commit 6aba117d5cf7 (\"am: avoid directory rename detection when\n>>> calling recursive merge machinery\", 2018-08-29), the git-rebase manpage\n>>> probably should have also been updated to note the stronger\n>>> incompatibility between git-am and directory rename detection.  Update\n>>> it now.\n>>>\n>>> Signed-off-by: Elijah Newren <newren@gmail.com>\n>>> ---\n>>>   Documentation/git-rebase.txt | 8 ++++++--\n>>>   1 file changed, 6 insertions(+), 2 deletions(-)\n>>>\n>>> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\n>>> index 41631df6e4..ef76cccf3f 100644\n>>> --- a/Documentation/git-rebase.txt\n>>> +++ b/Documentation/git-rebase.txt\n>>> @@ -569,8 +569,12 @@ it to keep commits that started empty.\n>>>   Directory rename detection\n>>>   ~~~~~~~~~~~~~~~~~~~~~~~~~~\n>>>\n>>> -The merge and interactive backends work fine with\n>>> -directory rename detection.  The am backend sometimes does not.\n>>> +The merge and interactive backends work fine with directory rename\n>>\n>> I am not sure \"work fine\" a fair and correct label, as rename is\n>> always heuristic.\n>>\n>>      The \"directory rename detection\" heuristic in \"merge\" and the\n>>      \"interactive\" backends can take what happened to paths in the\n>>      same directory into account when deciding if a disappeared path\n>>      was \"renamed\" and to which other path.  The heuristic produces\n>>      incorrect result when the information given is only about\n>>      changed paths, which is why it is disabled when using the \"am\"\n>>      backend.\n>>\n>> perhaps.\n> \n> The general idea sounds good.  Does adding a few more details help\n> with understanding, or is it more of an information overload?  I'm\n> thinking of something like:\n> \n>       The \"directory rename detection\" heuristic in the \"merge\" and\n>       \"interactive\" backends can take what happened to paths in the\n>       same directory on the other side of history into account when\n>       deciding whether a new path in that directory should instead be\n>       moved elsewhere.  The heuristic produces incorrect results when\n>       the only information available is about files which were changed\n>       on the side of history being rebased, which is why directory\n>       rename detection is disabled when using the \"am\" backend.\n\nPlease let me deposit my objection. This paragraph is not the right \nplace to explain what directory renme detection is and how it works \nunder the hood. \"works fine\" in the original text is the right phrase \nhere; if there is concern that this induces expectations that cannot be \nmet, throw in the word \"heuristics\".\n\nSuch as:\n    Directory rename heuristics work fine in the merge and interactive\n    backends. It does not in the am backend because...\n\n-- Hannes\n"},{"id":"364618","messageId":"xmqqr2ewbevt.fsf@gitster-ct.c.googlers.com","threadId":"49939","inReplyTo":"76537e8b-3b66-e1f1-eb4d-e9e1c18012df@kdbg.org","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-12-05T07:40:22Z","receivedAt":"2018-12-05T07:40:29Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Sixt <j6t@kdbg.org> writes:\n\n> Please let me deposit my objection. This paragraph is not the right\n> place to explain what directory renme detection is and how it works\n> under the hood. \"works fine\" in the original text is the right phrase\n> here; if there is concern that this induces expectations that cannot\n> be met, throw in the word \"heuristics\".\n>\n> Such as:\n>    Directory rename heuristics work fine in the merge and interactive\n>    backends. It does not in the am backend because...\n\nOK, good enough, I guess.  Or just s/work fine/is enabled/.\n\n"},{"id":"364629","messageId":"CABPp-BHzESYnQy5JwXvtXyLHgHR9u3UNVOZF2gU1m_uTMGkyfg@mail.gmail.com","threadId":"49939","inReplyTo":"xmqqr2ewbevt.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-12-05T15:37:36Z","receivedAt":"2018-12-05T15:37:50Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Tue, Dec 4, 2018 at 11:40 PM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> Johannes Sixt <j6t@kdbg.org> writes:\n>\n> > Please let me deposit my objection. This paragraph is not the right\n> > place to explain what directory renme detection is and how it works\n> > under the hood. \"works fine\" in the original text is the right phrase\n> > here; if there is concern that this induces expectations that cannot\n> > be met, throw in the word \"heuristics\".\n> >\n> > Such as:\n> >    Directory rename heuristics work fine in the merge and interactive\n> >    backends. It does not in the am backend because...\n>\n> OK, good enough, I guess.  Or just s/work fine/is enabled/.\n\nSo...\n\nDirectory rename heuristics are enabled in the merge and interactive\nbackends. They are not in the am backend because it operates on\n\"fake ancestors\" that involve trees containing only the files modified\nin the patch.  Due to the lack of accurate tree information, directory\nrename detection is disabled for the am backend.\n\n?\n"},{"id":"364645","messageId":"bd67cd33-dbe8-03a0-e760-c7bb23854084@kdbg.org","threadId":"49939","inReplyTo":"CABPp-BHzESYnQy5JwXvtXyLHgHR9u3UNVOZF2gU1m_uTMGkyfg@mail.gmail.com","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2018-12-05T21:16:27Z","receivedAt":"2018-12-05T21:16:31Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 05.12.18 um 16:37 schrieb Elijah Newren:\n> On Tue, Dec 4, 2018 at 11:40 PM Junio C Hamano <gitster@pobox.com> wrote:\n>>\n>> Johannes Sixt <j6t@kdbg.org> writes:\n>>\n>>> Please let me deposit my objection. This paragraph is not the right\n>>> place to explain what directory renme detection is and how it works\n>>> under the hood. \"works fine\" in the original text is the right phrase\n>>> here; if there is concern that this induces expectations that cannot\n>>> be met, throw in the word \"heuristics\".\n>>>\n>>> Such as:\n>>>     Directory rename heuristics work fine in the merge and interactive\n>>>     backends. It does not in the am backend because...\n>>\n>> OK, good enough, I guess.  Or just s/work fine/is enabled/.\n> \n> So...\n> \n> Directory rename heuristics are enabled in the merge and interactive\n> backends. They are not in the am backend because it operates on\n> \"fake ancestors\" that involve trees containing only the files modified\n> in the patch.  Due to the lack of accurate tree information, directory\n> rename detection is disabled for the am backend.\n\nOK with me. And also if you drop sentence no.2 and keep just no.1 and no.3.\n\nThanks,\n-- Hannes\n"},{"id":"364656","messageId":"xmqqmupjbnhq.fsf@gitster-ct.c.googlers.com","threadId":"49939","inReplyTo":"bd67cd33-dbe8-03a0-e760-c7bb23854084@kdbg.org","subject":"Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-12-05T22:46:41Z","receivedAt":"2018-12-05T22:46:49Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Sixt <j6t@kdbg.org> writes:\n\n> Am 05.12.18 um 16:37 schrieb Elijah Newren:\n>> On Tue, Dec 4, 2018 at 11:40 PM Junio C Hamano <gitster@pobox.com> wrote:\n>>>\n>>> Johannes Sixt <j6t@kdbg.org> writes:\n>>>\n>>>> Please let me deposit my objection. This paragraph is not the right\n>>>> place to explain what directory renme detection is and how it works\n>>>> under the hood. \"works fine\" in the original text is the right phrase\n>>>> here; if there is concern that this induces expectations that cannot\n>>>> be met, throw in the word \"heuristics\".\n>>>>\n>>>> Such as:\n>>>>     Directory rename heuristics work fine in the merge and interactive\n>>>>     backends. It does not in the am backend because...\n>>>\n>>> OK, good enough, I guess.  Or just s/work fine/is enabled/.\n>>\n>> So...\n>>\n>> Directory rename heuristics are enabled in the merge and interactive\n>> backends. They are not in the am backend because it operates on\n>> \"fake ancestors\" that involve trees containing only the files modified\n>> in the patch.  Due to the lack of accurate tree information, directory\n>> rename detection is disabled for the am backend.\n>\n> OK with me. And also if you drop sentence no.2 and keep just no.1 and no.3.\n\nYeah, that shorter version may be sufficient to explain why we do\nnot use the heuristics in the \"am\" backend.\n"},{"id":"364748","messageId":"66479695-d17e-c9cb-4cb7-8c74e3855032@kdbg.org","threadId":"49939","inReplyTo":"xmqqmupjbnhq.fsf@gitster-ct.c.googlers.com","subject":"[PATCH] git-rebase.txt: update note about directory rename detection and am","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2018-12-07T17:51:20Z","receivedAt":"2018-12-07T17:51:25Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"From: Elijah Newren <newren@gmail.com>\n\nIn commit 6aba117d5cf7 (\"am: avoid directory rename detection when\ncalling recursive merge machinery\", 2018-08-29), the git-rebase manpage\nprobably should have also been updated to note the stronger\nincompatibility between git-am and directory rename detection.  Update\nit now.\n\nSigned-off-by: Elijah Newren <newren@gmail.com>\nSigned-off-by: Johannes Sixt <j6t@kdbg.org>\n---\n  Documentation/git-rebase.txt | 5 +++--\n  1 file changed, 3 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 41631df6e4..7bea21e8e3 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -569,8 +569,9 @@ it to keep commits that started empty.\n  Directory rename detection\n  ~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n-The merge and interactive backends work fine with\n-directory rename detection.  The am backend sometimes does not.\n+Directory rename heuristics are enabled in the merge and interactive\n+backends.  Due to the lack of accurate tree information, directory\n+rename detection is disabled in the am backend.\n\n  include::merge-strategies.txt[]\n\n-- \n2.19.1.1133.g2dd3d172d2\n"},{"id":"364750","messageId":"CABPp-BGSmyAb_d52TLS=7oQyMYxt=EYjNdDofY4nzLd9CYvwuQ@mail.gmail.com","threadId":"49939","inReplyTo":"66479695-d17e-c9cb-4cb7-8c74e3855032@kdbg.org","subject":"Re: [PATCH] git-rebase.txt: update note about directory rename detection and am","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-12-07T18:46:34Z","receivedAt":"2018-12-07T18:46:49Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Fri, Dec 7, 2018 at 9:51 AM Johannes Sixt <j6t@kdbg.org> wrote:\n>\n> From: Elijah Newren <newren@gmail.com>\n>\n> In commit 6aba117d5cf7 (\"am: avoid directory rename detection when\n> calling recursive merge machinery\", 2018-08-29), the git-rebase manpage\n> probably should have also been updated to note the stronger\n> incompatibility between git-am and directory rename detection.  Update\n> it now.\n>\n> Signed-off-by: Elijah Newren <newren@gmail.com>\n> Signed-off-by: Johannes Sixt <j6t@kdbg.org>\n> ---\n>   Documentation/git-rebase.txt | 5 +++--\n>   1 file changed, 3 insertions(+), 2 deletions(-)\n>\n> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\n> index 41631df6e4..7bea21e8e3 100644\n> --- a/Documentation/git-rebase.txt\n> +++ b/Documentation/git-rebase.txt\n> @@ -569,8 +569,9 @@ it to keep commits that started empty.\n>   Directory rename detection\n>   ~~~~~~~~~~~~~~~~~~~~~~~~~~\n>\n> -The merge and interactive backends work fine with\n> -directory rename detection.  The am backend sometimes does not.\n> +Directory rename heuristics are enabled in the merge and interactive\n> +backends.  Due to the lack of accurate tree information, directory\n> +rename detection is disabled in the am backend.\n>\n>   include::merge-strategies.txt[]\n\nI was intending to send this out the past couple days, was just kinda\nbusy.  Thanks for handling it for me.\n"},{"id":"364825","messageId":"xmqq8t0z7dmi.fsf@gitster-ct.c.googlers.com","threadId":"49939","inReplyTo":"CABPp-BGSmyAb_d52TLS=7oQyMYxt=EYjNdDofY4nzLd9CYvwuQ@mail.gmail.com","subject":"Re: [PATCH] git-rebase.txt: update note about directory rename detection and am","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-12-09T00:22:29Z","receivedAt":"2018-12-09T00:22:39Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Elijah Newren <newren@gmail.com> writes:\n\n> On Fri, Dec 7, 2018 at 9:51 AM Johannes Sixt <j6t@kdbg.org> wrote:\n>>\n>> From: Elijah Newren <newren@gmail.com>\n>>\n>> In commit 6aba117d5cf7 (\"am: avoid directory rename detection when\n>> calling recursive merge machinery\", 2018-08-29), the git-rebase manpage\n>> probably should have also been updated to note the stronger\n>> incompatibility between git-am and directory rename detection.  Update\n>> it now.\n>>\n>> Signed-off-by: Elijah Newren <newren@gmail.com>\n>> Signed-off-by: Johannes Sixt <j6t@kdbg.org>\n>> ---\n>>   Documentation/git-rebase.txt | 5 +++--\n>>   1 file changed, 3 insertions(+), 2 deletions(-)\n>>\n>> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\n>> index 41631df6e4..7bea21e8e3 100644\n>> --- a/Documentation/git-rebase.txt\n>> +++ b/Documentation/git-rebase.txt\n>> @@ -569,8 +569,9 @@ it to keep commits that started empty.\n>>   Directory rename detection\n>>   ~~~~~~~~~~~~~~~~~~~~~~~~~~\n>>\n>> -The merge and interactive backends work fine with\n>> -directory rename detection.  The am backend sometimes does not.\n>> +Directory rename heuristics are enabled in the merge and interactive\n>> +backends.  Due to the lack of accurate tree information, directory\n>> +rename detection is disabled in the am backend.\n>>\n>>   include::merge-strategies.txt[]\n>\n> I was intending to send this out the past couple days, was just kinda\n> busy.  Thanks for handling it for me.\n\nThanks, both.  I can live with format=flowed, but would appreciate\nif we can avoid it next time.\n"}]}