##// END OF EJS Templates
merge: with stable
Augie Fackler -
r47433:6f4a481f merge default
parent child Browse files
Show More
@@ -207,3 +207,4 b' 18c17d63fdabd009e70bf994e5efb7db422f4f7f'
207 1d5189a57405ceca5aa244052c9f948977f4699b 0 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
@@ -220,3 +220,4 b' 18c17d63fdabd009e70bf994e5efb7db422f4f7f'
220 1d5189a57405ceca5aa244052c9f948977f4699b 5.6.1
220 1d5189a57405ceca5aa244052c9f948977f4699b 5.6.1
221 9da65e3cf3706ff41e08b311381c588440c27baf 5.7rc0
221 9da65e3cf3706ff41e08b311381c588440c27baf 5.7rc0
222 0e2e7300f4302b02412b0b734717697049494c4c 5.7
222 0e2e7300f4302b02412b0b734717697049494c4c 5.7
223 d5d9177c0045d206db575bae6daa98e2cb2fe5bc 5.7.1
@@ -280,14 +280,12 b' class narrowfilelog(filelog):'
280 return super(narrowfilelog, self).size(rev)
280 return super(narrowfilelog, self).size(rev)
281
281
282 def cmp(self, node, text):
282 def cmp(self, node, text):
283 different = super(narrowfilelog, self).cmp(node, text)
283 # We don't call `super` because narrow parents can be buggy in case of a
284 # ambiguous dirstate. Always take the slow path until there is a better
285 # fix, see issue6150.
284
286
285 # Because renamed() may lie, we may get false positives for
287 # Censored files compare against the empty file.
286 # different content. Check for this by comparing against the original
288 if self.iscensored(self.rev(node)):
287 # renamed() implementation.
289 return text != b''
288 if different:
289 if super(narrowfilelog, self).renamed(node):
290 t2 = self.read(node)
291 return t2 != text
292
290
293 return different
291 return self.read(node) != text
@@ -1032,7 +1032,7 b' Example ``.hg/hgrc``::'
1032 incoming.autobuild:run-with-plain = yes
1032 incoming.autobuild:run-with-plain = yes
1033 # HGPLAIN never set
1033 # HGPLAIN never set
1034 incoming.autobuild:run-with-plain = no
1034 incoming.autobuild:run-with-plain = no
1035 # HGPLAIN inherited from environment (default before Mercurila 5.7)
1035 # HGPLAIN inherited from environment (default before Mercurial 5.7)
1036 incoming.autobuild:run-with-plain = auto
1036 incoming.autobuild:run-with-plain = auto
1037
1037
1038 Most hooks are run with environment variables set that give useful
1038 Most hooks are run with environment variables set that give useful
@@ -543,7 +543,7 b' def makelocalrepository(baseui, path, in'
543 except ValueError as e:
543 except ValueError as e:
544 # Can be raised on Python 3.8 when path is invalid.
544 # Can be raised on Python 3.8 when path is invalid.
545 raise error.Abort(
545 raise error.Abort(
546 _(b'invalid path %s: %s') % (path, pycompat.bytestr(e))
546 _(b'invalid path %s: %s') % (path, stringutil.forcebytestr(e))
547 )
547 )
548
548
549 raise error.RepoError(_(b'repository %s not found') % path)
549 raise error.RepoError(_(b'repository %s not found') % path)
@@ -571,7 +571,7 b' def makelocalrepository(baseui, path, in'
571 # repository was shared the old way. We check the share source .hg/requires
571 # repository was shared the old way. We check the share source .hg/requires
572 # for SHARESAFE_REQUIREMENT to detect whether the current repository needs
572 # for SHARESAFE_REQUIREMENT to detect whether the current repository needs
573 # to be reshared
573 # to be reshared
574 hint = _("see `hg help config.format.use-share-safe` for more information")
574 hint = _(b"see `hg help config.format.use-share-safe` for more information")
575 if requirementsmod.SHARESAFE_REQUIREMENT in requirements:
575 if requirementsmod.SHARESAFE_REQUIREMENT in requirements:
576
576
577 if (
577 if (
@@ -1137,7 +1137,7 b' class revlogfilestorage(object):'
1137 """File storage when using revlogs."""
1137 """File storage when using revlogs."""
1138
1138
1139 def file(self, path):
1139 def file(self, path):
1140 if path[0] == b'/':
1140 if path.startswith(b'/'):
1141 path = path[1:]
1141 path = path[1:]
1142
1142
1143 return filelog.filelog(self.svfs, path)
1143 return filelog.filelog(self.svfs, path)
@@ -1148,7 +1148,7 b' class revlognarrowfilestorage(object):'
1148 """File storage when using revlogs and narrow files."""
1148 """File storage when using revlogs and narrow files."""
1149
1149
1150 def file(self, path):
1150 def file(self, path):
1151 if path[0] == b'/':
1151 if path.startswith(b'/'):
1152 path = path[1:]
1152 path = path[1:]
1153
1153
1154 return filelog.narrowfilelog(self.svfs, path, self._storenarrowmatch)
1154 return filelog.narrowfilelog(self.svfs, path, self._storenarrowmatch)
@@ -876,7 +876,7 b' def _makematcher(repo, revs, wopts):'
876 # slowpath; otherwise, we can turn off the slowpath
876 # slowpath; otherwise, we can turn off the slowpath
877 if slowpath:
877 if slowpath:
878 for path in match.files():
878 for path in match.files():
879 if path == b'.' or path in repo.store:
879 if not path or path in repo.store:
880 break
880 break
881 else:
881 else:
882 slowpath = False
882 slowpath = False
@@ -20,6 +20,7 b' import zlib'
20 from .i18n import _
20 from .i18n import _
21 from .node import (
21 from .node import (
22 hex,
22 hex,
23 nullhex,
23 short,
24 short,
24 )
25 )
25 from .pycompat import open
26 from .pycompat import open
@@ -3099,12 +3100,12 b' def diffcontent(data1, data2, header, bi'
3099
3100
3100 ctx1, fctx1, path1, flag1, content1, date1 = data1
3101 ctx1, fctx1, path1, flag1, content1, date1 = data1
3101 ctx2, fctx2, path2, flag2, content2, date2 = data2
3102 ctx2, fctx2, path2, flag2, content2, date2 = data2
3103 index1 = _gitindex(content1) if path1 in ctx1 else nullhex
3104 index2 = _gitindex(content2) if path2 in ctx2 else nullhex
3102 if binary and opts.git and not opts.nobinary:
3105 if binary and opts.git and not opts.nobinary:
3103 text = mdiff.b85diff(content1, content2)
3106 text = mdiff.b85diff(content1, content2)
3104 if text:
3107 if text:
3105 header.append(
3108 header.append(b'index %s..%s' % (index1, index2))
3106 b'index %s..%s' % (_gitindex(content1), _gitindex(content2))
3107 )
3108 hunks = ((None, [text]),)
3109 hunks = ((None, [text]),)
3109 else:
3110 else:
3110 if opts.git and opts.index > 0:
3111 if opts.git and opts.index > 0:
@@ -3114,8 +3115,8 b' def diffcontent(data1, data2, header, bi'
3114 header.append(
3115 header.append(
3115 b'index %s..%s %s'
3116 b'index %s..%s %s'
3116 % (
3117 % (
3117 _gitindex(content1)[0 : opts.index],
3118 index1[0 : opts.index],
3118 _gitindex(content2)[0 : opts.index],
3119 index2[0 : opts.index],
3119 _gitmode[flag],
3120 _gitmode[flag],
3120 )
3121 )
3121 )
3122 )
@@ -510,7 +510,7 b" def mkstemp(suffix=b'', prefix=b'tmp', d"
510 # This wrapper file are always open in byte mode.
510 # This wrapper file are always open in byte mode.
511 def unnamedtempfile(mode=None, *args, **kwargs):
511 def unnamedtempfile(mode=None, *args, **kwargs):
512 if mode is None:
512 if mode is None:
513 mode = b'w+b'
513 mode = 'w+b'
514 else:
514 else:
515 mode = sysstr(mode)
515 mode = sysstr(mode)
516 assert 'b' in mode
516 assert 'b' in mode
@@ -2185,7 +2185,7 b' class _re(object):'
2185 global _re2
2185 global _re2
2186 try:
2186 try:
2187 # check if match works, see issue3964
2187 # check if match works, see issue3964
2188 _re2 = bool(re2.match(r'\[([^\[]+)\]', b'[ui]'))
2188 _re2 = bool(re2.match(br'\[([^\[]+)\]', b'[ui]'))
2189 except ImportError:
2189 except ImportError:
2190 _re2 = False
2190 _re2 = False
2191
2191
@@ -456,3 +456,26 b' be broken up'
456 .
456 .
457
457
458 $ cd ..
458 $ cd ..
459
460 Make sure `hg diff --git` differentiate "file did not exists" and "file is empty"
461 for git blob oids
462
463 $ hg init bloboids
464 $ cd bloboids
465
466 $ touch a
467 $ hg ci -Am "empty a"
468 adding a
469 $ hg diff -c 0 --git --config experimental.extendedheader.index=full | grep index
470 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
471
472 Make sure `hg diff --git` differentiate "file was empty" and "file is removed"
473 for git blob oids
474
475 $ rm a
476 $ hg ci -Am "removed a"
477 removing a
478 $ hg diff -c 1 --git --config experimental.extendedheader.index=full | grep index
479 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 100644
480
481 $ cd ..
@@ -185,7 +185,7 b' git=auto: regular diff for regular files'
185 % git=auto: git diff for newbinary
185 % git=auto: git diff for newbinary
186 diff --git a/newbinary b/newbinary
186 diff --git a/newbinary b/newbinary
187 new file mode 100644
187 new file mode 100644
188 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f76dd238ade08917e6712764a16a22005a50573d
188 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
189 GIT binary patch
189 GIT binary patch
190 literal 1
190 literal 1
191 Ic${MZ000310RR91
191 Ic${MZ000310RR91
@@ -202,7 +202,7 b' git=auto: regular diff for regular files'
202 % git=auto: git diff for rmbinary
202 % git=auto: git diff for rmbinary
203 diff --git a/rmbinary b/rmbinary
203 diff --git a/rmbinary b/rmbinary
204 deleted file mode 100644
204 deleted file mode 100644
205 index f76dd238ade08917e6712764a16a22005a50573d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
205 index f76dd238ade08917e6712764a16a22005a50573d..0000000000000000000000000000000000000000
206 GIT binary patch
206 GIT binary patch
207 literal 0
207 literal 0
208 Hc$@<O00001
208 Hc$@<O00001
@@ -111,7 +111,7 b' Filename without "a/" or "b/" (issue5759'
111
111
112 diff --git c c
112 diff --git c c
113 new file mode 100644
113 new file mode 100644
114 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f76dd238ade08917e6712764a16a22005a50573d
114 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
115 GIT binary patch
115 GIT binary patch
116 literal 1
116 literal 1
117 Ic${MZ000310RR91
117 Ic${MZ000310RR91
@@ -346,7 +346,7 b' Binary diff:'
346 $ cat b.diff
346 $ cat b.diff
347 diff --git a/binfile.bin b/binfile.bin
347 diff --git a/binfile.bin b/binfile.bin
348 new file mode 100644
348 new file mode 100644
349 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..37ba3d1c6f17137d9c5f5776fa040caf5fe73ff9
349 index 0000000000000000000000000000000000000000..37ba3d1c6f17137d9c5f5776fa040caf5fe73ff9
350 GIT binary patch
350 GIT binary patch
351 literal 593
351 literal 593
352 zc$@)I0<QguP)<h;3K|Lk000e1NJLTq000mG000mO0ssI2kdbIM00009a7bBm000XU
352 zc$@)I0<QguP)<h;3K|Lk000e1NJLTq000mG000mO0ssI2kdbIM00009a7bBm000XU
@@ -1114,7 +1114,7 b' Binary files work but without diff hunks'
1114
1114
1115 diff --git a/dir/binary b/dir/binary
1115 diff --git a/dir/binary b/dir/binary
1116 new file mode 100644
1116 new file mode 100644
1117 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c2e1fbed209fe919b3f189a6a31950e9adf61e45
1117 index 0000000000000000000000000000000000000000..c2e1fbed209fe919b3f189a6a31950e9adf61e45
1118 GIT binary patch
1118 GIT binary patch
1119 literal 17
1119 literal 17
1120 Wc$_QA$SmdpqC~Ew%)G>+N(KNlNClYy
1120 Wc$_QA$SmdpqC~Ew%)G>+N(KNlNClYy
@@ -102,6 +102,41 b' log on directory'
102 summary: c
102 summary: c
103
103
104
104
105 log empty path (or repo root) of slow path shouldn't crash (issue6478)
106
107 $ hg log -ql1 '' inexistent
108 4:7e4639b4691b
109 $ hg log -ql1 . inexistent
110 4:7e4639b4691b
111 $ hg log -ql1 "`pwd`" inexistent
112 4:7e4639b4691b
113
114 $ hg log -ql1 '' e
115 4:7e4639b4691b
116 $ hg log -ql1 . e
117 4:7e4639b4691b
118 $ hg log -ql1 "`pwd`" e
119 4:7e4639b4691b
120
121 log -f empty path (or repo root) shouldn't crash
122
123 $ hg log -qfl1 '' inexistent
124 abort: cannot follow file not in parent revision: "inexistent"
125 [255]
126 $ hg log -qfl1 . inexistent
127 abort: cannot follow file not in parent revision: "inexistent"
128 [255]
129 $ hg log -qfl1 "`pwd`" inexistent
130 abort: cannot follow file not in parent revision: "inexistent"
131 [255]
132
133 $ hg log -qfl1 '' e
134 4:7e4639b4691b
135 $ hg log -qfl1 . e
136 4:7e4639b4691b
137 $ hg log -qfl1 "`pwd`" e
138 4:7e4639b4691b
139
105 -X, with explicit path
140 -X, with explicit path
106
141
107 $ hg log a -X a
142 $ hg log a -X a
@@ -92,28 +92,8 b' directory but the shallow pull should on'
92 1: Commit rev2 of f8, d1/f8, d2/f8
92 1: Commit rev2 of f8, d1/f8, d2/f8
93 0...: Commit rev2 of f7, d1/f7, d2/f7
93 0...: Commit rev2 of f7, d1/f7, d2/f7
94
94
95 XXX flaky output (see issue6150)
96 XXX
97 XXX The filectx implementation is buggy and return wrong data during status.
98 XXX Leading to more file being "merged". The right output is the one with just
99 XXX 10 files updated.
100
101 $ hg update 4
95 $ hg update 4
102 merging d2/f1 (?)
96 10 files updated, 0 files merged, 0 files removed, 0 files unresolved
103 merging d2/f2 (?)
104 merging d2/f3 (?)
105 merging d2/f4 (?)
106 merging d2/f5 (?)
107 merging d2/f6 (?)
108 merging d2/f7 (?)
109 3 files updated, 7 files merged, 0 files removed, 0 files unresolved (?)
110 4 files updated, 6 files merged, 0 files removed, 0 files unresolved (?)
111 5 files updated, 5 files merged, 0 files removed, 0 files unresolved (?)
112 6 files updated, 4 files merged, 0 files removed, 0 files unresolved (?)
113 7 files updated, 3 files merged, 0 files removed, 0 files unresolved (?)
114 8 files updated, 2 files merged, 0 files removed, 0 files unresolved (?)
115 9 files updated, 1 files merged, 0 files removed, 0 files unresolved (?)
116 10 files updated, 0 files merged, 0 files removed, 0 files unresolved (?)
117 $ cat d2/f7 d2/f8
97 $ cat d2/f7 d2/f8
118 d2/f7 rev3
98 d2/f7 rev3
119 d2/f8 rev2
99 d2/f8 rev2
General Comments 0
You need to be logged in to leave comments. Login now