Mercurial > hg
changeset 50087:4fc6b423fa97 stable
tag: disallow tagging the working directory
It's kinda silly, but a clear error message is better than a stacktrace about
subscripting `None` when trying to generate the default commit message. I'm
surprised that `.revsingle(..).node()` returns None instead of `nodemod.wdirid`,
but now there's a test to catch if this changes.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 14 Feb 2023 11:56:02 -0500 |
parents | 983e2db18d67 |
children | 5fb2546d0df1 a3c856e2ea2f |
files | mercurial/commands.py tests/test-tag.t |
diffstat | 2 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Thu Feb 16 20:33:14 2023 +0100 +++ b/mercurial/commands.py Tue Feb 14 11:56:02 2023 -0500 @@ -7472,6 +7472,9 @@ ) node = logcmdutil.revsingle(repo, rev_).node() + if node is None: + raise error.InputError(_(b"cannot tag working directory")) + if not message: # we don't translate commit messages message = b'Added tag %s for changeset %s' % (
--- a/tests/test-tag.t Thu Feb 16 20:33:14 2023 +0100 +++ b/tests/test-tag.t Tue Feb 14 11:56:02 2023 -0500 @@ -412,6 +412,10 @@ abort: cannot tag null revision [10] + $ hg tag -R empty -r "wdir()" -f wdirtag + abort: cannot tag working directory + [10] + issue5539: pruned tags do not appear in .hgtags $ cat >> $HGRCPATH << EOF