##// END OF EJS Templates
merge with stable
Augie Fackler -
r38789:813e726e merge default
parent child Browse files
Show More
@@ -166,3 +166,5 b' 1ec874717d8a93b19e0d50628443e0ee5efab3a9'
166 166 6614cac550aea66d19c601e45efd1b7bd08d7c40 0 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
@@ -179,3 +179,5 b' 1ec874717d8a93b19e0d50628443e0ee5efab3a9'
179 179 6614cac550aea66d19c601e45efd1b7bd08d7c40 4.6
180 180 9c5ced5276d6e7d54f7c3dadf5247b7ee98ec79c 4.6.1
181 181 0b63a6743010dfdbf8a8154186e119949bdaa1cc 4.6.2
182 e90130af47ce8dd53a3109aed9d15876b3e7dee8 4.7rc0
183 33ac6a72308a215e6086fbced347ec10aa963b0a 4.7
@@ -927,9 +927,9 b" coreconfigitem('progress', 'width',"
927 927 coreconfigitem('push', 'pushvars.server',
928 928 default=False,
929 929 )
930 coreconfigitem('revlog', 'optimize-delta-parent-choice',
930 coreconfigitem('storage', 'revlog.optimize-delta-parent-choice',
931 931 default=True,
932 # formely an experimental option: format.aggressivemergedeltas
932 alias=[('format', 'aggressivemergedeltas')],
933 933 )
934 934 coreconfigitem('server', 'bookmarks-pushkey-compat',
935 935 default=True,
@@ -411,6 +411,7 b' class changectx(basectx):'
411 411 self._rev = repo.changelog.rev(changeid)
412 412 return
413 413 except error.FilteredLookupError:
414 changeid = hex(changeid) # for the error message
414 415 raise
415 416 except LookupError:
416 417 # check if it might have come from damaged dirstate
@@ -591,7 +592,7 b' class changectx(basectx):'
591 592
592 593 def descendant(self, other):
593 594 msg = (b'ctx.descendant(other) is deprecated, '
594 'use ctx.isancestorof(other)')
595 b'use ctx.isancestorof(other)')
595 596 self._repo.ui.deprecwarn(msg, b'4.7')
596 597 return self.isancestorof(other)
597 598
@@ -2326,7 +2327,12 b' class memfilectx(committablefilectx):'
2326 2327 revision being committed, or None."""
2327 2328 super(memfilectx, self).__init__(repo, path, None, changectx)
2328 2329 self._data = data
2329 self._flags = (islink and 'l' or '') + (isexec and 'x' or '')
2330 if islink:
2331 self._flags = 'l'
2332 elif isexec:
2333 self._flags = 'x'
2334 else:
2335 self._flags = ''
2330 2336 self._copied = None
2331 2337 if copied:
2332 2338 self._copied = (copied, nullid)
@@ -72,6 +72,11 b' else:'
72 72 '646': lambda: 'ascii',
73 73 'ANSI_X3.4-1968': lambda: 'ascii',
74 74 }
75 # cp65001 is a Windows variant of utf-8, which isn't supported on Python 2.
76 # No idea if it should be rewritten to the canonical name 'utf-8' on Python 3.
77 # https://bugs.python.org/issue13216
78 if pycompat.iswindows and not pycompat.ispy3:
79 _encodingfixers['cp65001'] = lambda: 'utf-8'
75 80
76 81 try:
77 82 encoding = environ.get("HGENCODING")
@@ -592,7 +592,9 b' class matchctx(object):'
592 592 try:
593 593 return predfn(fctx)
594 594 except (IOError, OSError) as e:
595 if e.errno in (errno.ENOENT, errno.ENOTDIR, errno.EISDIR):
595 # open()-ing a directory fails with EACCES on Windows
596 if e.errno in (errno.ENOENT, errno.EACCES, errno.ENOTDIR,
597 errno.EISDIR):
596 598 return False
597 599 raise
598 600 else:
@@ -1773,13 +1773,13 b' have a definite end point.'
1773 1773
1774 1774 Alias definitions for revsets. See :hg:`help revsets` for details.
1775 1775
1776 ``revlog``
1777 ----------
1776 ``storage``
1777 -----------
1778 1778
1779 1779 Control the strategy Mercurial uses internally to store history. Options in this
1780 1780 category impact performance and repository size.
1781 1781
1782 ``optimize-delta-parent-choice``
1782 ``revlog.optimize-delta-parent-choice``
1783 1783 When storing a merge revision, both parents will be equally considered as
1784 1784 a possible delta base. This results in better delta selection and improved
1785 1785 revlog compression. This option is enabled by default.
@@ -731,8 +731,14 b' def clone(ui, peeropts, source, dest=Non'
731 731 uprev = None
732 732 status = None
733 733 if checkout is not None:
734 if checkout in destrepo:
734 # Some extensions (at least hg-git and hg-subversion) have
735 # a peer.lookup() implementation that returns a name instead
736 # of a nodeid. We work around it here until we've figured
737 # out a better solution.
738 if len(checkout) == 20 and checkout in destrepo:
735 739 uprev = checkout
740 elif scmutil.isrevsymbol(destrepo, checkout):
741 uprev = scmutil.revsymbol(destrepo, checkout).node()
736 742 else:
737 743 if update is not True:
738 744 try:
@@ -136,7 +136,7 b' class requestcontext(object):'
136 136 logourl = self.config('web', 'logourl')
137 137 logoimg = self.config('web', 'logoimg')
138 138 staticurl = (self.config('web', 'staticurl')
139 or req.apppath + '/static/')
139 or req.apppath.rstrip('/') + '/static/')
140 140 if not staticurl.endswith('/'):
141 141 staticurl += '/'
142 142
@@ -514,7 +514,7 b' class hgwebdir(object):'
514 514 logourl = config('web', 'logourl')
515 515 logoimg = config('web', 'logoimg')
516 516 staticurl = (config('web', 'staticurl')
517 or req.apppath + '/static/')
517 or req.apppath.rstrip('/') + '/static/')
518 518 if not staticurl.endswith('/'):
519 519 staticurl += '/'
520 520
@@ -668,8 +668,8 b' class localrepository(object):'
668 668 manifestcachesize = self.ui.configint('format', 'manifestcachesize')
669 669 if manifestcachesize is not None:
670 670 self.svfs.options['manifestcachesize'] = manifestcachesize
671 deltabothparents = self.ui.configbool('revlog',
672 'optimize-delta-parent-choice')
671 deltabothparents = self.ui.configbool('storage',
672 'revlog.optimize-delta-parent-choice')
673 673 self.svfs.options['deltabothparents'] = deltabothparents
674 674 self.svfs.options['lazydeltabase'] = not scmutil.gddeltaconfig(self.ui)
675 675 chainspan = self.ui.configbytes('experimental', 'maxdeltachainspan')
@@ -689,6 +689,8 b' class localrepository(object):'
689 689 self.svfs.options['sparse-read-min-gap-size'] = srmingapsize
690 690 sparserevlog = SPARSEREVLOG_REQUIREMENT in self.requirements
691 691 self.svfs.options['sparse-revlog'] = sparserevlog
692 if sparserevlog:
693 self.svfs.options['generaldelta'] = True
692 694
693 695 for r in self.requirements:
694 696 if r.startswith('exp-compression-'):
@@ -692,7 +692,7 b' class prefixdirmatcher(basematcher):'
692 692 The prefix path should usually be the relative path from the root of
693 693 this matcher to the root of the wrapped matcher.
694 694
695 >>> m1 = match(b'root/d/e', b'f', [b'../a.txt', b'b.txt'])
695 >>> m1 = match(util.localpath(b'root/d/e'), b'f', [b'../a.txt', b'b.txt'])
696 696 >>> m2 = prefixdirmatcher(b'root', b'd/e/f', b'd/e', m1)
697 697 >>> bool(m2(b'a.txt'),)
698 698 False
@@ -1424,14 +1424,13 b' def calculateupdates(repo, wctx, mctx, a'
1424 1424 del actions[f]
1425 1425 repo.ui.note(_('end of auction\n\n'))
1426 1426
1427 _resolvetrivial(repo, wctx, mctx, ancestors[0], actions)
1428
1429 1427 if wctx.rev() is None:
1430 1428 fractions = _forgetremoved(wctx, mctx, branchmerge)
1431 1429 actions.update(fractions)
1432 1430
1433 1431 prunedactions = sparse.filterupdatesactions(repo, wctx, mctx, branchmerge,
1434 1432 actions)
1433 _resolvetrivial(repo, wctx, mctx, ancestors[0], actions)
1435 1434
1436 1435 return prunedactions, diverge, renamedelete
1437 1436
@@ -1701,8 +1701,8 b' class revlog(object):'
1701 1701 return self.isancestorrev(a, b)
1702 1702
1703 1703 def descendant(self, a, b):
1704 msg = (b'revlog.descendant is deprecated, use revlog.isancestorrev')
1705 self._repo.ui.deprecwarn(msg, b'4.7')
1704 msg = 'revlog.descendant is deprecated, use revlog.isancestorrev'
1705 util.nouideprecwarn(msg, '4.7')
1706 1706 return self.isancestorrev(a, b)
1707 1707
1708 1708 def isancestorrev(self, a, b):
@@ -1366,7 +1366,8 b' def gdinitconfig(ui):'
1366 1366 """
1367 1367 # experimental config: format.generaldelta
1368 1368 return (ui.configbool('format', 'generaldelta')
1369 or ui.configbool('format', 'usegeneraldelta'))
1369 or ui.configbool('format', 'usegeneraldelta')
1370 or ui.configbool('format', 'sparse-revlog'))
1370 1371
1371 1372 def gddeltaconfig(ui):
1372 1373 """helper function to know if incoming delta should be optimised
@@ -17,6 +17,7 b''
17 17 <a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> |
18 18 <a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> |
19 19 <a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> |
20 <a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> |
20 21 <a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> |
21 22 <a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> |
22 23 <a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> |
@@ -67,8 +67,6 b' status.relative = yes'
67 67 update.check = noconflict
68 68 # Show conflicts information in `hg status`
69 69 status.verbose = True
70 # Collapse entire directories that contain only unknown files
71 status.terse = u
72 70
73 71 [diff]
74 72 git = 1
@@ -212,6 +212,7 b' def _posixworker(ui, func, staticargs, a'
212 212 signal.signal(signal.SIGINT, oldhandler)
213 213 waitforworkers()
214 214 signal.signal(signal.SIGCHLD, oldchldhandler)
215 selector.close()
215 216 status = problem[0]
216 217 if status:
217 218 if status < 0:
@@ -54,8 +54,10 b' default context'
54 54 trailing whitespace
55 55
56 56 $ cp a a.orig
57 $ sed 's/^dd$/dd \r/' a >a.new
58 $ mv a.new a
57 >>> with open('a', 'rb') as f:
58 ... data = f.read()
59 >>> with open('a', 'wb') as f:
60 ... f.write(data.replace('dd', 'dd \r'))
59 61 $ hg diff --nodates
60 62 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
61 63 \x1b[0;31;1m--- a/a\x1b[0m (esc)
@@ -420,7 +420,7 b' Test with a revision'
420 420 c1
421 421 c2
422 422 c3
423 con.xml
423 con.xml (no-windows !)
424 424 mixed
425 425 unknown
426 426 $ fileset 'eol(mac)'
@@ -442,7 +442,7 b" Test safety of 'encoding' on removed fil"
442 442 c1
443 443 c2
444 444 c3
445 con.xml
445 con.xml (no-windows !)
446 446 dos
447 447 mac
448 448 mixed
@@ -146,7 +146,7 b' Test revlog.optimize-delta-parent-choice'
146 146 - Verify aggressive merge uses p2 (commit 0) as delta parent
147 147 $ hg up -q -C 1
148 148 $ hg merge -q 0
149 $ hg commit -q -m merge --config revlog.optimize-delta-parent-choice=yes
149 $ hg commit -q -m merge --config storage.revlog.optimize-delta-parent-choice=yes
150 150 $ hg debugdeltachain -m
151 151 rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio
152 152 0 1 1 -1 base 59 215 59 0.27442 59 0 0.00000
@@ -2598,9 +2598,9 b' Test metadata encoding (issue5754)'
2598 2598 > f.write(b't\xe8st2') and None
2599 2599 > EOF
2600 2600 $ mkcommit ROOT
2601 $ HGENCODING=latin-1 HGUSER="`cat test1`" mkcommit A0
2601 $ ( HGENCODING=latin-1 HGUSER="`cat test1`" mkcommit A0 )
2602 2602 $ echo 42 >> A0
2603 $ hg amend -m "A1" --note "`cat test2`"
2603 $ HGENCODING=latin-1 hg amend -m "A1" --note "`cat test2`"
2604 2604 $ HGENCODING=latin-1 hg amend -m "A2" \
2605 2605 > --config devel.user.obsmarker="`cat test2`"
2606 2606 $ mkcommit B0
@@ -2611,31 +2611,31 b' metadata should be stored in UTF-8, and '
2611 2611 local encoding since the command is supposed to show unmodified content:
2612 2612
2613 2613 $ HGENCODING=latin-1 hg debugobsolete
2614 5f66a482f0bb2fcaccfc215554ad5eb9f40b50f5 718c0d00cee1429bdb73064e0d88908c601507a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'note': 't\xc3\xa8st2', 'operation': 'amend', 'user': 't\xc3\xa8st1'}
2614 5f66a482f0bb2fcaccfc215554ad5eb9f40b50f5 718c0d00cee1429bdb73064e0d88908c601507a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'note': 't\xc3\xa8st2', 'operation': 'amend', 'user': 'test'}
2615 2615 718c0d00cee1429bdb73064e0d88908c601507a8 1132562159b35bb27e1d6b80c80ee94a1659a4da 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 't\xc3\xa8st2'}
2616 e1724525bc3bec4472d7915a02811b938004a7a2 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 't\xc3\xa8st2'}
2616 8f82db6f991db367fdbb3b6dba5e187ecc3ebd96 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 't\xc3\xa8st2'}
2617 2617
2618 2618 metadata should be converted back to local encoding when displaying:
2619 2619
2620 2620 $ HGENCODING=latin-1 hg fatelog --hidden
2621 @ e1724525bc3b
2621 @ 8f82db6f991d
2622 2622 | Obsfate: pruned by t\xe8st2 (at 1970-01-01 00:00 +0000); (esc)
2623 2623 o 1132562159b3
2624 2624 |
2625 2625 | x 718c0d00cee1
2626 2626 |/ Obsfate: rewritten using amend as 3:1132562159b3 by t\xe8st2 (at 1970-01-01 00:00 +0000); (esc)
2627 2627 | x 5f66a482f0bb
2628 |/ Obsfate: rewritten using amend as 2:718c0d00cee1 by t\xe8st1 (at 1970-01-01 00:00 +0000); (esc)
2628 |/ Obsfate: rewritten using amend as 2:718c0d00cee1 by test (at 1970-01-01 00:00 +0000);
2629 2629 o ea207398892e
2630 2630
2631 2631 $ HGENCODING=utf-8 hg fatelog --hidden
2632 @ e1724525bc3b
2632 @ 8f82db6f991d
2633 2633 | Obsfate: pruned by t\xc3\xa8st2 (at 1970-01-01 00:00 +0000); (esc)
2634 2634 o 1132562159b3
2635 2635 |
2636 2636 | x 718c0d00cee1
2637 2637 |/ Obsfate: rewritten using amend as 3:1132562159b3 by t\xc3\xa8st2 (at 1970-01-01 00:00 +0000); (esc)
2638 2638 | x 5f66a482f0bb
2639 |/ Obsfate: rewritten using amend as 2:718c0d00cee1 by t\xc3\xa8st1 (at 1970-01-01 00:00 +0000); (esc)
2639 |/ Obsfate: rewritten using amend as 2:718c0d00cee1 by test (at 1970-01-01 00:00 +0000);
2640 2640 o ea207398892e
2641 2641
@@ -60,3 +60,61 b' copy'
60 60 temporarily included 2 file(s) in the sparse checkout for merging
61 61 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
62 62 (branch merge, don't forget to commit)
63
64 $ cd ..
65
66 Tests merging a file which is modified in one branch and deleted in another and
67 file is excluded from sparse checkout
68
69 $ hg init ytest
70 $ cd ytest
71 $ echo "syntax: glob" >> .hgignore
72 $ echo "*.orig" >> .hgignore
73 $ hg ci -Aqm "added .hgignore"
74 $ for ch in a d; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
75 $ cat >> .hg/hgrc <<EOF
76 > [alias]
77 > glog = log -GT "{rev}:{node|short} {desc}"
78 > [extensions]
79 > sparse =
80 > EOF
81
82 $ hg glog
83 @ 2:f29feff37cfc added d
84 |
85 o 1:617125d27d6b added a
86 |
87 o 0:53f3774ed939 added .hgignore
88
89 $ hg rm d
90 $ hg ci -m "removed d"
91
92 $ hg up '.^'
93 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
94 $ hg debugsparse --reset
95 $ echo bar >> d
96 $ hg ci -Am "added bar to d"
97 created new head
98
99 $ hg glog
100 @ 4:6527874a90e4 added bar to d
101 |
102 | o 3:372c8558de45 removed d
103 |/
104 o 2:f29feff37cfc added d
105 |
106 o 1:617125d27d6b added a
107 |
108 o 0:53f3774ed939 added .hgignore
109
110 $ hg debugsparse --exclude "d"
111 $ ls
112 a
113
114 $ hg merge
115 temporarily included 1 file(s) in the sparse checkout for merging
116 local [working copy] changed d which other [merge rev] deleted
117 use (c)hanged version, (d)elete, or leave (u)nresolved? u
118 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
119 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
120 [1]
@@ -109,8 +109,11 b' combining patterns with root and pattern'
109 109
110 110 tweaking defaults works
111 111 $ hg status --cwd a --config ui.tweakdefaults=yes
112 ? .
113 ? ../b/
112 ? 1/in_a_1
113 ? in_a
114 ? ../b/1/in_b_1
115 ? ../b/2/in_b_2
116 ? ../b/in_b
114 117 ? ../in_root
115 118 $ HGPLAIN=1 hg status --cwd a --config ui.tweakdefaults=yes
116 119 ? a/1/in_a_1 (glob)
@@ -120,8 +123,11 b' tweaking defaults works'
120 123 ? b/in_b (glob)
121 124 ? in_root
122 125 $ HGPLAINEXCEPT=tweakdefaults hg status --cwd a --config ui.tweakdefaults=yes
123 ? .
124 ? ../b/
126 ? 1/in_a_1
127 ? in_a
128 ? ../b/1/in_b_1
129 ? ../b/2/in_b_2
130 ? ../b/in_b
125 131 ? ../in_root (glob)
126 132
127 133 relative paths can be requested
@@ -151,8 +157,11 b' if relative paths are explicitly off, tw'
151 157 > status.relative = False
152 158 > EOF
153 159 $ hg status --cwd a --config ui.tweakdefaults=yes
154 ? a/
155 ? b/
160 ? a/1/in_a_1
161 ? a/in_a
162 ? b/1/in_b_1
163 ? b/2/in_b_2
164 ? b/in_b
156 165 ? in_root
157 166
158 167 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now