Вам просто нужно использовать конструкцию select()
, чтобы удалить объект, содержащий поле .name
, из структуры JSON.
if [[ $(jq '.peerDependencies | length' package.json) = 0 ]]; then
jq '.sections |= map(select(.name != "Prerequisite"))' docs.json
fi
Затем можно использовать > newSection.json
, чтобы перенаправить измененное содержимое docs.json
в новый файл.
Поворот "предварительное слияние" прочь в Вашей конфигурации слияния. Затем все рассчитывает как конфликт, и можно выбрать "оставленный" или "прямо" для каждого изменения файла.
[merge-tools]
mymergetool.premerge = False
Слияние всегда выполняется между родительским пересмотром рабочего каталога и другим пересмотром, по умолчанию другая голова в Вашем репозитории.
Если Вы хотите объединиться в другом "направлении", можно измениться, какое ответвление находится в рабочем каталоге путем проверки определенного пересмотра:
hg update -r [rev]
Для наблюдения, какие головы Вы имеете в своем репозитории, выполняет следующую команду:
hg heads
С другой стороны, если Вы используете fetch
можно использовать --switch-parent
опция объединиться в другом направлении:
hg fetch --switch-parent
Вы не можете изменить направление слияния на основе файла файлом как Подвижные работы с changesets, которые влияют на целый репозиторий не путем отслеживания изменений на отдельных файлах как CVS.
Отредактируйте файл конфигурации следующим образом:
[ui]
merge = kdiff3
[merge-tools]
kdiff3.premerge = false
kdiff3.args=--L1 base --L2 local --L3 other $base $local $other -o $output
По умолчанию он помещает аргумент - auto
в kdiff3, поэтому kdiff3 автоматически объединяется.