junegunn / junegunn/vim-plug

Allow specifying wildcard tag without getting a pre-release version

Open
#1,323 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Vim Script
Stars
35.8k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

Using a wildcard for the latest tag can install a pre-release tag instead of the stable tag.

For example, the following installs `v1.29-rc.1` instead of the later stable tag `v1.29`.

```vim
Plug 'fatih/vim-go', { 'tag': '*' }
```

## Desired solution

An option to exclude pre-release tags would be great. Perhaps as a regex like:

```vim
Plug 'fatih/vim-go', { 'tag': '*', 'tag-exclude': '-(alpha|beta|rc)' }
```

## Partial Workaround

It is possible to configure git to sort the stable tag after pre-release tags of the same version by setting git `versionsort.suffix`, like:

```sh
git config --global versionsort.suffix '-alpha'
git config --global --add versionsort.suffix '-beta'
git config --global --add versionsort.suffix '-rc'
```

or equivalently in `~/.gitconfig` with:

```gitconfig
[versionsort]
suffix = -alpha
suffix = -beta
suffix = -rc
```

This does not prevent a pre-release tag from being installed, but at least it resolves to the stable tag for a version once it is released.

Or, you can specify the latest tag and remember to change it when running `:PluginUpdate`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.