annotate contrib/purge/README @ 2474:1e32e2fe8a67

Fix cold cache diff performance cold cache diff performance has regressed in two ways. localrepo.changes has optimizations for diffing against the working dir parent that expect node1 to be None. commands.revpair() usage means that commands.dodiff() never sends node1 == None. This is fixed in localrepo.changes by checking against the dirstate parents. In the non-dirstate parents case, localrepo.changes does a loop comparing files without first sorting the file names, leading to random access across the disk.
author Chris Mason <mason@suse.com>
date Wed, 21 Jun 2006 09:28:48 -0700
parents dbeaa4369121
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
1 What is "hg purge"?
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
2 ===================
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
3 "purge" is a simple extension for the Mercurial source control management
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
4 system (http://www.selenic.com/mercurial).
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
5 This extension adds a "purge" command to "hg" that removes files not known
2368
eb1ec13e3b0d Added a link to the home page of hg purge
demian@gaudron.lan
parents: 2367
diff changeset
6 to Mercurial, this is useful to test local and uncommitted changes in the
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
7 otherwise clean source tree.
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
8
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
9 This means that Mercurial will delete:
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
10 - Unknown files: files marked with "?" by "hg status"
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
11 - Ignored files: files usually ignored by Mercurial because they match a
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
12 pattern in a ".hgignore" file
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
13 - Empty directories: infact Mercurial ignores directories unless they
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
14 contain files under source control managment
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
15 But it will leave untouched:
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
16 - Unmodified files tracked by Mercurial
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
17 - Modified files tracked by Mercurial
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
18 - New files added to the repository (with "hg add")
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
19
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
20 Be careful with "hg purge", you could irreversibly delete some files you
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
21 forgot to add to the repository. If you only want to print the list of
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
22 files that this program would delete use:
2381
ab7a438294fc Rewritten install instructions for hg-purge to match new situation, fixed typos.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2379
diff changeset
23 hg purge --print
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
24
2368
eb1ec13e3b0d Added a link to the home page of hg purge
demian@gaudron.lan
parents: 2367
diff changeset
25 To get the most recent version of "hg purge" visit its home page:
eb1ec13e3b0d Added a link to the home page of hg purge
demian@gaudron.lan
parents: 2367
diff changeset
26 http://www.barisione.org/apps.html#hg-purge
eb1ec13e3b0d Added a link to the home page of hg purge
demian@gaudron.lan
parents: 2367
diff changeset
27
eb1ec13e3b0d Added a link to the home page of hg purge
demian@gaudron.lan
parents: 2367
diff changeset
28 This program was inspired by the "cvspurge" script contained in CVS utilities
2367
8c893af1154a Added a link to the page for CVS utilities
demian@gaudron.lan
parents: 2366
diff changeset
29 (http://www.red-bean.com/cvsutils/).
8c893af1154a Added a link to the page for CVS utilities
demian@gaudron.lan
parents: 2366
diff changeset
30
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
31
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
32 How to install
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
33 ==============
2381
ab7a438294fc Rewritten install instructions for hg-purge to match new situation, fixed typos.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2379
diff changeset
34 The purge extension is distributed with Mercurial, to activate it you need to
ab7a438294fc Rewritten install instructions for hg-purge to match new situation, fixed typos.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2379
diff changeset
35 put these lines in your ~/.hgrc:
2366
f9f53c7e1875 Added some lines on the requirements for purge
demian@gaudron.lan
parents: 2365
diff changeset
36
2365
a5d2e5490ac7 Added an explanation on how to enable the extension in "~/.hgrc"
demian@gaudron.lan
parents: 2364
diff changeset
37 [extensions]
2381
ab7a438294fc Rewritten install instructions for hg-purge to match new situation, fixed typos.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2379
diff changeset
38 hgext.purge=
2365
a5d2e5490ac7 Added an explanation on how to enable the extension in "~/.hgrc"
demian@gaudron.lan
parents: 2364
diff changeset
39
a5d2e5490ac7 Added an explanation on how to enable the extension in "~/.hgrc"
demian@gaudron.lan
parents: 2364
diff changeset
40 For more information on the configuration files see the man page for "hgrc":
2364
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
41 man 5 hgrc
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
42
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
43
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
44 How to use "hg purge"
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
45 ====================
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
46 For help on the usage of "hg purge" use:
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
47 hg help purge
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
48
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
49
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
50 License
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
51 =======
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
52 Copyright (C) 2006 - Marco Barisione <marco@barisione.org>
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
53
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
54 This program is distributed in the hope that it will be useful,
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
55 but WITHOUT ANY WARRANTY; without even the implied warranty of
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
56 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
57 GNU General Public License for more details.
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
58
f368a1c302d5 Initial commit
demian@gaudron.lan
parents:
diff changeset
59 A copy of the GNU General Public License is distributed along
2381
ab7a438294fc Rewritten install instructions for hg-purge to match new situation, fixed typos.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2379
diff changeset
60 with Mercurial in the file COPYING.