liip / liip/RMT

Using RMT with Mercurial and Simple version generation is broken when Mercurial version > 3

Open
#77 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
PHP
Stars
459
Forks
45
PR merge metrics
No merged PRs in 30d

Description

It seems that beginning with Mercurial version 3.0, it is now impossible to use purely numeric tag name :

```
$ hg tag 1
abort: cannot use an integer as a name
$ hg --version
Mercurial Distributed SCM (version 3.1)
```

But it is working on version 2.2 :

```
$ hg tag 1
$ hg --version
Mercurial Distributed SCM (version 2.2.2)
```

I don't know if there is a lot of Mercurial users out there using RMT, but this issue should be addressed. I see two possible solutions :
1. Forbid the use the Simple version generation when Mercurial is used
2. Add some kind of prefix to simple tags, like 'v\d+' instead of the current '\d+'

The problem with 2) is that it is can be a big BC break depending on the implementation.

FYI : the test suite is currently failing when ran with the "faulty" Mercurial version.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the test suite with Mercurial 3.1 and inspect the Simple version generation and Mercurial integration involved in creating numeric tags. Determine how the incompatibility should be handled without an unintended backward-compatibility break, then confirm the chosen behavior with the failing suite.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.