git rebase: передача нескольких вариантов стратегии - PullRequest
2 голосов
/ 28 июня 2019

С git rebase опция стратегии слияния может быть передана с помощью -X <strategy-option> или --strategy-option=<strategy-option>. Однако из справочной страницы неясно, могут ли быть переданы несколько параметров (или если последующие параметры заменят предыдущие) и, если это так, правильный ли синтаксис - -X <opt1,opt2> или -X <opt1> -X <opt2>. Выполнение git rebase --verbose -m -X <opt1> -X <opt2> <upstream> не приводит к ошибкам, но даже при включенном подробном выводе нет указания, были ли применены оба параметра или только последний.

1 Ответ

1 голос
/ 28 июня 2019

Синтаксис opt1,opt2,opt3 через запятую используется для git diff

D:\git\git\t>grep -E "\-X" *.sh|grep "\,"
t4047-diff-dirstat.sh:  test_must_fail git show -X=20,cumulative
t4047-diff-dirstat.sh:test_expect_success 'explicit defaults: -Xchanges,noncumulative,3' '
t4047-diff-dirstat.sh:  git diff -Xchanges,noncumulative,3 HEAD^..HEAD >actual_diff_dirstat &&

Не для вариантов стратегии в слиянии / перебазировании.

Для них требуется несколько -Xopt1 -Xopt2.

Но я могу найти только один случай, когда такой синтаксис проверяется, и для случая сбоя: t3418-rebase-continue.sh

test_must_fail git rebase -i -s funny -Xopt -Xfoo master topic

Так что на практике я не уверен, будет ли это когда-либо использовано.

Первоначальный коммит (ноябрь 2009 г., Git v1.7.0-rc0) , в котором -X протестировано только с опцией по одной стратегии за раз.

Я вижу один пример, как с git cherry-pick:

D: \ git \ git \ t> grep -E "-X. *? - X" * .sh

t3418-rebase-continue.sh: test_must_fail git rebase -i -s funny -Xopt -Xfoo Основная тема t3510-cherry-pick-sequence.sh: test_expect_code 128 git cherry-pick -s -m $ mainline --strategy = рекурсивный -X терпение -X наше начальное..anotherpick &&

См. t3510-cherry-pick-sequence.sh, где использует ту же стратегию / опции, что и git merge .

test_expect_code 128 git cherry-pick -s -m $mainline --strategy=recursive -X patience -X ours initial..anotherpick 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...