# Troubleshooting

## Installation

<a id="windows-installation"></a>

### How to use the toolchain in Windows

To run the toolchain on **Windows**:

1. Make sure you have [Make](https://www.gnu.org/software/make/) installed.
   > The easiest way to install it is using Chocolatey.
   > First, you need to [install this package manager](https://chocolatey.org/install).
   > Then, install Make with the command `choco install make`.
2. You must run `make` commands from a Unix-based terminal such as [Git Bash](https://www.atlassian.com/git/tutorials/git-bash).

## Multiversion

<a id="sync-fork"></a>

### How to preview latest local changes with multiversion

By default, the command builds the documentation that is available on GitHub (remote repository).

To build multiversion docs for the local branches:

1. In `conf.py`, set `smv_remote_whitelist` to `None`:

```console
smv_remote_whitelist = None
```

1. Follow [Syncing a Fork](https://docs.github.com/es/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) for every branch not updated in your fork.
2. Run `make multiversionpreview` again.

<a id="preview-production"></a>

### How to preview locally the documentation published in production

1. Follow [these steps](https://docs.github.com/es/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) to configure a remote that points to the upstream repository in Git.
2. Download the latest tags and branches from upstream:

```console
git fetch --all
```

1. Edit the setting `smv_remote_whitelist` in the file conf.py to build the docs from upstream as follows:

```console
smv_remote_whitelist = r"^upstream$"
```

1. Run the command `make multiversionpreview` again.

<a id="no-matching-refs-found"></a>

### How to fix the error “No matching refs found!”

If the console raises the error “No matching refs found!”, most likely your fork is not updated with the upstream repository.

In this case, you can:

* Build multiversion docs for the upstream repository. See [Preview documentation published in production](#preview-production) (recommended).
* Sync the fork with the upstream repository. See [Preview latest local changes](#sync-fork).

Another frequent mistake that raises the error message is to have typos in the configuration file. Make sure that the version names listed in `TAGS` and `BRANCHES` settings from `conf.py` match the repository’s branch and tags names on Git.
