Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
os.getlogin() - Inappropriate ioctl for device (mod_wsgi) #39
Using gitpython from within a mod_wsgi web app results in the following exception when trying to commit:
File "...GitPython-0.3.2.RC1-py2.6.egg/git/index/base.py", line 887, in commit return Commit.create_from_tree(self.repo, tree, message, parent_commits, head) File "...GitPython-0.3.2.RC1-py2.6.egg/git/objects/commit.py", line 302, in create_from_tree committer = Actor.committer(cr) File "...GitPython-0.3.2.RC1-py2.6.egg/git/util.py", line 354, in committer return cls._main_actor(cls.env_committer_name, cls.env_committer_email, config_reader) File "...GitPython-0.3.2.RC1-py2.6.egg/git/util.py", line 327, in _main_actor default_email = get_user_id() File "...GitPython-0.3.2.RC1-py2.6.egg/git/util.py", line 120, in get_user_id username = os.getlogin() OSError: [Errno 25] Inappropriate ioctl for device
A possible explanation might be that since apache/mod_wsgi are not started by a login shell, no call to
A non-portable solution:
120: username = pwd.getpwuid(os.getuid()).pw_name
These could also be helpful:
Thank you very much for your detailed report ! Your amendments and comments will be of great help when fixing this !
In the meanwhile, If you find the time to provide a fix, I will be glad to merge it into 0.3x before that date.