Mercurial > kallithea
comparison rhodecode/model/scm.py @ 3878:7d29355db6f4 beta
fixes #834 hooks error on remote pulling
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 20 May 2013 02:34:03 +0200 |
parents | 1aefa8d864e4 |
children | a228a33d868e |
comparison
equal
deleted
inserted
replaced
3877:5070c840dc23 | 3878:7d29355db6f4 |
---|---|
434 raise Exception("Cannot set repository as fork of itself") | 434 raise Exception("Cannot set repository as fork of itself") |
435 repo.fork = fork | 435 repo.fork = fork |
436 self.sa.add(repo) | 436 self.sa.add(repo) |
437 return repo | 437 return repo |
438 | 438 |
439 def _handle_rc_scm_extras(self, username, repo_name, repo_alias): | 439 def _handle_rc_scm_extras(self, username, repo_name, repo_alias, |
440 action=None): | |
440 from rhodecode import CONFIG | 441 from rhodecode import CONFIG |
441 from rhodecode.lib.base import _get_ip_addr | 442 from rhodecode.lib.base import _get_ip_addr |
442 try: | 443 try: |
443 from pylons import request | 444 from pylons import request |
444 environ = request.environ | 445 environ = request.environ |
448 from webob import Request | 449 from webob import Request |
449 environ = Request.blank('').environ | 450 environ = Request.blank('').environ |
450 extras = { | 451 extras = { |
451 'ip': _get_ip_addr(environ), | 452 'ip': _get_ip_addr(environ), |
452 'username': username, | 453 'username': username, |
453 'action': 'push_local', | 454 'action': action or 'push_local', |
454 'repository': repo_name, | 455 'repository': repo_name, |
455 'scm': repo_alias, | 456 'scm': repo_alias, |
456 'config': CONFIG['__file__'], | 457 'config': CONFIG['__file__'], |
457 'server_url': get_server_url(environ), | 458 'server_url': get_server_url(environ), |
458 'make_lock': None, | 459 'make_lock': None, |
502 repo_name = dbrepo.repo_name | 503 repo_name = dbrepo.repo_name |
503 try: | 504 try: |
504 if repo.alias == 'git': | 505 if repo.alias == 'git': |
505 repo.fetch(clone_uri) | 506 repo.fetch(clone_uri) |
506 else: | 507 else: |
508 self._handle_rc_scm_extras(username, dbrepo.repo_name, | |
509 repo.alias, action='push_remote') | |
507 repo.pull(clone_uri) | 510 repo.pull(clone_uri) |
511 | |
508 self.mark_for_invalidation(repo_name) | 512 self.mark_for_invalidation(repo_name) |
509 except Exception: | 513 except Exception: |
510 log.error(traceback.format_exc()) | 514 log.error(traceback.format_exc()) |
511 raise | 515 raise |
512 | 516 |