Как сравнить, с git diff, два удаленных файла, которых нет в репозитории? - PullRequest
0 голосов
/ 20 апреля 2020

Я могу сравнить два удаленных файла с diff и ssh:

diff <(ssh machine1 "sudo cat ${FILE}") <(ssh machine2 "sudo cat ${FILE}")

, но если я попытаюсь с git diff,

git diff --no-index --color-words <(ssh machine1 "sudo cat ${FILE}") <(ssh machine2 "sudo cat ${FILE}")

, я получу:

error: /dev/fd/14: unsupported file type
fatal: cannot hash /dev/fd/14

Как можно с помощью git diff сравнить два удаленных файла, отсутствующих в хранилище?

== Update ==

Этот вопрос не о замене git diff на diff и colordiff, но об использовании от git diff --no-index до ssh.

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Поскольку подстановка процесса не может быть использована из-за забытого патча , единственный вариант (поскольку вы хотите использовать git diff):

ssh machine1 "sudo cat ${FILE}" > temp1 
ssh machine2 "sudo cat ${FILE}" > temp2
git diff --no-index temp1 temp2

Вы можете добиться того же использование diff (поддерживает форматирование и цвета, аналогичные git diff), что также работает с подстановкой процесса

diff -u --color <(ssh machine1 "sudo cat ${FILE}") <(ssh machine2 "sudo cat ${FILE}")
0 голосов
/ 20 апреля 2020

Попробуйте использовать

git diff --no-index <(s sh machine1 "sudo cat $ {FILE}") <(s sh machine2 "sudo cat $ {FILE} ") </p>

Как найдено здесь .

...