{"thread":{"id":"47519","subject":"Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'","startedAt":"2018-01-01T11:29:18Z","lastAt":"2018-01-04T21:02:44Z","messageCount":5,"participants":["Matwey V. Kornilov","Junio C Hamano","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"335590","messageId":"CAJs94Eakp6kaD=+imH2cZdB-=2NCBJNu0Rt=MmRtWiM60QGBSA@mail.gmail.com","threadId":"47519","inReplyTo":"9e4ffb63-59de-a020-fee8-6cefae3b3dda@gmail.com","subject":"Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'","fromName":"Matwey V. Kornilov","fromEmail":"matwey.kornilov@gmail.com","sentAt":"2018-01-01T11:28:52Z","receivedAt":"2018-01-01T11:29:18Z","isPatch":false,"sender":{"key":"matwey.kornilov@gmail.com","avatar":"https://gravatar.com/avatar/721da1ce2e82dcb074f03f9d03683074ab4ad90f74d1bf3362b00283157d94aa?d=mp&s=160"},"body":"Hello,\n\nI am running git 2.15.1 and facing the following issue with linux kernel\ntree.\n\n# git checkout v3.8\n# git branch abc-3.8\n# git checkout v3.9\n# git branch abc-3.9\n# git checkout abc-3.8\n\nIntroduce new commit on top of abc-3.8. Here, I edit README.\n\n# vim README\n# git commit -a -v\n[abc-3.8 4bf088b5d341] Hello world\n\nThen I try to rebase abc-3.9 on top of abc-3.8 as the following:\n\n# git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience\n--onto abc-3.8 v3.8 abc-3.9\n\nAnd then I see:\n\nfatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'\nError redoing merge e84cf5d0fd53badf3a93c790e280cc92a69ed999\n\nAttached here is GIT_TRACE=1 output.\n\n-- \nWith best regards,\nMatwey V. Kornilov\n"},{"id":"335819","messageId":"p2l6s0$eot$1@blaine.gmane.org","threadId":"47519","inReplyTo":"CAJs94Eakp6kaD=+imH2cZdB-=2NCBJNu0Rt=MmRtWiM60QGBSA@mail.gmail.com","subject":"Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'","fromName":"Matwey V. Kornilov","fromEmail":"matwey.kornilov@gmail.com","sentAt":"2018-01-04T12:34:04Z","receivedAt":"2018-01-04T12:34:21Z","isPatch":false,"sender":{"key":"matwey.kornilov@gmail.com","avatar":"https://gravatar.com/avatar/721da1ce2e82dcb074f03f9d03683074ab4ad90f74d1bf3362b00283157d94aa?d=mp&s=160"},"body":"\nHi,\n\nIt seems there is some issue with double escaping:\n\n14:57:18.524010 git.c:344               trace: built-in: git 'merge'\n'--no-log' '--no-ff' '--strategy=recursive' '-X' ''\\''diff-algorithm=p\natience'\\''' '-m' 'Merge branch '\\''core-rcu-for-linus'\\'' of\ngit://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nWhere did additional quotes around diff-algorithm came from?\n\n\n01.01.2018 14:28, Matwey V. Kornilov пишет:\n> Hello,\n> \n> I am running git 2.15.1 and facing the following issue with linux kernel\n> tree.\n> \n> # git checkout v3.8\n> # git branch abc-3.8\n> # git checkout v3.9\n> # git branch abc-3.9\n> # git checkout abc-3.8\n> \n> Introduce new commit on top of abc-3.8. Here, I edit README.\n> \n> # vim README\n> # git commit -a -v\n> [abc-3.8 4bf088b5d341] Hello world\n> \n> Then I try to rebase abc-3.9 on top of abc-3.8 as the following:\n> \n> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience\n> --onto abc-3.8 v3.8 abc-3.9\n> \n> And then I see:\n> \n> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'\n> Error redoing merge e84cf5d0fd53badf3a93c790e280cc92a69ed999\n> \n> Attached here is GIT_TRACE=1 output.\n> \n\n\n"},{"id":"335834","messageId":"xmqqefn5fo5d.fsf@gitster.mtv.corp.google.com","threadId":"47519","inReplyTo":"p2l6s0$eot$1@blaine.gmane.org","subject":"Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-04T18:57:02Z","receivedAt":"2018-01-04T18:57:09Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Matwey V. Kornilov\" <matwey.kornilov@gmail.com> writes:\n\n> It seems there is some issue with double escaping:\n> ...\n>> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience\n>> --onto abc-3.8 v3.8 abc-3.9\n>> \n>> And then I see:\n>> \n>> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'\n\nThe string looks like a result of a shell script that quotes any\nend-user controlled string before incorporating into a string to be\neval-ed, or something like that.  Is this a recent regression?  Does\na bit older version of Git, like 2.12 or older, behave differently?\n\n"},{"id":"335842","messageId":"CAJs94EbtnCcKiYO9sSqhOwtkSCsApRJoSzVEA7_N23wXGhwoww@mail.gmail.com","threadId":"47519","inReplyTo":"xmqqefn5fo5d.fsf@gitster.mtv.corp.google.com","subject":"Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'","fromName":"Matwey V. Kornilov","fromEmail":"matwey.kornilov@gmail.com","sentAt":"2018-01-04T19:25:04Z","receivedAt":"2018-01-04T19:25:30Z","isPatch":false,"sender":{"key":"matwey.kornilov@gmail.com","avatar":"https://gravatar.com/avatar/721da1ce2e82dcb074f03f9d03683074ab4ad90f74d1bf3362b00283157d94aa?d=mp&s=160"},"body":"2018-01-04 21:57 GMT+03:00 Junio C Hamano <gitster@pobox.com>:\n> \"Matwey V. Kornilov\" <matwey.kornilov@gmail.com> writes:\n>\n>> It seems there is some issue with double escaping:\n>> ...\n>>> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience\n>>> --onto abc-3.8 v3.8 abc-3.9\n>>>\n>>> And then I see:\n>>>\n>>> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'\n>\n> The string looks like a result of a shell script that quotes any\n> end-user controlled string before incorporating into a string to be\n> eval-ed, or something like that.  Is this a recent regression?  Does\n> a bit older version of Git, like 2.12 or older, behave differently?\n>\n\nI've just checked, 2.12.4 has the same behaviour. By the way, can you\nreproduce this at all?\n\n-- \nWith best regards,\nMatwey V. Kornilov\n"},{"id":"335866","messageId":"alpine.DEB.2.21.1.1801042201390.32@MININT-6BKU6QN.europe.corp.microsoft.com","threadId":"47519","inReplyTo":"CAJs94Eakp6kaD=+imH2cZdB-=2NCBJNu0Rt=MmRtWiM60QGBSA@mail.gmail.com","subject":"Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-04T21:02:36Z","receivedAt":"2018-01-04T21:02:44Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Matwey,\n\nOn Mon, 1 Jan 2018, Matwey V. Kornilov wrote:\n\n> Hello,\n> \n> I am running git 2.15.1 and facing the following issue with linux kernel\n> tree.\n> \n> # git checkout v3.8\n> # git branch abc-3.8\n> # git checkout v3.9\n> # git branch abc-3.9\n> # git checkout abc-3.8\n> \n> Introduce new commit on top of abc-3.8. Here, I edit README.\n> \n> # vim README\n> # git commit -a -v\n> [abc-3.8 4bf088b5d341] Hello world\n> \n> Then I try to rebase abc-3.9 on top of abc-3.8 as the following:\n> \n> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience\n> --onto abc-3.8 v3.8 abc-3.9\n> \n> And then I see:\n> \n> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'\n> Error redoing merge e84cf5d0fd53badf3a93c790e280cc92a69ed999\n> \n> Attached here is GIT_TRACE=1 output.\n\nFunnily enough, this had been reported on the Git for Windows bugtracker,\nand somebody even found the culprit:\n\nhttps://github.com/git-for-windows/git/issues/1321#issuecomment-337279119\n\nSadly, I lost track of this. Will prepare a proper patch right now.\n\nCiao,\nJohannes\n"}]}