Mercurial > kallithea
comparison rhodecode/lib/db_manage.py @ 2726:aa17c7a1b8a5 beta
Implemented basic locking functionality.
- Reimplemented how githooks behave
- emaulate pre-receive hook
- install missing git hooks if they aren't already in repo
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 22 Aug 2012 00:30:02 +0200 |
parents | d2d35cf2b351 |
children | 186b1cf7f759 |
comparison
equal
deleted
inserted
replaced
2725:3853e37db97c | 2726:aa17c7a1b8a5 |
---|---|
305 hooks1 = RhodeCodeUi() if hooks1_ is None else hooks1_ | 305 hooks1 = RhodeCodeUi() if hooks1_ is None else hooks1_ |
306 hooks1.ui_section = 'hooks' | 306 hooks1.ui_section = 'hooks' |
307 hooks1.ui_key = hooks1_key | 307 hooks1.ui_key = hooks1_key |
308 hooks1.ui_value = 'hg update >&2' | 308 hooks1.ui_value = 'hg update >&2' |
309 hooks1.ui_active = False | 309 hooks1.ui_active = False |
310 self.sa.add(hooks1) | |
310 | 311 |
311 hooks2_key = RhodeCodeUi.HOOK_REPO_SIZE | 312 hooks2_key = RhodeCodeUi.HOOK_REPO_SIZE |
312 hooks2_ = self.sa.query(RhodeCodeUi)\ | 313 hooks2_ = self.sa.query(RhodeCodeUi)\ |
313 .filter(RhodeCodeUi.ui_key == hooks2_key).scalar() | 314 .filter(RhodeCodeUi.ui_key == hooks2_key).scalar() |
314 | |
315 hooks2 = RhodeCodeUi() if hooks2_ is None else hooks2_ | 315 hooks2 = RhodeCodeUi() if hooks2_ is None else hooks2_ |
316 hooks2.ui_section = 'hooks' | 316 hooks2.ui_section = 'hooks' |
317 hooks2.ui_key = hooks2_key | 317 hooks2.ui_key = hooks2_key |
318 hooks2.ui_value = 'python:rhodecode.lib.hooks.repo_size' | 318 hooks2.ui_value = 'python:rhodecode.lib.hooks.repo_size' |
319 self.sa.add(hooks2) | |
319 | 320 |
320 hooks3 = RhodeCodeUi() | 321 hooks3 = RhodeCodeUi() |
321 hooks3.ui_section = 'hooks' | 322 hooks3.ui_section = 'hooks' |
322 hooks3.ui_key = RhodeCodeUi.HOOK_PUSH | 323 hooks3.ui_key = RhodeCodeUi.HOOK_PUSH |
323 hooks3.ui_value = 'python:rhodecode.lib.hooks.log_push_action' | 324 hooks3.ui_value = 'python:rhodecode.lib.hooks.log_push_action' |
325 self.sa.add(hooks3) | |
324 | 326 |
325 hooks4 = RhodeCodeUi() | 327 hooks4 = RhodeCodeUi() |
326 hooks4.ui_section = 'hooks' | 328 hooks4.ui_section = 'hooks' |
327 hooks4.ui_key = RhodeCodeUi.HOOK_PULL | 329 hooks4.ui_key = RhodeCodeUi.HOOK_PRE_PUSH |
328 hooks4.ui_value = 'python:rhodecode.lib.hooks.log_pull_action' | 330 hooks4.ui_value = 'python:rhodecode.lib.hooks.pre_push' |
329 | 331 self.sa.add(hooks4) |
330 # For mercurial 1.7 set backward comapatibility with format | 332 |
331 dotencode_disable = RhodeCodeUi() | 333 hooks5 = RhodeCodeUi() |
332 dotencode_disable.ui_section = 'format' | 334 hooks5.ui_section = 'hooks' |
333 dotencode_disable.ui_key = 'dotencode' | 335 hooks5.ui_key = RhodeCodeUi.HOOK_PULL |
334 dotencode_disable.ui_value = 'false' | 336 hooks5.ui_value = 'python:rhodecode.lib.hooks.log_pull_action' |
337 self.sa.add(hooks5) | |
338 | |
339 hooks6 = RhodeCodeUi() | |
340 hooks6.ui_section = 'hooks' | |
341 hooks6.ui_key = RhodeCodeUi.HOOK_PRE_PULL | |
342 hooks6.ui_value = 'python:rhodecode.lib.hooks.pre_pull' | |
343 self.sa.add(hooks6) | |
335 | 344 |
336 # enable largefiles | 345 # enable largefiles |
337 largefiles = RhodeCodeUi() | 346 largefiles = RhodeCodeUi() |
338 largefiles.ui_section = 'extensions' | 347 largefiles.ui_section = 'extensions' |
339 largefiles.ui_key = 'largefiles' | 348 largefiles.ui_key = 'largefiles' |
340 largefiles.ui_value = '' | 349 largefiles.ui_value = '' |
350 self.sa.add(largefiles) | |
341 | 351 |
342 # enable hgsubversion disabled by default | 352 # enable hgsubversion disabled by default |
343 hgsubversion = RhodeCodeUi() | 353 hgsubversion = RhodeCodeUi() |
344 hgsubversion.ui_section = 'extensions' | 354 hgsubversion.ui_section = 'extensions' |
345 hgsubversion.ui_key = 'hgsubversion' | 355 hgsubversion.ui_key = 'hgsubversion' |
346 hgsubversion.ui_value = '' | 356 hgsubversion.ui_value = '' |
347 hgsubversion.ui_active = False | 357 hgsubversion.ui_active = False |
358 self.sa.add(hgsubversion) | |
348 | 359 |
349 # enable hggit disabled by default | 360 # enable hggit disabled by default |
350 hggit = RhodeCodeUi() | 361 hggit = RhodeCodeUi() |
351 hggit.ui_section = 'extensions' | 362 hggit.ui_section = 'extensions' |
352 hggit.ui_key = 'hggit' | 363 hggit.ui_key = 'hggit' |
353 hggit.ui_value = '' | 364 hggit.ui_value = '' |
354 hggit.ui_active = False | 365 hggit.ui_active = False |
355 | |
356 self.sa.add(hooks1) | |
357 self.sa.add(hooks2) | |
358 self.sa.add(hooks3) | |
359 self.sa.add(hooks4) | |
360 self.sa.add(largefiles) | |
361 self.sa.add(hgsubversion) | |
362 self.sa.add(hggit) | 366 self.sa.add(hggit) |
363 | 367 |
364 def create_ldap_options(self, skip_existing=False): | 368 def create_ldap_options(self, skip_existing=False): |
365 """Creates ldap settings""" | 369 """Creates ldap settings""" |
366 | 370 |
458 | 462 |
459 paths = RhodeCodeUi() | 463 paths = RhodeCodeUi() |
460 paths.ui_section = 'paths' | 464 paths.ui_section = 'paths' |
461 paths.ui_key = '/' | 465 paths.ui_key = '/' |
462 paths.ui_value = path | 466 paths.ui_value = path |
467 | |
468 phases = RhodeCodeUi() | |
469 phases.ui_section = 'phases' | |
470 phases.ui_key = 'publish' | |
471 phases.ui_value = False | |
463 | 472 |
464 sett1 = RhodeCodeSetting('realm', 'RhodeCode authentication') | 473 sett1 = RhodeCodeSetting('realm', 'RhodeCode authentication') |
465 sett2 = RhodeCodeSetting('title', 'RhodeCode') | 474 sett2 = RhodeCodeSetting('title', 'RhodeCode') |
466 sett3 = RhodeCodeSetting('ga_code', '') | 475 sett3 = RhodeCodeSetting('ga_code', '') |
467 | 476 |