Pylons==1.0.0
Beaker==1.6.3
WebHelpers==1.3
formencode==1.2.4
SQLAlchemy==0.7.6
Mako==0.6.2
pygments>=1.4
whoosh>=2.3.0,<2.4
celery>=2.2.5,<2.3
babel
python-dateutil>=1.5.0,<2.0.0
dulwich>=0.8.0,<0.9.0
dulwich>=0.8.4,<0.9.0
webob==1.0.8
markdown==2.1.1
docutils==0.8.1
py-bcrypt
mercurial>=2.1,<2.2
\ No newline at end of file
@@ -48,25 +48,25 @@ PLATFORM_OTHERS = ('Linux', 'Darwin', 'F
requirements = [
"Pylons==1.0.0",
"Beaker==1.6.3",
"WebHelpers==1.3",
"formencode==1.2.4",
"SQLAlchemy==0.7.6",
"Mako==0.6.2",
"pygments>=1.4",
"whoosh>=2.3.0,<2.4",
"celery>=2.2.5,<2.3",
"babel",
"python-dateutil>=1.5.0,<2.0.0",
"dulwich>=0.8.0,<0.9.0",
"dulwich>=0.8.4,<0.9.0",
"webob==1.0.8",
"markdown==2.1.1",
"docutils==0.8.1",
]
if __py_version__ < (2, 6):
requirements.append("simplejson")
requirements.append("pysqlite")
if __platform__ in PLATFORM_WIN:
requirements.append("mercurial>=2.1,<2.2")
else:
@@ -56,25 +56,25 @@ class SimpleGitUploadPackHandler(dulserv
for msg in messages:
self.progress(msg + "\n")
# we are done
self.proto.write("0000")
dulserver.DEFAULT_HANDLERS = {
'git-upload-pack': SimpleGitUploadPackHandler,
'git-receive-pack': dulserver.ReceivePackHandler,
}
from dulwich.repo import Repo
from dulwich.web import HTTPGitApplication
from dulwich.web import make_wsgi_chain
from paste.httpheaders import REMOTE_USER, AUTH_TYPE
from rhodecode.lib.utils2 import safe_str
from rhodecode.lib.base import BaseVCSController
from rhodecode.lib.auth import get_container_username
from rhodecode.lib.utils import is_valid_repo
from rhodecode.model.db import User
from webob.exc import HTTPNotFound, HTTPForbidden, HTTPInternalServerError
log = logging.getLogger(__name__)
@@ -196,25 +196,25 @@ class SimpleGit(BaseVCSController):
log.error(traceback.format_exc())
return HTTPInternalServerError()(environ, start_response)
def __make_app(self, repo_name, repo_path):
"""
Make an wsgi application using dulserver
:param repo_name: name of the repository
:param repo_path: full path to the repository
_d = {'/' + repo_name: Repo(repo_path)}
backend = dulserver.DictBackend(_d)
gitserve = HTTPGitApplication(backend)
gitserve = make_wsgi_chain(backend)
return gitserve
def __get_repository(self, environ):
Get's repository name out of PATH_INFO header
:param environ: environ where PATH_INFO is stored
try:
environ['PATH_INFO'] = self._get_by_id(environ['PATH_INFO'])
repo_name = GIT_PROTO_PAT.match(environ['PATH_INFO']).group(1)
Status change: