# Copyright (C) 2014-2023 RhodeCode GmbH # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License, version 3 # (only), as published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # This program is dual-licensed. If you wish to learn more about the # RhodeCode Enterprise Edition, including its added features, Support services, # and proprietary license terms, please see https://rhodecode.com/licenses/ """ Internal settings for vcs-lib """ # list of default encoding used in safe_str methods DEFAULT_ENCODINGS = ['utf8'] # Compatibility version when creating SVN repositories. None means newest. # Other available options are: pre-1.4-compatible, pre-1.5-compatible, # pre-1.6-compatible, pre-1.8-compatible SVN_COMPATIBLE_VERSION = None ALIASES = ['hg', 'git', 'svn'] BACKENDS = { 'hg': 'rhodecode.lib.vcs.backends.hg.MercurialRepository', 'git': 'rhodecode.lib.vcs.backends.git.GitRepository', 'svn': 'rhodecode.lib.vcs.backends.svn.SubversionRepository', } ARCHIVE_SPECS = [ ('tbz2', 'application/x-bzip2', '.tbz2'), ('tbz2', 'application/x-bzip2', '.tar.bz2'), ('tgz', 'application/x-gzip', '.tgz'), ('tgz', 'application/x-gzip', '.tar.gz'), ('zip', 'application/zip', '.zip'), ] HOOKS_PROTOCOL = None HOOKS_HOST = '127.0.0.1' MERGE_MESSAGE_TMPL = ( 'Merge pull request !{pr_id} from {source_repo} {source_ref_name}\n\n ' '{pr_title}') MERGE_DRY_RUN_MESSAGE = 'dry_run_merge_message_from_rhodecode' MERGE_DRY_RUN_USER = 'Dry-Run User' MERGE_DRY_RUN_EMAIL = 'dry-run-merge@rhodecode.com' HG_CLOSE_BRANCH_MESSAGE_TMPL = ( 'Closing branch: `{source_ref_name}`' ) def available_aliases(): """ Mercurial is required for the system to work, so in case vcs.backends does not include it, we make sure it will be available internally TODO: anderson: refactor vcs.backends so it won't be necessary, VCS server should be responsible to dictate available backends. """ aliases = ALIASES[:] if 'hg' not in aliases: aliases += ['hg'] return aliases