Show More
@@ -14,6 +14,7 b' rules = {' | |||||
14 | r"\(issue": 100, |
|
14 | r"\(issue": 100, | |
15 | r"\(BC\)": 100, |
|
15 | r"\(BC\)": 100, | |
16 | r"\(API\)": 100, |
|
16 | r"\(API\)": 100, | |
|
17 | r"\(SEC\)": 100, | |||
17 | # core commands, bump up |
|
18 | # core commands, bump up | |
18 | r"(commit|files|log|pull|push|patch|status|tag|summary)(|s|es):": 20, |
|
19 | r"(commit|files|log|pull|push|patch|status|tag|summary)(|s|es):": 20, | |
19 | r"(annotate|alias|branch|bookmark|clone|graft|import|verify).*:": 20, |
|
20 | r"(annotate|alias|branch|bookmark|clone|graft|import|verify).*:": 20, | |
@@ -21,6 +22,7 b' rules = {' | |||||
21 | r"(mq|shelve|rebase):": 20, |
|
22 | r"(mq|shelve|rebase):": 20, | |
22 | # newsy |
|
23 | # newsy | |
23 | r": deprecate": 20, |
|
24 | r": deprecate": 20, | |
|
25 | r": new.*(extension|flag|module)": 10, | |||
24 | r"( ability|command|feature|option|support)": 10, |
|
26 | r"( ability|command|feature|option|support)": 10, | |
25 | # experimental |
|
27 | # experimental | |
26 | r"hg-experimental": 20, |
|
28 | r"hg-experimental": 20, | |
@@ -29,22 +31,23 b' rules = {' | |||||
29 | # bug-like? |
|
31 | # bug-like? | |
30 | r"(fix|don't break|improve)": 7, |
|
32 | r"(fix|don't break|improve)": 7, | |
31 | r"(not|n't|avoid|fix|prevent).*crash": 10, |
|
33 | r"(not|n't|avoid|fix|prevent).*crash": 10, | |
|
34 | r"vulnerab": 10, | |||
32 | # boring stuff, bump down |
|
35 | # boring stuff, bump down | |
33 | r"^contrib": -5, |
|
36 | r"^contrib": -5, | |
34 | r"debug": -5, |
|
37 | r"debug": -5, | |
35 | r"help": -5, |
|
38 | r"help": -5, | |
|
39 | r"minor": -5, | |||
36 | r"(doc|metavar|bundle2|obsolete|obsmarker|rpm|setup|debug\S+:)": -15, |
|
40 | r"(doc|metavar|bundle2|obsolete|obsmarker|rpm|setup|debug\S+:)": -15, | |
37 | r"(check-code|check-commit|check-config|import-checker)": -20, |
|
41 | r"(check-code|check-commit|check-config|import-checker)": -20, | |
38 | r"(flake8|lintian|pyflakes|pylint)": -20, |
|
42 | r"(flake8|lintian|pyflakes|pylint)": -20, | |
39 | # cleanups and refactoring |
|
43 | # cleanups and refactoring | |
40 | r"(cleanup|white ?space|spelling|quoting)": -20, |
|
44 | r"(clean ?up|white ?space|spelling|quoting)": -20, | |
41 | r"(flatten|dedent|indent|nesting|unnest)": -20, |
|
45 | r"(flatten|dedent|indent|nesting|unnest)": -20, | |
42 | r"(typo|hint|note|comment|TODO|FIXME)": -20, |
|
46 | r"(typo|hint|note|comment|TODO|FIXME)": -20, | |
43 | r"(style:|convention|one-?liner)": -20, |
|
47 | r"(style:|convention|one-?liner)": -20, | |
44 | r"_": -10, |
|
|||
45 | r"(argument|absolute_import|attribute|assignment|mutable)": -15, |
|
48 | r"(argument|absolute_import|attribute|assignment|mutable)": -15, | |
46 | r"(scope|True|False)": -10, |
|
49 | r"(scope|True|False)": -10, | |
47 |
r"(unused|useless|unnecessar |
|
50 | r"(unused|useless|unnecessar|superfluous|duplicate|deprecated)": -10, | |
48 | r"(redundant|pointless|confusing|uninitialized|meaningless|dead)": -10, |
|
51 | r"(redundant|pointless|confusing|uninitialized|meaningless|dead)": -10, | |
49 | r": (drop|remove|delete|rip out)": -10, |
|
52 | r": (drop|remove|delete|rip out)": -10, | |
50 | r": (inherit|rename|simplify|naming|inline)": -10, |
|
53 | r": (inherit|rename|simplify|naming|inline)": -10, | |
@@ -54,9 +57,12 b' rules = {' | |||||
54 | r": (move|extract) .* (to|into|from|out of)": -20, |
|
57 | r": (move|extract) .* (to|into|from|out of)": -20, | |
55 | r": implement ": -5, |
|
58 | r": implement ": -5, | |
56 | r": use .* implementation": -20, |
|
59 | r": use .* implementation": -20, | |
|
60 | r": use .* instead of": -20, | |||
|
61 | # code | |||
|
62 | r"_": -10, | |||
|
63 | r"__": -5, | |||
|
64 | r"\(\)": -5, | |||
57 | r"\S\S\S+\.\S\S\S\S+": -5, |
|
65 | r"\S\S\S+\.\S\S\S\S+": -5, | |
58 | r": use .* instead of": -20, |
|
|||
59 | r"__": -5, |
|
|||
60 | # dumb keywords |
|
66 | # dumb keywords | |
61 | r"\S+/\S+:": -10, |
|
67 | r"\S+/\S+:": -10, | |
62 | r"\S+\.\S+:": -10, |
|
68 | r"\S+\.\S+:": -10, | |
@@ -92,6 +98,15 b' groupings = [' | |||||
92 | (r"shelve|unshelve", "extensions"), |
|
98 | (r"shelve|unshelve", "extensions"), | |
93 | ] |
|
99 | ] | |
94 |
|
100 | |||
|
101 | def wikify(desc): | |||
|
102 | desc = desc.replace("(issue", "(Bts:issue") | |||
|
103 | desc = re.sub(r"\b([0-9a-f]{12})\b", r"Cset:\1", desc) | |||
|
104 | # stop ParseError from being recognized as a (nonexistent) wiki page | |||
|
105 | desc = re.sub(r" ([A-Z][a-z]+[A-Z][a-z]+)\b", r" !\1", desc) | |||
|
106 | # prevent wiki markup of magic methods | |||
|
107 | desc = re.sub(r"\b(\S*__\S*)\b", r"`\1`", desc) | |||
|
108 | return desc | |||
|
109 | ||||
95 | def main(): |
|
110 | def main(): | |
96 | desc = "example: %(prog)s 4.7.2 --stoprev 4.8rc0" |
|
111 | desc = "example: %(prog)s 4.7.2 --stoprev 4.8rc0" | |
97 | ap = argparse.ArgumentParser(description=desc) |
|
112 | ap = argparse.ArgumentParser(description=desc) | |
@@ -148,10 +163,8 b' def main():' | |||||
148 | if re.search(rule, desc): |
|
163 | if re.search(rule, desc): | |
149 | score += val |
|
164 | score += val | |
150 |
|
165 | |||
151 | desc = desc.replace("(issue", "(Bts:issue") |
|
|||
152 |
|
||||
153 | if score >= cutoff: |
|
166 | if score >= cutoff: | |
154 | commits.append(desc) |
|
167 | commits.append(wikify(desc)) | |
155 | # Group unflagged notes. |
|
168 | # Group unflagged notes. | |
156 | groups = {} |
|
169 | groups = {} | |
157 | bcs = [] |
|
170 | bcs = [] |
@@ -266,7 +266,6 b'' | |||||
266 | * diff: disable diff.noprefix option for diffstat (Bts:issue5759) |
|
266 | * diff: disable diff.noprefix option for diffstat (Bts:issue5759) | |
267 | * evolution: make reporting of new unstable changesets optional |
|
267 | * evolution: make reporting of new unstable changesets optional | |
268 | * extdata: abort if external command exits with non-zero status (BC) |
|
268 | * extdata: abort if external command exits with non-zero status (BC) | |
269 | * fancyopts: add early-options parser compatible with getopt() |
|
|||
270 | * graphlog: add another graph node type, unstable, using character "*" (BC) |
|
269 | * graphlog: add another graph node type, unstable, using character "*" (BC) | |
271 | * hgdemandimport: use correct hyperlink to python-bug in comments (Bts:issue5765) |
|
270 | * hgdemandimport: use correct hyperlink to python-bug in comments (Bts:issue5765) | |
272 | * httppeer: add support for tracing all http request made by the peer |
|
271 | * httppeer: add support for tracing all http request made by the peer | |
@@ -277,17 +276,18 b'' | |||||
277 | * morestatus: don't crash with different drive letters for repo.root and CWD |
|
276 | * morestatus: don't crash with different drive letters for repo.root and CWD | |
278 | * outgoing: respect ":pushurl" paths (Bts:issue5365) |
|
277 | * outgoing: respect ":pushurl" paths (Bts:issue5365) | |
279 | * remove: print message for each file in verbose mode only while using '-A' (BC) |
|
278 | * remove: print message for each file in verbose mode only while using '-A' (BC) | |
280 | * rewriteutil: use precheck() in uncommit and amend commands |
|
|||
281 | * scmutil: don't try to delete origbackup symlinks to directories (Bts:issue5731) |
|
279 | * scmutil: don't try to delete origbackup symlinks to directories (Bts:issue5731) | |
282 | * sshpeer: add support for request tracing |
|
280 | * sshpeer: add support for request tracing | |
283 | * subrepo: add config option to reject any subrepo operations (SEC) |
|
281 | * subrepo: add config option to reject any subrepo operations (SEC) | |
284 | * subrepo: disable git and svn subrepos by default (BC) (SEC) |
|
282 | * subrepo: disable git and svn subrepos by default (BC) (SEC) | |
|
283 | * subrepo: disallow symlink traversal across subrepo mount point (SEC) | |||
285 | * subrepo: extend config option to disable subrepos by type (SEC) |
|
284 | * subrepo: extend config option to disable subrepos by type (SEC) | |
286 | * subrepo: handle 'C:' style paths on the command line (Bts:issue5770) |
|
285 | * subrepo: handle 'C:' style paths on the command line (Bts:issue5770) | |
287 | * subrepo: use per-type config options to enable subrepos |
|
286 | * subrepo: use per-type config options to enable subrepos | |
288 | * svnsubrepo: check if subrepo is missing when checking dirty state (Bts:issue5657) |
|
287 | * svnsubrepo: check if subrepo is missing when checking dirty state (Bts:issue5657) | |
289 | * test-bookmarks-pushpull: stabilize for Windows |
|
288 | * test-bookmarks-pushpull: stabilize for Windows | |
290 | * test-run-tests: stabilize the test (Bts:issue5735) |
|
289 | * test-run-tests: stabilize the test (Bts:issue5735) | |
|
290 | * tests: show symlink traversal across subrepo mount point (SEC) | |||
291 | * tr-summary: keep a weakref to the unfiltered repository |
|
291 | * tr-summary: keep a weakref to the unfiltered repository | |
292 | * unamend: fix command summary line |
|
292 | * unamend: fix command summary line | |
293 | * uncommit: unify functions _uncommitdirstate and _unamenddirstate to one |
|
293 | * uncommit: unify functions _uncommitdirstate and _unamenddirstate to one |
General Comments 0
You need to be logged in to leave comments.
Login now