# Project settings

Each project have a number of options that can be tweaked in the settings page of the project which is accessible to the person having full commits to the project.

This page presents the different settings and there effect.

## Always merge

This Boolean enables or disables always making a merge commit when merging a pull-request.

When merging a pull-request in pagure there are three states:

- fast-forward: when the commits in the pull-request can be fast-forwarded pagure signals it and just fast-forward the commit, keeping the history linear.

- merge: when the commits in the pull-request cannot be merged without a merge commit, pagure signals it and performs this merge commit.

- conflicts: when the commits in the pull-request cannot be merged at all automatically due to one or more conflicts. Then pagure signals it and prevent merging.

If the Always merge option is on, then the fast-forward option above is disabled in favor of the merge option.

## Comment editing

This Boolean enables or disables editing comments.

After commenting on a ticket or a pull-request, the admins of the project and the author of the comment may be allowed to edit the comment. This allows them to adjust the wording or the style as they wish.

Note

notification about a comment is only sent once with the original text, changes performed later will not trigger a new notification.

Some project may not want to allow editing comments after they were posted and this setting allows turning it on or off.

## Enforce signed-off commits in pull-request

This Boolean enables or disables checking for a ‘Signed-off-by’ line (case insensitive) in the commit messages of the pull-requests.

If this line is missing, pagure will display a message near the Merge button, allowing project admin to request the PR to be updated.

Note

This setting does not prevent commits without this ‘signed-off-by’ line to be pushed directly, it only work at the pull-request level.

## Issue tracker

This Boolean simply enables or disables the issue tracker for the project. So if you are tracking your ticket on a different system, you can simply disable reporting issue on pagure by un-checking this option.

## Minimum score to merge pull-request

This option can be used for project wishing to enforce having a minimum number of people reviewing a pull-request before it can be merged.

If this option is enabled, anyone can vote in favor or against a pull-request and the sum of the votes in favor minus the sum of the votes against give the pull-request a score that should be equal or greater than the value entered in this option for the pull-request to be allowed to be merged.

Note

Only the main comments (i.e.: not in-line) are taken into account to calculate the score of the pull-request.

To vote in favor of a pull-request, use either: * `+1` * `:thumbsup:`

To vote against a pull-request, use either: * `-1` * `:thumbsdown:`

Note

Pull-Request not reaching the minimum score are not automatically merged

Note

Anyone can vote on the pull-request, not only the contributors.

Note

Only one vote per person is taken into account to compute the final score.

## Only assignee can merge pull-request

This option can be used for project wishing to institute a strong review workflow where pull-request are first assigned then merged.

If this option is enabled, only the person assigned to the pull-request can merge it.

## Project documentation

Pagure offers the option to have a git repository specific for the documentation of the project.

This repository is then accessible under the `Docs` tab in the menu of the project.

If you prefer to store your documentation elsewhere or maybe even within the sources of the project, you can disable the `Docs` tab by un-checking this option.

## Pull requests

Pagure offers the option to fork a project, make changes to it and then ask the developer to merge these changes into the project. This is similar to the pull-request mechanism on GitHub or GitLab.

However, some projects may prefer receiving patches by email on their list or via another hosting platform or simply do not wish to use the pull-request mechanism at all. Un-checking this option will therefore prevent anyone from opening a pull-request against this project.

Note

disabling pull-requests does not disable forking the projects.

## Web-hooks

Pagure offers the option of sending notification about event happening on a project via [web-hooks|https://en.wikipedia.org/wiki/Webhook]. This option is off by default and can be turned on for a pagure instance in its configuration file.

The URL of the web-hooks can be entered in this field.

Note

See the `notifications` documentation to learn more about web-hooks in pagure and how to use them.

## Tags

Pagure allows you to define “tags” that can be added to Issues. Tags are unique to each project, and they can only be defined in the project settings page. The Tag color can also be customized for a more robust visual representation of the tag.

## Deploy keys

Deploy keys are SSH keys that have access to pull/push only to a single project. Upon creation, admins can determine whether this particular key has read/write access or read-only.