Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The following commands

$ git co -b newbranch
$ git co oldbranch

result in "fatal: cannot exec 'git-co': Permission denied" error.

In the same time,

$ git checkout -b newbranch
$ git checkout oldbranch

and

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

work as expected. Ownership rights for the .git folder are set for the user owning the home folder and 0755/0644 are the mode for .git folder/subfolder/files.

Aliases are defined in .gitconfig of the home folder:

[alias]
co = checkout

There is no difference in git config -l output for root or unprivileged user.

What am I missing?

Gentoo 3.0.6 / git 1.7.3.4

share|improve this question

1 Answer 1

up vote 1 down vote accepted

The issue is resolved, see http://stackoverflow.com/questions/7997700/git-aliases-causing-permission-denied-error.

Before git runs the aliases it checks the $PATH. In case the directory does not exist, or lacks permissions, git produces the "fatal: cannot exec 'git-co': Permission denied".

Good people from the git mailing list also reminded me of a tool, that strace can help finding the entry that is returning EACCES, as in: strace -f -e execve git foobar

The credit goes to Jeff King from the git mailing list. :)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.