##// END OF EJS Templates
fix for issue #417, git execution was broken on windows for certain commands....
marcink -
r2325:18d34a56 beta
parent child Browse files
Show More
@@ -5,11 +5,13 b' GIT support'
5 ===========
5 ===========
6
6
7
7
8 Git support in RhodeCode 1.3 was enabled by default.
8 Git support in RhodeCode 1.3 was enabled by default. You need to have a git
9 client installed on the machine to make git fully work.
10
9 Although There are some limitations on git usage.
11 Although There are some limitations on git usage.
10
12
11 - No hooks are runned for git push/pull actions.
13 - hooks that are executed on pull/push are not *real* hooks, they are
12 - logs in action journals don't have git operations
14 just emulating the behavior, and are executed **BEFORE** action takes place.
13 - large pushes needs http server with chunked encoding support.
15 - large pushes needs http server with chunked encoding support.
14
16
15 if you plan to use git you need to run RhodeCode with some
17 if you plan to use git you need to run RhodeCode with some
@@ -17,14 +19,19 b' http server that supports chunked encodi'
17 i recommend using waitress_ or gunicorn_ (linux only) for `paste` wsgi app
19 i recommend using waitress_ or gunicorn_ (linux only) for `paste` wsgi app
18 replacement.
20 replacement.
19
21
20 To use waitress simply change change the following in the .ini file::
22 To use, simply change change the following in the .ini file::
21
23
22 use = egg:Paste#http
24 use = egg:Paste#http
23
25
24 To::
26 to::
25
27
26 use = egg:waitress#main
28 use = egg:waitress#main
27
29
30 or::
31
32 use = egg:gunicorn#main
33
34
28 And comment out bellow options::
35 And comment out bellow options::
29
36
30 threadpool_workers =
37 threadpool_workers =
@@ -94,15 +94,20 b' class GitRepository(BaseRepository):'
94 if isinstance(cmd, basestring):
94 if isinstance(cmd, basestring):
95 cmd = [cmd]
95 cmd = [cmd]
96 _str_cmd = True
96 _str_cmd = True
97
98 gitenv = os.environ
99 gitenv['GIT_CONFIG_NOGLOBAL'] = '1'
97
100
98 cmd = ['GIT_CONFIG_NOGLOBAL=1', 'git'] + _copts + cmd
101 cmd = ['git'] + _copts + cmd
99 if _str_cmd:
102 if _str_cmd:
100 cmd = ' '.join(cmd)
103 cmd = ' '.join(cmd)
101 try:
104 try:
102 opts = dict(
105 opts = dict(
103 shell=isinstance(cmd, basestring),
106 shell=isinstance(cmd, basestring),
104 stdout=PIPE,
107 stdout=PIPE,
105 stderr=PIPE)
108 stderr=PIPE,
109 env=gitenv,
110 )
106 if os.path.isdir(self.path):
111 if os.path.isdir(self.path):
107 opts['cwd'] = self.path
112 opts['cwd'] = self.path
108 p = Popen(cmd, **opts)
113 p = Popen(cmd, **opts)
General Comments 0
You need to be logged in to leave comments. Login now