##// END OF EJS Templates
relnotes: various tweaks for release notes...
av6 -
r40491:683e99f0 stable
parent child Browse files
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"(option|feature|command|support)": 10,
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|nesting|indent|spelling|comment)": -20,
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|inherit|rename|simplify|naming|inline)": -10,
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|templater|ui|dirstate|hook|i18n|transaction|wire", "core"),
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 "%s::%s" % (args.startrev[0], args.stoprev[0]),
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 * largefiles: add a 'debuglfput' command to put largefile into the store
196 227 * largefiles: add support for 'largefiles://' url scheme
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