ошибка p4merge [МЕРЗАВЕЦ]

Это не самый лучший вариант использования QnA Maker. QnA Maker позволяет вам использовать сервис вопросов и ответов из вашего полуструктурированного контента, такого как документы FAQ, URL-адреса и руководства по продуктам. Служба QnA Maker отвечает на вопросы ваших пользователей на естественном языке, сопоставляя их с наилучшим возможным ответом из QnAs в вашей базе знаний.

То, что вы ищете, может быть сделано с чат-ботом, где вы пишете логику для чередующихся ответов. Visual Studio имеет предварительно загруженный образец echoBot , который может помочь вам начать работу, и у нас есть много документации здесь:

https://docs.microsoft.com/ ан-нас / лазурь / бот-сервис / бот-строитель-диалог-управление-комплексно-разговор-поток вид = лазурь-бот-сервис-4,0 & амп;? ушки = Csharp

28
задан Brett Veenstra 2 May 2012 в 12:38
поделиться

2 ответа

У меня это сработало с использованием msysGit в Windows 7:

git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd 'p4merge $BASE $LOCAL $REMOTE $MERGED'

Не знаю, почему, но цитирование меня испортило.

39
ответ дан 28 November 2019 в 03:20
поделиться

Вы увидите здесь мою конфигурацию для DiffMerge или KDiff3.

Исходя из этого, я бы рекомендовал для p4merge:

git config --global merge.tool merge
git config --global mergetool.merge.cmd "merge.sh \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" \"$PWD/$MERGED\""

и merge.sh , являющиеся оболочкой (скопированной в каталог, на который ссылается ваша переменная среды PATH ), способные примите во внимание случай, когда BASE не существует.
(когда файл создается в двух разных ветвях, которые затем объединяются, для этого файла не будет общего предка)

#!/bin/sh

# Passing the following parameters to mergetool:
#  local base remote merge_result

alocal=$1
base=$2
remote=$3
result=$4

if [ -f $base ]
then
    p4merge.exe -dl "$base" "$alocal" "$remote" "$result" 
else
    p4merge.exe -dl "$result" "$alocal" "$remote" "$result" 
fi

Вы можете заметить:

  • использование PWD в конфигурации слияния
  • использование « merge » в качестве имени имени merge.tool (поскольку фактический инструмент вызывается в скрипте merge.sh , где вы можете переключаться между любым номером инструмента слияния, который вы хотите)
  • использование двойных кавычек вокруг $ base , $ alocal , $ remote , $ result в сценарии
  • условный путь для вызова инструмента, основанный на существовании «базового» файла.
  • необходимость всегда иметь 3 файла для слияния в качестве параметров (даже когда 'base' не существует ...)

Просто протестировал (оказывается, Он просто работает TM .


Обновление msysgit 1.7.x

Бенджол упоминает в комментариях:

p4merge теперь изначально поддерживается msysgit .

Это означает, что вы можете просто сделать:

git config --global merge.tool p4merge
# and I recommend 
git config --global mergetool.keepBackup false
8
ответ дан 28 November 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: