Mercurial > hgsubversion
view tests/test_svn_pre_commit_hooks.py @ 1422:372afb75f465
maps: add the "branchmaxrevnum" method to RevMap
Iterating the RevMap can be very expensive for large repos. To prevent future
code from iterating the possibly huge RevMap causing performance issues, it's
a good idea to clean all iterating code outside RevMap.
This patch adds a method used by "get_parent_svn_branch_and_rev".
In the future, we will have a SqliteRevMap, which will have an efficient
implementation for this query, and it will disable "__iter__" to prevent
future performance issues.
author | Jun Wu <quark@fb.com> |
---|---|
date | Sat, 14 May 2016 20:33:57 +0100 |
parents | d741f536f23a |
children | cff81f35b31e |
line wrap: on
line source
import os import sys import test_util import unittest from mercurial import hg from mercurial import commands from mercurial import util class TestSvnPreCommitHooks(test_util.TestBase): def setUp(self): super(TestSvnPreCommitHooks, self).setUp() self.repo_path = self.load_and_fetch('single_rev.svndump')[1] # creating pre-commit hook that doesn't allow any commit hook_file_name = os.path.join( self.repo_path, 'hooks', 'pre-commit' ) hook_file = open(hook_file_name, 'w') hook_file.write( '#!/bin/sh\n' 'echo "Commits are not allowed" >&2; exit 1;\n' ) hook_file.close() os.chmod(hook_file_name, 0755) def test_push_with_pre_commit_hooks(self): changes = [('narf/a', 'narf/a', 'ohai',), ] self.commitchanges(changes) self.assertRaises(util.Abort, self.pushrevisions)