One-time Admin Tasks

Adding Web Analytics

If you wish to add a Google Analytics, or any other kind of tracker to your RhodeCode Enterprise instance you can add the necessary codes to the header or footer section of each instance using the following steps:

  1. From the RhodeCode Enterprise interface, select Admin ‣ Settings ‣ Global
  2. To add a tracking code to you instance, enter it in the header or footer section and select Save

Use the example templates in the drop-down menu to set up your configuration.

Licence Key Management

To manage your license key, go to Admin ‣ Settings ‣ License. On this page you can see the license key details. If you need a new license, or have questions about your current one, contact

Server-wide Announcements

If you need to make a server-wide announcement to all users, you can add a message to be displayed using the following steps:

  1. From the RhodeCode Enterprise interface, select Admin ‣ Settings ‣ Global
  2. To add a message that will be displayed to all users, select Server Announcement from the drop-down menu and change the var message = "TYPE YOUR MESSAGE HERE"; example line.
  3. Select Save, and you will see the message once your page refreshes.
Server Wide Announcement

Suppress license warnings or errors

In case you’re running on maximum allowed users, RhodeCode will display a warning message on pages that you’re close to the license limits. It’s often not desired to show that all the time. Here’s how you can suppress the license messages.

  1. From the RhodeCode Enterprise interface, select Admin ‣ Settings ‣ Global
  2. Select Flash message filtering from the drop-down menu.
  3. Select Save, and you will no longer see the license message once your page refreshes.

Markdown or RST Rendering

RhodeCode Enterprise can use Markdown or reStructured Text in commit message, code review messages, and inline comments. To set the default to either, select your preference from the drop-down menu on the Admin ‣ Settings ‣ Visual page and select Save settings.

Enabling Repository Statistics

To enable repository statistics, use the following steps:

  1. From the RhodeCode Enterprise interface, open Admin ‣ Repositories and select Edit beside the repository for which you wish to enable statistics.
  2. Check the Enable statistics box, and select Save

Enabling Server-side Merging

To enable server-side merging, use the following steps:

  1. From the RhodeCode Enterprise interface, open Admin ‣ Settings ‣ VCS
  2. Check the Server-side merge box, and select Save Settings

If you encounter slow performance with server-side merging enabled, check the speed at which your server is performing actions. When server-side merging is enabled, the following actions occurs on the server.

  • A pull request is created in the database.
  • A shadow repository is created as a working environment for the pull request.
  • On display, RhodeCode Enterprise checks if the pull request can be merged.

To check how fast the shadow repository creation is occurring on your server, use the following steps:

  1. Log into your server and create a directory in your repositories folder.
  2. Clone a repository that is showing slow performance and time the action.
# One option is to use the time command
$ time hg clone SOURCE_REPO TARGET

Remap and Rescan Repositories

You may want to Remap and rescan the repositories that RhodeCode Enterprise is managing to ensure the system is always up-to-date. This is useful after importing, deleting, or carrying out general cleaning up operations. To do this use the following steps:

  1. From the RhodeCode Enterprise, open Admin ‣ Settings ‣ Remap and rescan
  2. Click Rescan Repositories

Check the additional options if needed:

  • Destroy old data: Useful for purging deleted repository information from the database.
  • Invalidate cache for all repositories: Use this to completely remap all repositories. Useful when importing or migrating repositories to ensure all new information is picked up.

Adding Custom Hooks

To add custom hooks to your instance, use the following steps:

  1. Open Admin ‣ Settings ‣ Hooks
  2. Add your custom hook details, you can use a file path to specify custom hook scripts, for example: pretxnchangegroup.example with value python:/path/to/
  3. Select Save

Also, see the RhodeCode Extensions section of the RhodeCode Tools guide. RhodeCode Extensions can be used to add additional hooks to your instance and comes with a number of pre-built plugins if you chose to install them.

Clearing repository cache

If you need to clear the cache for a particular repository, use the following steps:

  1. Open Admin ‣ Repositories and select Edit beside the repository whose cache you wish to clear.
  2. On the repository settings page, go to the Caches tab and select Invalidate repository cache.

Changing Default Language

To change the default language of a RhodeCode Enterprise instance, change the language code in the /home/user/.rccontrol/instance-id/rhodecode.ini file. To do this, use the following steps.

  1. Open the rhodecode.ini file and set the required language code.
## Optional Languages
## en(default), de, fr, it, ja, pl, pt, ru, zh
lang = de
  1. Restart the RhodeCode Enterprise instance and check that the language has been updated.
$ rccontrol restart enterprise-2
Instance "enterprise-2" successfully stopped.
Instance "enterprise-2" successfully started.

Setting Repositories to Publish

To automatically promote your local repositories to public after pushing to RhodeCode Enterprise, enable the Set repositories as publishing option on the Admin ‣ Settings ‣ VCS page.


This option is enabled by default on most RhodeCode Enterprise versions, but if upgrading from a 1.7.x version it could be disabled on upgrade due to inheriting older default settings.

Pinging the RhodeCode Enterprise Server

You can check the IP Address of your RhodeCode Enterprise instance using the following URL: {instance-URL}/_admin/ping.

$ curl https://your.rhodecode.url/_admin/ping
pong[rce-7880] =>

Unarchiving a repository

Archive operation for the repository is similar as delete. Archive keeps the data for future references but makes the repository read-only. After archiving the repository it shouldn’t be modified in any way. This is why repository settings are disabled for an archived repository.

If there’s a need for unarchiving a repository for some reasons, the interactive ishell interface should be used.

# Open iShell from the terminal
$ rccontrol ishell enterprise-1/community-1
# Set repository as un-archived
In [1]: repo = Repository.get_by_repo_name('SOME_REPO_NAME')
In [2]: repo.archived = False
In [3]: Session().add(repo);Session().commit()