# Introduction

Welcome to MergeDeps! MergeDeps allows you to block accidental merges while waiting on other tasks **by explicitly blocking the merge until the dependency is merged**. MergeDeps does this without requiring, or even requesting, access to your source code.

This can be useful in the following situations:

* You have created branches off a feature branch, and don't want to merge the feature branch until all other branches have been resolved
* You have new features that are dependent on another teams work, and want to avoid merging until the other service is ready.

### Usage:

MergeDeps watches for dependency lines in the description of a Pull Request.

It will respond to lines which begin with `Depends on` (case insensitive), followed by a list of Pull Request references. References can be in the following format:

| Reference                     | Location                                                           |
| ----------------------------- | ------------------------------------------------------------------ |
| `#<id>`                       | A Pull Request within the same project                             |
| `<project>#<id>`              | A Pull Request in a different project within the same organization |
| `<organization>/<project>#id` | A Pull Request in a projected within a different organization      |

> Note that dependencies on private repositories in other organizations require MergeDeps installed in both organizations, with access to both repositories, and access confirmation by the owner of the depended-on repository.

For example,&#x20;

```
# Create a dependency on #85 in your local project, 
# and #40000 in the rails/rails project

Depends on #85, rails/rails#40000
```

#### Time-based Blocks

MergeDeps supports blocking a Pull Request until a given time. For this, you can use `Blocked until`, followed by any recognized time format.

For example, `Blocked until 12/25/2020`.

![](https://4245976741-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MKv8rVJTVKOCZmrQo9L%2F-MOK3rT2w-1HD3rCM8pm%2F-MOK8EmNOyCSU4AvXetN%2Fimage.png?alt=media\&token=fdaf4fb6-5ac9-460e-80c1-f3d22526c88b)

#### Updating:

The dependencies of a Pull Request can be updated at any time by editting the description of the Pull Request. **The current body of the Pull Request is the source of truth for specifying dependencies**.&#x20;

If you would like to remove a dependency, but still keep a record of it in the description, you can format the dependency with a strikethrough (~~strikethrough~~) and it will be ignored. This can work for entire lines (~~Depends on #3, #4~~), or specific dependencies (Depends on ~~#3~~ #4).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mergedeps.com/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
