##// END OF EJS Templates
relnotes: skip the test if the source repository is not readable...
marmoute -
r52854:a9b1acca stable
parent child Browse files
Show More
@@ -1,317 +1,323
1 1 #require test-repo py3exe
2 2 $ . "$TESTDIR/helpers-testrepo.sh"
3 3
4 4 $ cd $TESTDIR/..
5 $ if hg root 2> /dev/null >&2; then true;
6 > else
7 > echo 'skipped: cannot read the source repository';
8 > exit 80;
9 > fi
10
5 11 $ python3 contrib/relnotes 4.4 --stoprev 4.5
6 12 changeset 3398603c5621: unexpected block in release notes directive feature
7 13 New Features
8 14 ============
9 15
10 16 revert --interactive
11 17 --------------------
12 18
13 19 The revert command now accepts the flag --interactive to allow reverting only
14 20 some of the changes to the specified files.
15 21
16 22 Rebase with different destination per source revision
17 23 -----------------------------------------------------
18 24
19 25 Previously, rebase only supports one unique destination. Now "SRC" and
20 26 "ALLSRC" can be used in rebase destination revset to precisely define
21 27 destination per each individual source revision.
22 28
23 29 For example, the following command could move some orphaned changesets to
24 30 reasonable new places so they become no longer orphaned:
25 31
26 32 hg rebase -r 'orphan()-obsolete()' -d 'max((successors(max(roots(ALLSRC) &
27 33 ::SRC)^)-obsolete())::)'
28 34
29 35 Accessing hidden changesets
30 36 ---------------------------
31 37
32 38 Set config option 'experimental.directaccess = True' to access hidden
33 39 changesets from read only commands.
34 40
35 41 githelp extension
36 42 -----------------
37 43
38 44 The "githelp" extension provides the "hg githelp" command. This command
39 45 attempts to convert a "git" command to its Mercurial equivalent. The extension
40 46 can be useful to Git users new to Mercurial.
41 47
42 48 Other Changes
43 49 -------------
44 50
45 51 * When interactive revert is run against a revision other than the working
46 52 directory parent, the diff shown is the diff to *apply* to the working
47 53 directory, rather than the diff to *discard* from the working copy. This is
48 54 in line with related user experiences with 'git' and appears to be less
49 55 confusing with 'ui.interface=curses'.
50 56
51 57 * Let 'hg rebase' avoid content-divergence by skipping obsolete changesets
52 58 (and their descendants) when they are present in the rebase set along with
53 59 one of their successors but none of their successors is in destination.
54 60
55 61 * hgweb now displays phases of non-public changesets
56 62
57 63 * The "HGPLAINEXCEPT" environment variable can now include "color" to allow
58 64 automatic output colorization in otherwise automated environments.
59 65
60 66 * A new unamend command in uncommit extension which undoes the effect of the
61 67 amend command by creating a new changeset which was there before amend and
62 68 moving the changes that were amended to the working directory.
63 69
64 70 * A '--abort' flag to merge command to abort the ongoing merge.
65 71
66 72 * An experimental flag '--rev' to 'hg branch' which can be used to change
67 73 branch of changesets.
68 74
69 75 Backwards Compatibility Changes
70 76 ===============================
71 77
72 78 * "log --follow-first -rREV", which is deprecated, now follows the first
73 79 parent of merge revisions from the specified "REV" just like "log --follow
74 80 -rREV".
75 81
76 82 * "log --follow -rREV FILE.." now follows file history across copies and
77 83 renames.
78 84
79 85 Bug Fixes
80 86 =========
81 87
82 88 Issue 5165
83 89 ----------
84 90
85 91 Bookmark, whose name is longer than 255, can again be exchanged again between
86 92 4.4+ client and servers.
87 93
88 94 Performance Improvements
89 95 ========================
90 96
91 97 * bundle2 read I/O throughput significantly increased.
92 98
93 99 * Significant memory use reductions when reading from bundle2 bundles.
94 100
95 101 On the BSD repository, peak RSS during changegroup application decreased by
96 102 ~185 MB from ~752 MB to ~567 MB.
97 103
98 104 API Changes
99 105 ===========
100 106
101 107 * bundlerepo.bundlerepository.bundle and
102 108 bundlerepo.bundlerepository.bundlefile are now prefixed with an underscore.
103 109
104 110 * Rename bundlerepo.bundlerepository.bundlefilespos to _cgfilespos.
105 111
106 112 * dirstate no longer provides a 'dirs()' method. To test for the existence of
107 113 a directory in the dirstate, use 'dirstate.hasdir(dirname)'.
108 114
109 115 * bundle2 parts are no longer seekable by default.
110 116
111 117 * mapping does not contain all template resources. use context.resource() in
112 118 template functions.
113 119
114 120 * "text=False|True" option is dropped from the vfs interface because of Python
115 121 3 compatibility issue. Use "util.tonativeeol/fromnativeeol()" to convert EOL
116 122 manually.
117 123
118 124 * wireproto.streamres.__init__ no longer accepts a "reader" argument. Use the
119 125 "gen" argument instead.
120 126
121 127 * exchange.getbundlechunks() now returns a 2-tuple instead of just an
122 128 iterator.
123 129
124 130
125 131 === commands ===
126 132 * amend: do not drop missing files (Bts:issue5732)
127 133 * amend: do not take untracked files as modified or clean (Bts:issue5732)
128 134 * amend: update .hgsubstate before committing a memctx (Bts:issue5677)
129 135 * annotate: add support to specify hidden revs if directaccess config is set
130 136 * bookmark: add methods to binary encode and decode bookmark values
131 137 * bookmark: deprecate direct update of a bookmark value
132 138 * bookmark: introduce a 'bookmarks' part
133 139 * bookmark: introduce in advance a variant of the exchange test
134 140 * bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey'
135 141 * bookmark: use the 'bookmarks' bundle2 part to push bookmark update (Bts:issue5165)
136 142 * bookmarks: add bookmarks to hidden revs if directaccess config is set
137 143 * bookmarks: calculate visibility exceptions only once
138 144 * bookmarks: display the obsfate of hidden revision we create a bookmark on
139 145 * bookmarks: fix pushkey compatibility mode (Bts:issue5777)
140 146 * bookmarks: use context managers for lock and transaction in update()
141 147 * bookmarks: use context managers for locks and transaction in pushbookmark()
142 148 * branch: add a --rev flag to change branch name of given revisions
143 149 * branch: allow changing branch name to existing name if possible
144 150 * clone: add support for storing remotenames while cloning
145 151 * clone: use utility function to write hgrc
146 152 * clonebundle: make it possible to retrieve the initial bundle through largefile
147 153 * commands: use the new API to access hidden changesets in various commands
148 154 * commandserver: restore cwd in case of exception
149 155 * commandserver: unblock SIGCHLD
150 156 * fileset: do not crash by unary negate operation
151 157 * help: deprecate ui.slash in favor of slashpath template filter (Bts:issue5572)
152 158 * log: allow matchfn to be non-null even if both --patch/--stat are off
153 159 * log: build follow-log filematcher at once
154 160 * log: don't expand aliases in revset built from command options
155 161 * log: follow file history across copies even with -rREV (BC) (Bts:issue4959)
156 162 * log: make "slowpath" condition slightly more readable
157 163 * log: make opt2revset table a module constant
158 164 * log: merge getlogrevs() and getgraphlogrevs()
159 165 * log: remove temporary variable 'date' used only once
160 166 * log: resolve --follow thoroughly in getlogrevs()
161 167 * log: resolve --follow with -rREV in cmdutil.getlogrevs()
162 168 * log: rewrite --follow-first -rREV like --follow for consistency (BC)
163 169 * log: simplify 'x or ancestors(x)' expression
164 170 * log: translate column labels at once (Bts:issue5750)
165 171 * log: use revsetlang.formatspec() thoroughly
166 172 * log: use revsetlang.formatspec() to concatenate list expression
167 173 * log: use smartset.slice() to limit number of revisions to be displayed
168 174 * merge: cache unknown dir checks (Bts:issue5716)
169 175 * merge: check created file dirs for path conflicts only once (Bts:issue5716)
170 176 * patch: add within-line color diff capacity
171 177 * patch: catch unexpected case in _inlinediff
172 178 * patch: do not break up multibyte character when highlighting word
173 179 * patch: improve heuristics to not take the word "diff" as header (Bts:issue1879)
174 180 * patch: reverse _inlinediff output for consistency
175 181 * pull: clarify that -u only updates linearly
176 182 * pull: hold wlock for the full operation when --update is used
177 183 * pull: retrieve bookmarks through the binary part when possible
178 184 * pull: store binary node in pullop.remotebookmarks
179 185 * push: include a 'check:bookmarks' part when possible
180 186 * push: restrict common discovery to the pushed set
181 187 * revert: do not reverse hunks in interactive when REV is not parent (Bts:issue5096)
182 188 * revert: support reverting to hidden cset if directaccess config is set
183 189
184 190 === core ===
185 191 * color: respect HGPLAINEXCEPT=color to allow colors while scripting (Bts:issue5749)
186 192 * dirstate: add explicit methods for querying directories (API)
187 193 * dispatch: abort if early boolean options can't be parsed
188 194 * dispatch: add HGPLAIN=+strictflags to restrict early parsing of global options
189 195 * dispatch: add option to not strip command args parsed by _earlygetopt()
190 196 * dispatch: alias --repo to --repository while parsing early options
191 197 * dispatch: fix early parsing of short option with value like -R=foo
192 198 * dispatch: handle IOError when writing to stderr
193 199 * dispatch: stop parsing of early boolean option at "--"
194 200 * dispatch: verify result of early command parsing
195 201 * exchange: return bundle info from getbundlechunks() (API)
196 202 * filelog: add the ability to report the user facing name
197 203 * localrepo: specify optional callback parameter to pathauditor as a keyword
198 204 * revlog: choose between ifh and dfh once for all
199 205 * revlog: don't use slicing to return parents
200 206 * revlog: group delta computation methods under _deltacomputer object
201 207 * revlog: group revision info into a dedicated structure
202 208 * revlog: introduce 'deltainfo' to distinguish from 'delta'
203 209 * revlog: rename 'rev' to 'base', as it is the base revision
204 210 * revlog: separate diff computation from the collection of other info
205 211 * revset: evaluate filesets against each revision for 'file()' (Bts:issue5778)
206 212 * revset: parse x^:: as (x^):: (Bts:issue5764)
207 213 * streamclone: add support for bundle2 based stream clone
208 214 * streamclone: add support for cloning non append-only file
209 215 * streamclone: also stream caches to the client
210 216 * streamclone: define first iteration of version 2 of stream format
211 217 * streamclone: move wire protocol status code from wireproto command
212 218 * streamclone: rework canperformstreamclone
213 219 * streamclone: tests phase exchange during stream clone
214 220 * streamclone: use readexactly when reading stream v2
215 221 * templater: fix crash by empty group expression
216 222 * templater: keep default resources per template engine (API)
217 223 * templater: look up symbols/resources as if they were separated (Bts:issue5699)
218 224 * transaction: register summary callbacks only at start of transaction (BC)
219 225 * util: whitelist NTFS for hardlink creation (Bts:issue4580)
220 226 * vfs: drop text mode flag (API)
221 227 * wireproto: drop support for reader interface from streamres (API)
222 228
223 229 === extensions ===
224 230 * convert: restore the ability to use bzr < 2.6.0 (Bts:issue5733)
225 231 * histedit: add support to output nodechanges using formatter
226 232 * largefiles: add a 'debuglfput' command to put largefile into the store
227 233 * largefiles: add support for 'largefiles://' url scheme
228 234 * largefiles: allow to run 'debugupgraderepo' on repo with largefiles
229 235 * largefiles: explicitly set the source and sink types to 'hg' for lfconvert
230 236 * largefiles: modernize how capabilities are added to the wire protocol
231 237 * largefiles: pay attention to dropped standin files when updating largefiles
232 238 * rebase: add concludememorynode(), and call it when rebasing in-memory
233 239 * rebase: add the --inmemory option flag; assign a wctx object for the rebase
234 240 * rebase: add ui.log calls for whether IMM used, whether rebasing WCP
235 241 * rebase: disable 'inmemory' if the rebaseset contains the working copy
236 242 * rebase: do not bail on uncomitted changes if rebasing in-memory
237 243 * rebase: do not update if IMM; instead, set the overlaywctx's parents
238 244 * rebase: don't run IMM if running rebase in a transaction
239 245 * rebase: don't take out a dirstate guard for in-memory rebase
240 246 * rebase: drop --style option
241 247 * rebase: enable multidest by default
242 248 * rebase: exclude descendants of obsoletes w/o a successor in dest (Bts:issue5300)
243 249 * rebase: fix for hgsubversion
244 250 * rebase: pass the wctx object (IMM or on-disk) to merge.update
245 251 * rebase: pass wctx to rebasenode()
246 252 * rebase: rerun a rebase on-disk if IMM merge conflicts arise
247 253 * rebase: switch ui.log calls to common style
248 254 * rebase: use fm.formatlist() and fm.formatdict() to support user template
249 255
250 256 === hgweb ===
251 257 * hgweb: disable diff.noprefix option for diffstat
252 258 * hgweb: drop support of browsers that don't understand <canvas> (BC)
253 259 * hgweb: only include graph-related data in jsdata variable on /graph pages (BC)
254 260 * hgweb: stop adding strings to innerHTML of #graphnodes and #nodebgs (BC)
255 261
256 262 === unsorted ===
257 263 * archive: add support to specify hidden revs if directaccess config is set
258 264 * atomicupdate: add an experimental option to use atomictemp when updating
259 265 * bundle2: don't use seekable bundle2 parts by default (Bts:issue5691)
260 266 * bundle: allow bundlerepo to support alternative manifest implementations
261 267 * changelog: introduce a 'tiprev' method
262 268 * changelog: use 'tiprev()' in 'tip()'
263 269 * completion: add support for new "amend" command
264 270 * crecord: fix revert -ir '.^' crash caused by 3649c3f2cd
265 271 * debugssl: convert port number to int (Bts:issue5757)
266 272 * diff: disable diff.noprefix option for diffstat (Bts:issue5759)
267 273 * evolution: make reporting of new unstable changesets optional
268 274 * extdata: abort if external command exits with non-zero status (BC)
269 275 * graphlog: add another graph node type, unstable, using character "*" (BC)
270 276 * hgdemandimport: use correct hyperlink to python-bug in comments (Bts:issue5765)
271 277 * httppeer: add support for tracing all http request made by the peer
272 278 * identify: document -r. explicitly how to disable wdir scanning (Bts:issue5622)
273 279 * lfs: register config options
274 280 * match: do not weirdly include explicit files excluded by -X option
275 281 * memfilectx: make changectx argument mandatory in constructor (API)
276 282 * morestatus: don't crash with different drive letters for repo.root and CWD
277 283 * outgoing: respect ":pushurl" paths (Bts:issue5365)
278 284 * remove: print message for each file in verbose mode only while using '-A' (BC)
279 285 * scmutil: don't try to delete origbackup symlinks to directories (Bts:issue5731)
280 286 * sshpeer: add support for request tracing
281 287 * subrepo: add config option to reject any subrepo operations (SEC)
282 288 * subrepo: disable git and svn subrepos by default (BC) (SEC)
283 289 * subrepo: disallow symlink traversal across subrepo mount point (SEC)
284 290 * subrepo: extend config option to disable subrepos by type (SEC)
285 291 * subrepo: handle 'C:' style paths on the command line (Bts:issue5770)
286 292 * subrepo: use per-type config options to enable subrepos
287 293 * svnsubrepo: check if subrepo is missing when checking dirty state (Bts:issue5657)
288 294 * test-bookmarks-pushpull: stabilize for Windows
289 295 * test-run-tests: stabilize the test (Bts:issue5735)
290 296 * tests: show symlink traversal across subrepo mount point (SEC)
291 297 * tr-summary: keep a weakref to the unfiltered repository
292 298 * unamend: fix command summary line
293 299 * uncommit: unify functions _uncommitdirstate and _unamenddirstate to one
294 300 * update: fix crash on bare update when directaccess is enabled
295 301 * update: support updating to hidden cset if directaccess config is set
296 302
297 303 === Behavior Changes ===
298 304
299 305 * extdata: abort if external command exits with non-zero status (BC)
300 306 * graphlog: add another graph node type, unstable, using character "*" (BC)
301 307 * hgweb: drop support of browsers that don't understand <canvas> (BC)
302 308 * hgweb: only include graph-related data in jsdata variable on /graph pages (BC)
303 309 * hgweb: stop adding strings to innerHTML of #graphnodes and #nodebgs (BC)
304 310 * log: follow file history across copies even with -rREV (BC) (Bts:issue4959)
305 311 * log: rewrite --follow-first -rREV like --follow for consistency (BC)
306 312 * remove: print message for each file in verbose mode only while using '-A' (BC)
307 313 * subrepo: disable git and svn subrepos by default (BC) (SEC)
308 314 * transaction: register summary callbacks only at start of transaction (BC)
309 315
310 316 === Internal API Changes ===
311 317
312 318 * dirstate: add explicit methods for querying directories (API)
313 319 * exchange: return bundle info from getbundlechunks() (API)
314 320 * memfilectx: make changectx argument mandatory in constructor (API)
315 321 * templater: keep default resources per template engine (API)
316 322 * vfs: drop text mode flag (API)
317 323 * wireproto: drop support for reader interface from streamres (API)
General Comments 0
You need to be logged in to leave comments. Login now