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 |
|
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 Mercuri |
|
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, |
|
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 |
|
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 |
|
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 |
|
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 |
|
|
3118 | index1[0 : opts.index], | |
3118 |
|
|
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 = |
|
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