Documentation (2024.2 Enterprise)

# Repository settings

If you have admin access to a repository, you can configure the repository settings. The settings available depend on the repository type.

To access repository settings:

1. Navigate to a project.
2. Navigate to the Repositories view.
3. Navigate to the repository you want to configure.
4. Click the gear icon to open the Repository settings form.

This form lets you configure settings for branches, code reviews, and maintenance.

With Helix authentication, certain restrictions apply to TeamHub functionality. For details, see Limitations with Helix authentication.

## Branch settings

The Branches tab includes the following settings:

- Default branch: Sets the default branch shown in the code browser. For Git repositories, it also controls which branch gets checked out locally when you clone the repository.

- Manage protected branches: Lists branches that have been configured as protected. Manage branch protection by finding a branch by name and clicking the protected/unprotected toggle.

  Helix TeamHub supports managing protected branches for Git and Helix Git repositories.

  Protecting a branch has the following effects:

  - TeamHub rejects all force pushes to the branch.
  - TeamHub prohibits deletion of the branch.
  - Only users with admin or master role have permission to push changes to the branch.

## Code Review settings

The Code Reviews tab includes the following settings:

- Default base branch: Controls the default destination branch to use when creating code reviews.

- Default merge method: Defines the default behavior when merging a code review, as follows:

  - Commit and merge: Creates a merge commit to retain the full history of changes but makes the history more verbose and complex.
  - Rebase and merge: Rebases the feature branch on top of the destination branch and then does a fast-forward merge to the destination branch, thus avoiding the creation of an explicit merge commit.
  - Squash and merge: Combines a set of commits into a single commit to the destination branch.

- Delete head reference on merge by default: Specifies whether to delete or keep the feature branch after merging the code review by default.

- Allow administrators to force merge: Project and repository admins are allowed to force merge a code review when requirements are not met. For details, see Force merging.

- Default reviewers: Specifies individual reviewers or groups that are automatically assigned to code reviews created for the repository.

  Adding a group instead of individual reviewers is beneficial, for example, when any one person in the group is sufficient to fulfill the review requirements.

  To add default reviewers or groups:

  1. Click Manage.

  2. In the Manage default reviewers form, do any of the following:

     - On the Project Members tab, in the search field, enter the name of the reviewer you want to add, or select the reviewer from the list.
     - On the Project Groups tab, in the search field, enter the name of the group you want to add, or select the group from the list.
  3. Click Update.

  To remove default reviewers or groups:

  1. Click Manage.

  2. In the Manage default reviewers form, do any of the following:

     - On the Project Members tab, click the name of the reviewer you want to remove.
     - On the Project Groups tab, click the name of the group you want to remove.
  3. Click Update.
- Reviewers may be set by admin or master roles only: Defines whether managing reviewers is limited only to admin and master roles.

- Approvals: Defines the default number of approvals required for a code review before it can be merged.

- Enforce approvals: Defines whether to enforce approvals for all the code reviews of the repository.

- Reset approvals when new changes are submitted: Defines whether reviewers need to approve new changes submitted after approval.
- Enforce approval reset: Defines whether to enforce approval reset for all code reviews in the repository.

- Require successful build: Defines whether a successful build is required by default for a code review before it can be merged.

- Enforce successful build requirement: Defines whether to enforce the build configuration for all code reviews of the repository.

- Require all tasks to be resolved: Defines whether to resolve all task comments by default before a code review can be merged.

- Enforce tasks requirement: Defines whether to enforce the configuration of task comments for all code reviews of the repository.

- Automatic code review merge: Defines whether to merge a code review automatically when the configured criteria are met (such as build successful, code review approved, task comments resolved). Only available with code reviews that are not part of a multi-repo code review.

- Enforce automatic code review merge: Defines whether to enforce the configuration of automatic merge for all code reviews of the repository. Only available with code reviews that are not part of a multi-repo code review.

## Maintenance settings

The Maintenance tab includes the following:

### Garbage collection

Garbage collection: Lets you run garbage collection to clean up unused references from the repository and optimize its size and performance. To run garbage collection, click Schedule run. When garbage collection is complete, this tab displays the statistics.

The Garbage collection option is only available for native Git repositories.

### Rename repository

Rename repository: Lets you rename a repository after it has been created.

- Renaming a repository also affects clone URLs. Make sure to update the configuration of existing clones with the changed URL.
- Helix Git repositories cannot be renamed.

### Code Search

Code search: Lets you enable or disable code search in the repository. Enabled by default when code search is enabled at the company level.

- For instructions on enabling code search at the company level, see Feature settings.

- For information on code search, see Code search.

Helix TeamHub supports code searching for Mercurial, Git, and Helix Git repositories.

### Set custom UUID

Set custom UUID: Lets you set a custom UUID for a repository after it has been created.

The Set custom UUID option is only available for Subversion repositories.

### Repository hooks

Repository hooks: Lets you enable or disable the repository hook triggers for the repository. When requested, confirm by clicking OK.

- Disabling repository hooks is only recommended when you import a repository to TeamHub. When repository hooks are disabled, no events are created for this repository and features that depend on events will no longer work. After importing the repository, enable hooks to allow repository events to be created.
- The Repository hooks option is only available for native Git and Subversion repositories

### File Sharing

File Sharing: Lets you enable or disable file sharing for the repository. When requested, confirm by clicking OK.

File sharing must be enabled at a company level to use this option, see Feature settings.

### Archive Repository

Archive Repository: Lets you archive the repository.

Helix TeamHub does not support archiving for Helix Git repositories.

From the Repositories view, use the filter to display All Repositories, Archived Repositories, or Active Repositories.

When you archive a repository:

- The repository is set to read-only.

- The repository is marked with an Archived badge in the repositories view.

- The archived repository can be cloned, but you cannot push changes to it.

When requested, confirm the archive action by entering the repository name and clicking Archive.

#### Unarchive Repository

To make a repository active again, select Unarchive Repository from the Maintenance tab.

### Delete Repository

Delete repository: Lets you delete the repository.

When you delete a repository:

- The repository is deleted from Helix TeamHub.
- Code reviews associated with the repository are deleted.
- Helix Git repository data is not deleted from the Helix Core Server.

When requested, confirm the delete by entering the repository name and clicking Delete.

Your search for returned results

Your search for returned results