@@ -5,11 +5,13 @@ GIT support
===========
Git support in RhodeCode 1.3 was enabled by default.
Git support in RhodeCode 1.3 was enabled by default. You need to have a git
client installed on the machine to make git fully work.
Although There are some limitations on git usage.
- No hooks are runned for git push/pull actions.
- logs in action journals don't have git operations
- hooks that are executed on pull/push are not *real* hooks, they are
just emulating the behavior, and are executed **BEFORE** action takes place.
- large pushes needs http server with chunked encoding support.
if you plan to use git you need to run RhodeCode with some
@@ -17,14 +19,19 @@ http server that supports chunked encodi
i recommend using waitress_ or gunicorn_ (linux only) for `paste` wsgi app
replacement.
To use waitress simply change change the following in the .ini file::
To use, simply change change the following in the .ini file::
use = egg:Paste#http
To::
to::
use = egg:waitress#main
or::
use = egg:gunicorn#main
And comment out bellow options::
threadpool_workers =
@@ -94,15 +94,20 @@ class GitRepository(BaseRepository):
if isinstance(cmd, basestring):
cmd = [cmd]
_str_cmd = True
gitenv = os.environ
gitenv['GIT_CONFIG_NOGLOBAL'] = '1'
cmd = ['GIT_CONFIG_NOGLOBAL=1', 'git'] + _copts + cmd
cmd = ['git'] + _copts + cmd
if _str_cmd:
cmd = ' '.join(cmd)
try:
opts = dict(
shell=isinstance(cmd, basestring),
stdout=PIPE,
stderr=PIPE)
stderr=PIPE,
env=gitenv,
)
if os.path.isdir(self.path):
opts['cwd'] = self.path
p = Popen(cmd, **opts)
Status change: