hgext/purge.py
author Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
Mon, 07 Feb 2022 00:33:22 -0500
changeset 48747 a6efb9180764
parent 47642 0caac68a5c3c
child 51902 1c5810ce737e
permissions -rw-r--r--
sparse: rework debugsparse's interface hg debugsparse supports arguments like --include, similar to `hg tracked --addinclude` or `hg log --include`. But in `hg debugsparse`, the pattern is not an argument of the flag, instead the patterns are the anonymous command line arguments. Not only is this surprising, it makes it impossible to use --include and --exclude in the same invocation, or --reset --exclude. So I propose making debugsparse making --include, --exclude take an argument, and rejecting anonymous command line arguments, as well as allowing mixing several of these flags in one invocations. Differential Revision: https://phab.mercurial-scm.org/D12155
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
     1
# Copyright (C) 2006 - Marco Barisione <marco@barisione.org>
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
     2
#
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 25186
diff changeset
     3
# This is a small extension for Mercurial (https://mercurial-scm.org/)
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
     4
# that removes files not known to mercurial
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
     5
#
9270
00cc7fa0c0c6 purge: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9215
diff changeset
     6
# This program was inspired by the "cvspurge" script contained in CVS
00cc7fa0c0c6 purge: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9215
diff changeset
     7
# utilities (http://www.red-bean.com/cvsutils/).
4154
15cd36db4230 Delete the README for purge, putting the useful informations in comments
Emanuele Aina <em@nerd.ocracy.org>
parents: 4153
diff changeset
     8
#
15cd36db4230 Delete the README for purge, putting the useful informations in comments
Emanuele Aina <em@nerd.ocracy.org>
parents: 4153
diff changeset
     9
# For help on the usage of "hg purge" use:
15cd36db4230 Delete the README for purge, putting the useful informations in comments
Emanuele Aina <em@nerd.ocracy.org>
parents: 4153
diff changeset
    10
#  hg help purge
15cd36db4230 Delete the README for purge, putting the useful informations in comments
Emanuele Aina <em@nerd.ocracy.org>
parents: 4153
diff changeset
    11
#
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    12
# This program is free software; you can redistribute it and/or modify
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    13
# it under the terms of the GNU General Public License as published by
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    14
# the Free Software Foundation; either version 2 of the License, or
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    15
# (at your option) any later version.
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    16
#
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    17
# This program is distributed in the hope that it will be useful,
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    18
# but WITHOUT ANY WARRANTY; without even the implied warranty of
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    19
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    20
# GNU General Public License for more details.
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    21
#
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    22
# You should have received a copy of the GNU General Public License
15782
7de7630053cb Remove FSF mailing address from GPL headers
Martin Geisler <mg@aragost.com>
parents: 14671
diff changeset
    23
# along with this program; if not, see <http://www.gnu.org/licenses/>.
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
    24
46440
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46438
diff changeset
    25
'''command to delete untracked files from the working directory (DEPRECATED)
9215
f6a880fa9cd7 purge: fix formatting of lists with proper reST markup
Martin Geisler <mg@lazybytes.net>
parents: 9072
diff changeset
    26
46440
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46438
diff changeset
    27
The functionality of this extension has been included in core Mercurial since
47642
0caac68a5c3c doc: wrap the help text for the purge extension
Matt Harbison <matt_harbison@yahoo.com>
parents: 47468
diff changeset
    28
version 5.7. Please use :hg:`purge ...` instead. :hg:`purge --confirm` is now
0caac68a5c3c doc: wrap the help text for the purge extension
Matt Harbison <matt_harbison@yahoo.com>
parents: 47468
diff changeset
    29
the default, unless the extension is enabled for backward compatibility.
46440
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46438
diff changeset
    30
'''
39480
7fea205fd5dc merge: move purge logic from extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36600
diff changeset
    31
46440
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46438
diff changeset
    32
# This empty extension looks pointless, but core mercurial checks if it's loaded
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46438
diff changeset
    33
# to implement the slightly different behavior documented above.
47468
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46440
diff changeset
    34
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46440
diff changeset
    35
# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46440
diff changeset
    36
# extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46440
diff changeset
    37
# be specifying the version(s) of Mercurial they are tested with, or
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46440
diff changeset
    38
# leave the attribute unspecified.
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46440
diff changeset
    39
testedwith = b'ships-with-hg-core'