git aliases, вызывающий ошибку "Отказано в доступе"

Следующие команды

$ git co -b newbranch
$ git co oldbranch

В результате возникает ошибка "Неустранимый: невозможно выполнить" git-co ": Отказано в доступе".

В то же время,

$ git checkout -b newbranch
$ git checkout oldbranch

а также

$ sudo git co -b newbranch
$ sudo git co oldbranch

работать как положено. Права доступа к папке.git устанавливаются для пользователя, владеющего домашней папкой, а 0755/0644 - режим для папки.git / подпапки / файлы.

Псевдонимы определены в .gitconfig из домашней папки:

[alias]
co = checkout

Там нет разницы в git config -l вывод для пользователя root или непривилегированного пользователя.

Что мне не хватает?

Gentoo 3.0.6 / git 1.7.3.4

1 ответ

Решение

Проблема решена, см. https://stackoverflow.com/questions/7997700/git-aliases-causing-permission-denied-error.

Прежде чем git запускает псевдонимы, он проверяет $PATH, Если каталог не существует или не имеет прав доступа, git создает "fatal: cannot exec 'git-co': Permission denied",

Хорошие люди из списка рассылки git также напомнили мне инструмент, который strace может помочь найти запись, которая возвращает EACCES, как в: strace -f -e execve git foobar

Кредит переходит к Джеффу Кингу из списка рассылки git.:)

Другие вопросы по тегам