git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'
       [not found] <9e4ffb63-59de-a020-fee8-6cefae3b3dda@gmail.com>
@ 2018-01-01 11:28 ` Matwey V. Kornilov
  2018-01-04 12:34   ` Matwey V. Kornilov
  2018-01-04 21:02   ` Johannes Schindelin
  0 siblings, 2 replies; 5+ messages in thread
From: Matwey V. Kornilov @ 2018-01-01 11:28 UTC (permalink / raw)
  To: git

Hello,

I am running git 2.15.1 and facing the following issue with linux kernel
tree.

# git checkout v3.8
# git branch abc-3.8
# git checkout v3.9
# git branch abc-3.9
# git checkout abc-3.8

Introduce new commit on top of abc-3.8. Here, I edit README.

# vim README
# git commit -a -v
[abc-3.8 4bf088b5d341] Hello world

Then I try to rebase abc-3.9 on top of abc-3.8 as the following:

# git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience
--onto abc-3.8 v3.8 abc-3.9

And then I see:

fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'
Error redoing merge e84cf5d0fd53badf3a93c790e280cc92a69ed999

Attached here is GIT_TRACE=1 output.

-- 
With best regards,
Matwey V. Kornilov

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'
  2018-01-01 11:28 ` Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience' Matwey V. Kornilov
@ 2018-01-04 12:34   ` Matwey V. Kornilov
  2018-01-04 18:57     ` Junio C Hamano
  2018-01-04 21:02   ` Johannes Schindelin
  1 sibling, 1 reply; 5+ messages in thread
From: Matwey V. Kornilov @ 2018-01-04 12:34 UTC (permalink / raw)
  To: git


Hi,

It seems there is some issue with double escaping:

14:57:18.524010 git.c:344               trace: built-in: git 'merge'
'--no-log' '--no-ff' '--strategy=recursive' '-X' ''\''diff-algorithm=p
atience'\''' '-m' 'Merge branch '\''core-rcu-for-linus'\'' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Where did additional quotes around diff-algorithm came from?


01.01.2018 14:28, Matwey V. Kornilov пишет:
> Hello,
> 
> I am running git 2.15.1 and facing the following issue with linux kernel
> tree.
> 
> # git checkout v3.8
> # git branch abc-3.8
> # git checkout v3.9
> # git branch abc-3.9
> # git checkout abc-3.8
> 
> Introduce new commit on top of abc-3.8. Here, I edit README.
> 
> # vim README
> # git commit -a -v
> [abc-3.8 4bf088b5d341] Hello world
> 
> Then I try to rebase abc-3.9 on top of abc-3.8 as the following:
> 
> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience
> --onto abc-3.8 v3.8 abc-3.9
> 
> And then I see:
> 
> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'
> Error redoing merge e84cf5d0fd53badf3a93c790e280cc92a69ed999
> 
> Attached here is GIT_TRACE=1 output.
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'
  2018-01-04 12:34   ` Matwey V. Kornilov
@ 2018-01-04 18:57     ` Junio C Hamano
  2018-01-04 19:25       ` Matwey V. Kornilov
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2018-01-04 18:57 UTC (permalink / raw)
  To: Matwey V. Kornilov; +Cc: git

"Matwey V. Kornilov" <matwey.kornilov@gmail.com> writes:

> It seems there is some issue with double escaping:
> ...
>> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience
>> --onto abc-3.8 v3.8 abc-3.9
>> 
>> And then I see:
>> 
>> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'

The string looks like a result of a shell script that quotes any
end-user controlled string before incorporating into a string to be
eval-ed, or something like that.  Is this a recent regression?  Does
a bit older version of Git, like 2.12 or older, behave differently?


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'
  2018-01-04 18:57     ` Junio C Hamano
@ 2018-01-04 19:25       ` Matwey V. Kornilov
  0 siblings, 0 replies; 5+ messages in thread
From: Matwey V. Kornilov @ 2018-01-04 19:25 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

2018-01-04 21:57 GMT+03:00 Junio C Hamano <gitster@pobox.com>:
> "Matwey V. Kornilov" <matwey.kornilov@gmail.com> writes:
>
>> It seems there is some issue with double escaping:
>> ...
>>> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience
>>> --onto abc-3.8 v3.8 abc-3.9
>>>
>>> And then I see:
>>>
>>> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'
>
> The string looks like a result of a shell script that quotes any
> end-user controlled string before incorporating into a string to be
> eval-ed, or something like that.  Is this a recent regression?  Does
> a bit older version of Git, like 2.12 or older, behave differently?
>

I've just checked, 2.12.4 has the same behaviour. By the way, can you
reproduce this at all?

-- 
With best regards,
Matwey V. Kornilov

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience'
  2018-01-01 11:28 ` Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience' Matwey V. Kornilov
  2018-01-04 12:34   ` Matwey V. Kornilov
@ 2018-01-04 21:02   ` Johannes Schindelin
  1 sibling, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2018-01-04 21:02 UTC (permalink / raw)
  To: Matwey V. Kornilov; +Cc: git

Hi Matwey,

On Mon, 1 Jan 2018, Matwey V. Kornilov wrote:

> Hello,
> 
> I am running git 2.15.1 and facing the following issue with linux kernel
> tree.
> 
> # git checkout v3.8
> # git branch abc-3.8
> # git checkout v3.9
> # git branch abc-3.9
> # git checkout abc-3.8
> 
> Introduce new commit on top of abc-3.8. Here, I edit README.
> 
> # vim README
> # git commit -a -v
> [abc-3.8 4bf088b5d341] Hello world
> 
> Then I try to rebase abc-3.9 on top of abc-3.8 as the following:
> 
> # git rebase --preserve-merges -s recursive -Xdiff-algorithm=patience
> --onto abc-3.8 v3.8 abc-3.9
> 
> And then I see:
> 
> fatal: Unknown option for merge-recursive: -X'diff-algorithm=patience'
> Error redoing merge e84cf5d0fd53badf3a93c790e280cc92a69ed999
> 
> Attached here is GIT_TRACE=1 output.

Funnily enough, this had been reported on the Git for Windows bugtracker,
and somebody even found the culprit:

https://github.com/git-for-windows/git/issues/1321#issuecomment-337279119

Sadly, I lost track of this. Will prepare a proper patch right now.

Ciao,
Johannes

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-01-04 21:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <9e4ffb63-59de-a020-fee8-6cefae3b3dda@gmail.com>
2018-01-01 11:28 ` Fwd: Unknown option for merge-recursive: -X'diff-algorithm=patience' Matwey V. Kornilov
2018-01-04 12:34   ` Matwey V. Kornilov
2018-01-04 18:57     ` Junio C Hamano
2018-01-04 19:25       ` Matwey V. Kornilov
2018-01-04 21:02   ` Johannes Schindelin

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).