|hg| Large Files Extension
Large files, such as image or zip files can cause a lot of bandwidth overhead during clone, push, and pull operations. To remove this inefficiency, |hg| has a large files extension which tracks their revisions by checksums. This means that the large files are only downloaded when they are needed as part of the current revision. This saves both disk space and bandwidth.
Enabling HG Largefiles
Mercurial Largefiles extension is disabled by default within RhodeCode Server.
To enable Mercurial Largefiles Globally:
- Go to :menuselection:`Admin --> Settings --> VCS`
- Scroll down into Mercurial settings
- Tick Enable largefiles extension
- Save your settings.
Those settings apply globally to each repository that inherits from the defaults You can leave largefiles extension disabled globally, and only enable it per repository that would use the largefiles.
Note
You might want to adjust the global storage location at that point, however we recommend leaving the default one created.
Installing and using the |hg| Largefiles
To find out more, see the |hg| Large Files Extensions Documentation.
To configure the large files extension, you need to set up your :file:`~/.hgrc` file.
- Open your :file:`~/.hgrc` file.
- Add largefiles = to the [extensions] section.
- Configure the [largefiles] section with the patterns and file size you wish |hg| to handle as large. The minsize option is specified in megabytes.
- Save your changes.
[extensions] hgext.churn = largefiles = rebase = record = histedit = [largefiles] patterns = re:.*\.(png|bmp|jpg|zip|tar|tar.gz|rar)$ minsize = 10
For a complete :file:`~/.hgrc` file example, see :ref:`config-hgrc`.