Merging

Merging is the process of reconciling two projects together. Typically in HASH, this refers to the process of merging a forked project with the original project from which it was derived.

In HASH merging projects is handled by a process of submitting, reviewing and approving merge requests.

Submitting a merge request

Merge requests are coming soon to HASH.

When creating a merge request in HASH, there are two relevant projects:

  1. the source, from which changes will be taken; and
  2. the target, into which changes will be merged.

Reviewing a merge request

Reviewing a merge request can mean two different things.

  1. Line-by-line diffing (automatic): a diff will be automatically produced. If no changes have occurred on the
  2. Human-review process (optional): as part of this review process, the diff of a proposed merge may be inspected by a human: usually a nominated maintainer of the target project.
    • Human reviews of merge requests are generally recommended, but optional by default. Some projects, however, may require them before allowing merge requests to be integrated.
    • A reviewer of an inbound merge request has three options: they can accept a proposed merge, reject it entirely, or request changes.
    • Reviewers can comment on diffs line-by-line to provide direct feedback to would-be contributors.

Making the merge

Merge requests are coming soon to HASH.

Helpful information

If you’ve ever used Git, or collaboration tools like GitHub or GitLab you’ll be familiar with the concept of merge requests already, although may know them as “pull requests”.

Quick Jump
Submitting a merge request
Reviewing a merge request
Making the merge
Helpful information