Show More
@@ -9,11 +9,6 b' import argparse' | |||
|
9 | 9 | import re |
|
10 | 10 | import subprocess |
|
11 | 11 | |
|
12 | # Regenerate this list with | |
|
13 | # hg export 'grep("\.\. [a-z]+::")' | grep '^\.\.' | \ | |
|
14 | # sed 's/.. //;s/::.*//' | sort -u | |
|
15 | rnsections = ["api", "bc", "container", "feature", "fix", "note", "perf"] | |
|
16 | ||
|
17 | 12 | rules = { |
|
18 | 13 | # keep |
|
19 | 14 | r"\(issue": 100, |
@@ -26,27 +21,37 b' rules = {' | |||
|
26 | 21 | r"(mq|shelve|rebase):": 20, |
|
27 | 22 | # newsy |
|
28 | 23 | r": deprecate": 20, |
|
29 |
r"( |
|
|
24 | r"( ability|command|feature|option|support)": 10, | |
|
25 | # experimental | |
|
26 | r"hg-experimental": 20, | |
|
27 | r"(from|graduate).*experimental": 15, | |
|
28 | r"(hide|mark).*experimental": -10, | |
|
30 | 29 | # bug-like? |
|
31 | 30 | r"(fix|don't break|improve)": 7, |
|
31 | r"(not|n't|avoid|fix|prevent).*crash": 10, | |
|
32 | 32 | # boring stuff, bump down |
|
33 | 33 | r"^contrib": -5, |
|
34 | 34 | r"debug": -5, |
|
35 | 35 | r"help": -5, |
|
36 | r"(doc|bundle2|obsolete|obsmarker|rpm|setup|debug\S+:)": -15, | |
|
37 | r"(check-code|check-commit|import-checker)": -20, | |
|
36 | r"(doc|metavar|bundle2|obsolete|obsmarker|rpm|setup|debug\S+:)": -15, | |
|
37 | r"(check-code|check-commit|check-config|import-checker)": -20, | |
|
38 | r"(flake8|lintian|pyflakes|pylint)": -20, | |
|
38 | 39 | # cleanups and refactoring |
|
39 |
r"(cleanup|whitespace| |
|
|
40 | r"(typo|hint|note|style:|correct doc)": -20, | |
|
40 | r"(cleanup|white ?space|spelling|quoting)": -20, | |
|
41 | r"(flatten|dedent|indent|nesting|unnest)": -20, | |
|
42 | r"(typo|hint|note|comment|TODO|FIXME)": -20, | |
|
43 | r"(style:|convention|one-?liner)": -20, | |
|
41 | 44 | r"_": -10, |
|
42 | 45 | r"(argument|absolute_import|attribute|assignment|mutable)": -15, |
|
43 | r"(unused|useless|unnecessary|duplicate|deprecated|scope|True|False)": -10, | |
|
46 | r"(scope|True|False)": -10, | |
|
47 | r"(unused|useless|unnecessary|superfluous|duplicate|deprecated)": -10, | |
|
44 | 48 | r"(redundant|pointless|confusing|uninitialized|meaningless|dead)": -10, |
|
45 |
r": (drop|remove| |
|
|
46 | r"(docstring|document .* method)": -20, | |
|
47 | r"(factor|extract|prepare|split|replace| import)": -20, | |
|
48 | r": add.*(function|method|implementation|test|example)": -10, | |
|
49 | r": (move|extract) .* (to|into|from)": -20, | |
|
49 | r": (drop|remove|delete|rip out)": -10, | |
|
50 | r": (inherit|rename|simplify|naming|inline)": -10, | |
|
51 | r"(correct doc|docstring|document .* method)": -20, | |
|
52 | r"(abstract|factor|extract|prepare|split|replace| import)": -20, | |
|
53 | r": add.*(function|method|implementation|example)": -10, | |
|
54 | r": (move|extract) .* (to|into|from|out of)": -20, | |
|
50 | 55 | r": implement ": -5, |
|
51 | 56 | r": use .* implementation": -20, |
|
52 | 57 | r"\S\S\S+\.\S\S\S\S+": -5, |
@@ -55,15 +60,20 b' rules = {' | |||
|
55 | 60 | # dumb keywords |
|
56 | 61 | r"\S+/\S+:": -10, |
|
57 | 62 | r"\S+\.\S+:": -10, |
|
63 | # python compatibility | |
|
64 | r"[Pp]y(|thon) ?[23]": -20, | |
|
65 | r"pycompat": -20, | |
|
66 | r"(coerce|convert|encode) .*to (byte|sys|)(s|str|string)": -20, | |
|
67 | # tests | |
|
68 | r"^test(|s|ing|runner|-\S+):": -20, | |
|
69 | r"^(f|hghave|run-tests):": -20, | |
|
70 | r"add.* tests?": -20, | |
|
71 | r"(buildbot|fuzz|mock|ratchet)": -10, | |
|
58 | 72 | # drop |
|
59 | 73 | r"^i18n-": -50, |
|
60 | 74 | r"^i18n:.*(hint|comment)": -50, |
|
61 | 75 | r"perf:": -50, |
|
62 | r"check-code:": -50, | |
|
63 | 76 | r"Added.*for changeset": -50, |
|
64 | r"tests?:": -50, | |
|
65 | r"test-": -50, | |
|
66 | r"add.* tests": -50, | |
|
67 | 77 | r"^_": -50, |
|
68 | 78 | } |
|
69 | 79 | |
@@ -72,9 +82,9 b' commits = []' | |||
|
72 | 82 | |
|
73 | 83 | groupings = [ |
|
74 | 84 | (r"util|parsers|repo|ctx|context|revlog|filelog|alias|cmdutil", "core"), |
|
75 |
(r"revset|template |
|
|
76 | (r"color|pager", "core"), | |
|
77 | (r"hgweb|paper|coal|gitweb", "hgweb"), | |
|
85 | (r"revset|template|ui|dirstate|hook|i18n|transaction|wire|vfs", "core"), | |
|
86 | (r"dispatch|exchange|localrepo|streamclone|color|pager", "core"), | |
|
87 | (r"hgweb|paper|coal|gitweb|monoblue|spartan", "hgweb"), | |
|
78 | 88 | (r"pull|push|revert|resolve|annotate|bookmark|branch|clone", "commands"), |
|
79 | 89 | (r"commands|commit|config|files|graft|import|log|merge|patch", "commands"), |
|
80 | 90 | (r"phases|status|summary|amend|tag|help|verify", "commands"), |
@@ -83,12 +93,12 b' groupings = [' | |||
|
83 | 93 | ] |
|
84 | 94 | |
|
85 | 95 | def main(): |
|
86 | ap = argparse.ArgumentParser() | |
|
96 | desc = "example: %(prog)s 4.7.2 --stoprev 4.8rc0" | |
|
97 | ap = argparse.ArgumentParser(description=desc) | |
|
87 | 98 | ap.add_argument( |
|
88 | 99 | "startrev", |
|
89 | 100 | metavar="REV", |
|
90 | 101 | type=str, |
|
91 | nargs=1, | |
|
92 | 102 | help=( |
|
93 | 103 | "Starting revision for the release notes. This revision " |
|
94 | 104 | "won't be included, but later revisions will." |
@@ -99,7 +109,6 b' def main():' | |||
|
99 | 109 | metavar="REV", |
|
100 | 110 | type=str, |
|
101 | 111 | default="@", |
|
102 | nargs=1, | |
|
103 | 112 | help=( |
|
104 | 113 | "Stop revision for release notes. This revision will be included," |
|
105 | 114 | " but no later revisions will. This revision needs to be " |
@@ -114,7 +123,7 b' def main():' | |||
|
114 | 123 | "extensions.releasenotes=", |
|
115 | 124 | "releasenotes", |
|
116 | 125 | "-r", |
|
117 |
" |
|
|
126 | "only(%s, %s)" % (args.stoprev, args.startrev), | |
|
118 | 127 | ] |
|
119 | 128 | ).decode("utf-8") |
|
120 | 129 | # Find all release notes from un-relnotes-flagged commits. |
@@ -124,8 +133,7 b' def main():' | |||
|
124 | 133 | "hg", |
|
125 | 134 | "log", |
|
126 | 135 | "-r", |
|
127 | r'%s::%s - merge() - grep("\n\.\. (%s)::")' | |
|
128 | % (args.startrev[0], args.stoprev[0], "|".join(rnsections)), | |
|
136 | "only(%s, %s) - merge()" % (args.stoprev, args.startrev), | |
|
129 | 137 | "-T", |
|
130 | 138 | r"{desc|firstline}\n", |
|
131 | 139 | ] |
@@ -167,12 +175,14 b' def main():' | |||
|
167 | 175 | for d in sorted(groups[g]): |
|
168 | 176 | print(" * %s" % d) |
|
169 | 177 | |
|
170 | print("\n=== BC ===\n") | |
|
178 | if bcs: | |
|
179 | print("\n=== Behavior Changes ===\n") | |
|
171 | 180 | |
|
172 | 181 | for d in sorted(bcs): |
|
173 | 182 | print(" * %s" % d) |
|
174 | 183 | |
|
175 | print("\n=== API Changes ===\n") | |
|
184 | if apis: | |
|
185 | print("\n=== Internal API Changes ===\n") | |
|
176 | 186 | |
|
177 | 187 | for d in sorted(apis): |
|
178 | 188 | print(" * %s" % d) |
@@ -132,28 +132,34 b'' | |||
|
132 | 132 | * bookmark: introduce a 'bookmarks' part |
|
133 | 133 | * bookmark: introduce in advance a variant of the exchange test |
|
134 | 134 | * bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey' |
|
135 | * bookmark: use the 'bookmarks' bundle2 part to push bookmark update (Bts:issue5165) | |
|
135 | 136 | * bookmarks: add bookmarks to hidden revs if directaccess config is set |
|
136 | 137 | * bookmarks: calculate visibility exceptions only once |
|
137 | 138 | * bookmarks: display the obsfate of hidden revision we create a bookmark on |
|
138 | 139 | * bookmarks: fix pushkey compatibility mode (Bts:issue5777) |
|
139 | 140 | * bookmarks: use context managers for lock and transaction in update() |
|
140 | 141 | * bookmarks: use context managers for locks and transaction in pushbookmark() |
|
142 | * branch: add a --rev flag to change branch name of given revisions | |
|
141 | 143 | * branch: allow changing branch name to existing name if possible |
|
142 | 144 | * clone: add support for storing remotenames while cloning |
|
143 | 145 | * clone: use utility function to write hgrc |
|
144 | 146 | * clonebundle: make it possible to retrieve the initial bundle through largefile |
|
147 | * commands: use the new API to access hidden changesets in various commands | |
|
145 | 148 | * commandserver: restore cwd in case of exception |
|
146 | 149 | * commandserver: unblock SIGCHLD |
|
150 | * fileset: do not crash by unary negate operation | |
|
147 | 151 | * help: deprecate ui.slash in favor of slashpath template filter (Bts:issue5572) |
|
148 | 152 | * log: allow matchfn to be non-null even if both --patch/--stat are off |
|
149 | 153 | * log: build follow-log filematcher at once |
|
150 | 154 | * log: don't expand aliases in revset built from command options |
|
155 | * log: follow file history across copies even with -rREV (BC) (Bts:issue4959) | |
|
151 | 156 | * log: make "slowpath" condition slightly more readable |
|
152 | 157 | * log: make opt2revset table a module constant |
|
153 | 158 | * log: merge getlogrevs() and getgraphlogrevs() |
|
154 | 159 | * log: remove temporary variable 'date' used only once |
|
155 | 160 | * log: resolve --follow thoroughly in getlogrevs() |
|
156 | 161 | * log: resolve --follow with -rREV in cmdutil.getlogrevs() |
|
162 | * log: rewrite --follow-first -rREV like --follow for consistency (BC) | |
|
157 | 163 | * log: simplify 'x or ancestors(x)' expression |
|
158 | 164 | * log: translate column labels at once (Bts:issue5750) |
|
159 | 165 | * log: use revsetlang.formatspec() thoroughly |
@@ -172,10 +178,23 b'' | |||
|
172 | 178 | * pull: store binary node in pullop.remotebookmarks |
|
173 | 179 | * push: include a 'check:bookmarks' part when possible |
|
174 | 180 | * push: restrict common discovery to the pushed set |
|
181 | * revert: do not reverse hunks in interactive when REV is not parent (Bts:issue5096) | |
|
175 | 182 | * revert: support reverting to hidden cset if directaccess config is set |
|
176 | 183 | |
|
177 | 184 | === core === |
|
185 | * color: respect HGPLAINEXCEPT=color to allow colors while scripting (Bts:issue5749) | |
|
186 | * dirstate: add explicit methods for querying directories (API) | |
|
187 | * dispatch: abort if early boolean options can't be parsed | |
|
188 | * dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options | |
|
189 | * dispatch: add option to not strip command args parsed by _earlygetopt() | |
|
190 | * dispatch: alias --repo to --repository while parsing early options | |
|
191 | * dispatch: fix early parsing of short option with value like -R=foo | |
|
192 | * dispatch: handle IOError when writing to stderr | |
|
193 | * dispatch: stop parsing of early boolean option at "--" | |
|
194 | * dispatch: verify result of early command parsing | |
|
195 | * exchange: return bundle info from getbundlechunks() (API) | |
|
178 | 196 | * filelog: add the ability to report the user facing name |
|
197 | * localrepo: specify optional callback parameter to pathauditor as a keyword | |
|
179 | 198 | * revlog: choose between ifh and dfh once for all |
|
180 | 199 | * revlog: don't use slicing to return parents |
|
181 | 200 | * revlog: group delta computation methods under _deltacomputer object |
@@ -185,9 +204,21 b'' | |||
|
185 | 204 | * revlog: separate diff computation from the collection of other info |
|
186 | 205 | * revset: evaluate filesets against each revision for 'file()' (Bts:issue5778) |
|
187 | 206 | * revset: parse x^:: as (x^):: (Bts:issue5764) |
|
207 | * streamclone: add support for bundle2 based stream clone | |
|
208 | * streamclone: add support for cloning non append-only file | |
|
209 | * streamclone: also stream caches to the client | |
|
210 | * streamclone: define first iteration of version 2 of stream format | |
|
211 | * streamclone: move wire protocol status code from wireproto command | |
|
212 | * streamclone: rework canperformstreamclone | |
|
213 | * streamclone: tests phase exchange during stream clone | |
|
214 | * streamclone: use readexactly when reading stream v2 | |
|
215 | * templater: fix crash by empty group expression | |
|
216 | * templater: keep default resources per template engine (API) | |
|
188 | 217 | * templater: look up symbols/resources as if they were separated (Bts:issue5699) |
|
189 | 218 | * transaction: register summary callbacks only at start of transaction (BC) |
|
190 | 219 | * util: whitelist NTFS for hardlink creation (Bts:issue4580) |
|
220 | * vfs: drop text mode flag (API) | |
|
221 | * wireproto: drop support for reader interface from streamres (API) | |
|
191 | 222 |
|
|
192 | 223 | === extensions === |
|
193 | 224 | * convert: restore the ability to use bzr < 2.6.0 (Bts:issue5733) |
@@ -195,7 +226,6 b'' | |||
|
195 | 226 |
|
|
196 | 227 |
* largefiles: |
|
197 | 228 | * largefiles: allow to run 'debugupgraderepo' on repo with largefiles |
|
198 | * largefiles: convert EOL of hgrc before appending to bytes IO | |
|
199 | 229 | * largefiles: explicitly set the source and sink types to 'hg' for lfconvert |
|
200 | 230 | * largefiles: modernize how capabilities are added to the wire protocol |
|
201 | 231 | * largefiles: pay attention to dropped standin files when updating largefiles |
@@ -208,6 +238,8 b'' | |||
|
208 | 238 | * rebase: don't run IMM if running rebase in a transaction |
|
209 | 239 | * rebase: don't take out a dirstate guard for in-memory rebase |
|
210 | 240 | * rebase: drop --style option |
|
241 | * rebase: enable multidest by default | |
|
242 | * rebase: exclude descendants of obsoletes w/o a successor in dest (Bts:issue5300) | |
|
211 | 243 | * rebase: fix for hgsubversion |
|
212 | 244 | * rebase: pass the wctx object (IMM or on-disk) to merge.update |
|
213 | 245 | * rebase: pass wctx to rebasenode() |
@@ -224,21 +256,14 b'' | |||
|
224 | 256 | === unsorted === |
|
225 | 257 | * archive: add support to specify hidden revs if directaccess config is set |
|
226 | 258 | * atomicupdate: add an experimental option to use atomictemp when updating |
|
259 | * bundle2: don't use seekable bundle2 parts by default (Bts:issue5691) | |
|
227 | 260 | * bundle: allow bundlerepo to support alternative manifest implementations |
|
228 | 261 | * changelog: introduce a 'tiprev' method |
|
229 | 262 | * changelog: use 'tiprev()' in 'tip()' |
|
230 | 263 | * completion: add support for new "amend" command |
|
264 | * crecord: fix revert -ir '.^' crash caused by 3649c3f2cd | |
|
231 | 265 | * debugssl: convert port number to int (Bts:issue5757) |
|
232 | 266 | * diff: disable diff.noprefix option for diffstat (Bts:issue5759) |
|
233 | * dispatch: abort if early boolean options can't be parsed | |
|
234 | * dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options | |
|
235 | * dispatch: add option to not strip command args parsed by _earlygetopt() | |
|
236 | * dispatch: alias --repo to --repository while parsing early options | |
|
237 | * dispatch: convert non-list option parsed by _earlygetopt() to string | |
|
238 | * dispatch: fix early parsing of short option with value like -R=foo | |
|
239 | * dispatch: handle IOError when writing to stderr | |
|
240 | * dispatch: stop parsing of early boolean option at "--" | |
|
241 | * dispatch: verify result of early command parsing | |
|
242 | 267 | * evolution: make reporting of new unstable changesets optional |
|
243 | 268 | * extdata: abort if external command exits with non-zero status (BC) |
|
244 | 269 | * fancyopts: add early-options parser compatible with getopt() |
@@ -247,7 +272,6 b'' | |||
|
247 | 272 | * httppeer: add support for tracing all http request made by the peer |
|
248 | 273 | * identify: document -r. explicitly how to disable wdir scanning (Bts:issue5622) |
|
249 | 274 | * lfs: register config options |
|
250 | * localrepo: specify optional callback parameter to pathauditor as a keyword | |
|
251 | 275 | * match: do not weirdly include explicit files excluded by -X option |
|
252 | 276 | * memfilectx: make changectx argument mandatory in constructor (API) |
|
253 | 277 | * morestatus: don't crash with different drive letters for repo.root and CWD |
@@ -256,36 +280,38 b'' | |||
|
256 | 280 | * rewriteutil: use precheck() in uncommit and amend commands |
|
257 | 281 | * scmutil: don't try to delete origbackup symlinks to directories (Bts:issue5731) |
|
258 | 282 | * sshpeer: add support for request tracing |
|
259 | * streamclone: add support for bundle2 based stream clone | |
|
260 | * streamclone: add support for cloning non append-only file | |
|
261 | * streamclone: also stream caches to the client | |
|
262 | * streamclone: define first iteration of version 2 of stream format | |
|
263 | * streamclone: move wire protocol status code from wireproto command | |
|
264 | * streamclone: rework canperformstreamclone | |
|
265 | * streamclone: tests phase exchange during stream clone | |
|
266 | * streamclone: use readexactly when reading stream v2 | |
|
267 | 283 | * subrepo: add config option to reject any subrepo operations (SEC) |
|
268 | 284 | * subrepo: disable git and svn subrepos by default (BC) (SEC) |
|
269 | 285 | * subrepo: extend config option to disable subrepos by type (SEC) |
|
270 | 286 | * subrepo: handle 'C:' style paths on the command line (Bts:issue5770) |
|
271 | 287 | * subrepo: use per-type config options to enable subrepos |
|
272 | 288 | * svnsubrepo: check if subrepo is missing when checking dirty state (Bts:issue5657) |
|
289 | * test-bookmarks-pushpull: stabilize for Windows | |
|
290 | * test-run-tests: stabilize the test (Bts:issue5735) | |
|
273 | 291 | * tr-summary: keep a weakref to the unfiltered repository |
|
274 | 292 | * unamend: fix command summary line |
|
275 | 293 | * uncommit: unify functions _uncommitdirstate and _unamenddirstate to one |
|
294 | * update: fix crash on bare update when directaccess is enabled | |
|
276 | 295 | * update: support updating to hidden cset if directaccess config is set |
|
277 | 296 | |
|
278 | === BC === | |
|
297 | === Behavior Changes === | |
|
279 | 298 | |
|
280 | 299 | * extdata: abort if external command exits with non-zero status (BC) |
|
281 | 300 | * graphlog: add another graph node type, unstable, using character "*" (BC) |
|
282 | 301 | * hgweb: drop support of browsers that don't understand <canvas> (BC) |
|
283 | 302 | * hgweb: only include graph-related data in jsdata variable on /graph pages (BC) |
|
284 | 303 | * hgweb: stop adding strings to innerHTML of #graphnodes and #nodebgs (BC) |
|
304 | * log: follow file history across copies even with -rREV (BC) (Bts:issue4959) | |
|
305 | * log: rewrite --follow-first -rREV like --follow for consistency (BC) | |
|
285 | 306 | * remove: print message for each file in verbose mode only while using '-A' (BC) |
|
286 | 307 | * subrepo: disable git and svn subrepos by default (BC) (SEC) |
|
287 | 308 | * transaction: register summary callbacks only at start of transaction (BC) |
|
288 | 309 | |
|
289 |
=== API Changes = |
|
|
310 | === Internal API Changes === | |
|
290 | 311 | |
|
312 | * dirstate: add explicit methods for querying directories (API) | |
|
313 | * exchange: return bundle info from getbundlechunks() (API) | |
|
291 | 314 | * memfilectx: make changectx argument mandatory in constructor (API) |
|
315 | * templater: keep default resources per template engine (API) | |
|
316 | * vfs: drop text mode flag (API) | |
|
317 | * wireproto: drop support for reader interface from streamres (API) |
General Comments 0
You need to be logged in to leave comments.
Login now