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