Бегущая Идея Mergetool - PullRequest
1 голос
/ 16 апреля 2019

у меня внутри моего .gitconfig

[merge]
    tool = intellij
[mergetool "intellij"]
    cmd = /usr/local/bin/idea merge $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")
    trustExitCode = true

, чтобы я мог запустить git mergetool и получить Mergetool Intellij IDEA.

Проблема в том, что, поскольку мы выполняем с /usr/local/bin/idea, требуются права администратора. Однако при запуске sudo git mergetool IDEA будет работать на этот раз, но как sudo, в результате чего все измененные файлы изменили разрешения, в частности, изменив владельца файла. Кроме того, он не загружает пользовательский конфиг при запуске от имени sudo.

Каким было бы решение?

1 Ответ

1 голос
/ 16 апреля 2019

выполнение из / usr / local / bin / idea требует прав администратора

Типичные разрешения для исполняемых файлов в /usr/local/bin: 755, что означает, что любой может запускать исполняемые файлы оттуда. (проверено на Mac и Ubuntu 18/04 - разрешения одинаковые).

Похоже, что-то неправильно сконфигурировано в системе, поэтому для запуска ide wrapper требуется sudo.

Проверьте и настройте разрешения / usr / local / bin / idea соответственно.

...