##// END OF EJS Templates
docs/usage: rework section 'Mailing'
docs/usage: rework section 'Mailing'

File last commit:

r4964:667b5cea default
r4964:667b5cea default
Show More
general.rst
157 lines | 5.5 KiB | text/x-rst | RstLexer

General Kallithea usage

Repository deleting

Currently when an admin or owner deletes a repository, Kallithea does not physically delete said repository from the filesystem, but instead renames it in a special way so that it is not possible to push, clone or access the repository.

There is a special command for cleaning up such archived repos:

paster cleanup-repos --older-than=30d my.ini

This command scans for archived repositories that are older than 30 days, displays them, and asks if you want to delete them (unless given the --dont-ask flag). If you host a large amount of repositories with forks that are constantly being deleted, it is recommended that you run this command via crontab.

It is worth noting that even if someone is given administrative access to Kallithea and deletes a repository, you can easily restore such an action by renaming the repository directory, removing the rm__<date> prefix.

Follow current branch in file view

In file view when this checkbox is checked the << and >> arrows will jump to changesets within the same branch currently being viewed. So for example if someone is viewing files in the beta branch and marks the follow current branch checkbox the << and >> buttons will only show revisions for the 'beta` branch.

Compare view from changelog

Checkboxes in the compare view allow users to view a combined compare view. You can only show the range between the first and last checkbox (no cherry pick). Clicking more than one checkbox will activate a link at the top saying Show selected changesets <from-rev> -> <to-rev>. Clicking this will activate the compare view. In this view it is also possible to switch to combined compare.

Compare view is also available from the journal on pushes having more than one changeset.

Non changeable repository urls

Due to the complicated nature of repository grouping, URLs of repositories can often change.

example:

#before
http://server.com/repo_name
# after insertion to test_group group the url will be
http://server.com/test_group/repo_name

This can be an issue for build systems and any other hardcoded scripts, moving a repository to a group leads to a need for changing external systems. To overcome this Kallithea introduces a non-changable replacement URL. It's simply a repository ID prefixed with _. The above URLs are also accessible as:

http://server.com/_<ID>

Since IDs are always the same, moving the repository will not affect such a URL. the _<ID> syntax can be used anywhere in the system so URLs with repo_name for changelogs and files can be exchanged with the _<ID> syntax.

E-mail notifications

When the administrator correctly specified the e-mail settings in the Kallithea configuration file, Kallithea will send e-mails on user registration and when errors occur.

Mails are also sent for comments on changesets. In this case, an e-mail is sent to the committer of the changeset (if known to Kallithea), to all reviewers of the pull request (if applicable) and to all people mentioned in the comment using @mention notation.

Cloning remote repositories

Kallithea has the ability to clone remote repos from given remote locations. Currently it supports the following options:

  • hg -> hg clone
  • svn -> hg clone
  • git -> git clone

Note

svn -> hg cloning requires tge hgsubversion library to be installed.

If you need to clone repositories that are protected via basic auth, you might pass the url with stored credentials inside, e.g., http://user:passw@remote.server/repo, Kallithea will try to login and clone using the given credentials. Please take note that they will be stored as plaintext inside the database. Kallithea will remove auth info when showing the clone url in summary page.

Specific features configurable in the Admin settings

In general, the Admin settings should be self-explanatory and will not be described in more detail in this documentation. However, there are a few features that merit further explanation.

Repository extra fields

In the Visual tab, there is an option Use repository extra fields, which allows to set custom fields for each repository in the system. Each new field consists of 3 attributes: field key, field label, field description.

Example usage of such fields would be to define company-specific information into repositories, e.g., defining a repo_manager key that would give info about a manager of each repository. There's no limit for adding custom fields. Newly created fields are accessible via the API.

Meta-Tagging

In the Visual tab, option Stylify recognised meta tags will cause Kallithea to turn certain meta-tags, detected in repository and repository group descriptions, into colored tags. Currently recognised tags are:

[featured]
[stale]
[dead]
[lang => lang]
[license => License]
[requires => Repo]
[recommends => Repo]
[see => URI]