hgext/strip.py
author Matt Harbison <matt_harbison@yahoo.com>
Tue, 15 Oct 2024 22:19:30 -0400
changeset 52096 93484d43be22
parent 51863 f4733654f144
permissions -rw-r--r--
clonebundles: stop shell quoting `HGCB_BUNDLE_BASENAME` environment variable This causes problems in `test-clonebundles-autogen.t` on Windows, because the quoted path ends up being passed to the `cp` command, which fails, because quote characters are not a legal part of a file name. I don't see any quoting in environment variables on either MSYS or WSL, even with weird ones that appear to have escape sequences like `PS1=\[\033]0;$MSYSTEM:\w\007` (in MSYS). The quoting was added back in 5ae30ff79c76, and as shown here, was causing problems even on posix when a quote was slipped into the path. (The other obvious problem is that the command is spun up shell style, which invokes `cmd.exe`, which doesn't know about `$foo` style variables. That will be addressed next, but that change didn't work without this too.)

"""strip changesets and their descendants from history (DEPRECATED)

The functionality of this extension has been included in core Mercurial
since version 5.7. Please use :hg:`debugstrip ...` instead.

This extension allows you to strip changesets and all their descendants from the
repository. See the command help for details.
"""

from __future__ import annotations

from mercurial import commands

# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
# extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
# be specifying the version(s) of Mercurial they are tested with, or
# leave the attribute unspecified.
testedwith = b'ships-with-hg-core'

# This is a bit ugly, but a uisetup function that defines strip as an
# alias for debugstrip would override any user alias for strip,
# including aliases like "strip = strip --no-backup".
commands.command.rename(old=b'debugstrip', new=b'debugstrip|strip')