hgext/purge.py
author Georges Racinet <georges.racinet@octobus.net>
Fri, 20 Oct 2023 08:54:49 +0200
changeset 51228 61a6ef876efd
parent 47642 0caac68a5c3c
child 51864 1c5810ce737e
permissions -rw-r--r--
rust-index: simplification in find_gca_candidates() `parent_seen` can be made a mutable ref, making this part more obvious, not needing to be commented so much. The micro-optimization of avoiding the union if `parent_seen` and `current_seen` agree is pushed down in the `union()` method of the fast, `u64` based bit set implementation (in case it matters).
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
46368
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46366
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
46368
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46366
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: 47462
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: 47462
diff changeset
    29
the default, unless the extension is enabled for backward compatibility.
46368
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46366
diff changeset
    30
'''
39463
7fea205fd5dc merge: move purge logic from extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36571
diff changeset
    31
46368
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46366
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: 46366
diff changeset
    33
# to implement the slightly different behavior documented above.
47462
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46368
diff changeset
    34
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46368
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: 46368
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: 46368
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: 46368
diff changeset
    38
# leave the attribute unspecified.
75d4e60c7c81 purge: restore the `testedwith` declaration
Matt Harbison <matt_harbison@yahoo.com>
parents: 46368
diff changeset
    39
testedwith = b'ships-with-hg-core'