-
-
Notifications
You must be signed in to change notification settings - Fork 955
Closed
Description
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 setlogin()
has been made (in order for getlogin()
to succeed a previous call to setlogin()
must have been made). Perhaps the problem is in mod_wsgi running in daemon mode. Either way, a more robust get_user_id()
function would be nice.
A non-portable solution:
120: username = pwd.getpwuid(os.getuid()).pw_name
These could also be helpful:
http://defect.opensolaris.org/bz/show_bug.cgi?id=3595
http://www.agmweb.ca/blog/andy/2172/ (comment by Graham Dumpleton)
Metadata
Metadata
Assignees
Labels
No labels