Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • mercurial/mercurial-devel
1 result
Show changes
Commits on Source (24)
Showing
with 174 additions and 38 deletions
...@@ -236,3 +236,4 @@ ...@@ -236,3 +236,4 @@
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
...@@ -249,3 +249,7 @@ ...@@ -249,3 +249,7 @@
dbdee8ac3e3fcdda1fa55b90c0a235125b7f8e6f 6.2.3 dbdee8ac3e3fcdda1fa55b90c0a235125b7f8e6f 6.2.3
a3356ab610fc50000cf0ba55c424a4d96da11db7 6.3rc0 a3356ab610fc50000cf0ba55c424a4d96da11db7 6.3rc0
04f1dba53c961dfdb875c8469adc96fa999cfbed 6.3.0 04f1dba53c961dfdb875c8469adc96fa999cfbed 6.3.0
04f1dba53c961dfdb875c8469adc96fa999cfbed 6.3
04f1dba53c961dfdb875c8469adc96fa999cfbed 6.3.0
0000000000000000000000000000000000000000 6.3.0
c890d8b8bc59b18e5febf60caada629df5356ee2 6.3.1
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# This file is autogenerated by pip-compile with python 3.7 # This file is autogenerated by pip-compile with python 3.7
# To update, run: # To update, run:
# #
# pip-compile --generate-hashes --output-file=contrib/packaging/requirements-windows-py3.txt contrib/packaging/requirements-windows.txt.in # pip-compile --generate-hashes --no-reuse-hashes --output-file=contrib/packaging/requirements-windows-py3.txt contrib/packaging/requirements-windows.txt.in
# #
atomicwrites==1.4.0 \ atomicwrites==1.4.0 \
--hash=sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197 \ --hash=sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197 \
...@@ -110,7 +110,8 @@ ...@@ -110,7 +110,8 @@
--hash=sha256:f9552ac246bceab1c5cdd1ec3cfe9446fe76b9853eaf59d3244df03eb27fd3fe --hash=sha256:f9552ac246bceab1c5cdd1ec3cfe9446fe76b9853eaf59d3244df03eb27fd3fe
# via -r contrib/packaging/requirements-windows.txt.in # via -r contrib/packaging/requirements-windows.txt.in
fuzzywuzzy==0.18.0 \ fuzzywuzzy==0.18.0 \
--hash=sha256:45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8 --hash=sha256:45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8 \
--hash=sha256:928244b28db720d1e0ee7587acf660ea49d7e4c632569cad4f1cd7e68a5f0993
# via -r contrib/packaging/requirements-windows.txt.in # via -r contrib/packaging/requirements-windows.txt.in
idna==3.2 \ idna==3.2 \
--hash=sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a \ --hash=sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a \
...@@ -222,7 +223,8 @@ ...@@ -222,7 +223,8 @@
--hash=sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890 --hash=sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890
# via pytest-vcr # via pytest-vcr
pytest-vcr==1.0.2 \ pytest-vcr==1.0.2 \
--hash=sha256:23ee51b75abbcc43d926272773aae4f39f93aceb75ed56852d0bf618f92e1896 --hash=sha256:23ee51b75abbcc43d926272773aae4f39f93aceb75ed56852d0bf618f92e1896 \
--hash=sha256:2f316e0539399bea0296e8b8401145c62b6f85e9066af7e57b6151481b0d6d9c
# via -r contrib/packaging/requirements-windows.txt.in # via -r contrib/packaging/requirements-windows.txt.in
pywin32-ctypes==0.2.0 \ pywin32-ctypes==0.2.0 \
--hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \ --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \
......
# Declare Windows-specific requirements for generating
# the compiled (frozen) set of requirements in
# ./requirements-windows-py3.txt.
# If run on Windows, it may be necessary to run dos2unix
# on the output file to replace any CRLF newlines with LF.
docutils docutils
dulwich dulwich
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# This file is autogenerated by pip-compile with python 3.7 # This file is autogenerated by pip-compile with python 3.7
# To update, run: # To update, run:
# #
# pip-compile --generate-hashes --output-file=contrib/packaging/requirements.txt contrib/packaging/requirements.txt.in # pip-compile --generate-hashes --no-reuse-hashes --output-file=contrib/packaging/requirements.txt contrib/packaging/requirements.txt.in
# #
docutils==0.16 \ docutils==0.16 \
--hash=sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af \ --hash=sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af \
...@@ -18,5 +18,7 @@ ...@@ -18,5 +18,7 @@
--hash=sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235 \ --hash=sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235 \
--hash=sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5 \ --hash=sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5 \
--hash=sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42 \ --hash=sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42 \
--hash=sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f \
--hash=sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39 \
--hash=sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff \ --hash=sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff \
--hash=sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b \ --hash=sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b \
...@@ -21,5 +23,7 @@ ...@@ -21,5 +23,7 @@
--hash=sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff \ --hash=sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff \
--hash=sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b \ --hash=sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b \
--hash=sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014 \
--hash=sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f \
--hash=sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1 \ --hash=sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1 \
--hash=sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e \ --hash=sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e \
--hash=sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183 \ --hash=sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183 \
...@@ -28,6 +32,8 @@ ...@@ -28,6 +32,8 @@
--hash=sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1 \ --hash=sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1 \
--hash=sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15 \ --hash=sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15 \
--hash=sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1 \ --hash=sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1 \
--hash=sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85 \
--hash=sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1 \
--hash=sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e \ --hash=sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e \
--hash=sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b \ --hash=sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b \
--hash=sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905 \ --hash=sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905 \
...@@ -31,5 +37,7 @@ ...@@ -31,5 +37,7 @@
--hash=sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e \ --hash=sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e \
--hash=sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b \ --hash=sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b \
--hash=sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905 \ --hash=sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905 \
--hash=sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850 \
--hash=sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0 \
--hash=sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735 \ --hash=sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735 \
--hash=sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d \ --hash=sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d \
...@@ -34,5 +42,6 @@ ...@@ -34,5 +42,6 @@
--hash=sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735 \ --hash=sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735 \
--hash=sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d \ --hash=sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d \
--hash=sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb \
--hash=sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e \ --hash=sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e \
--hash=sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d \ --hash=sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d \
--hash=sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c \ --hash=sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c \
...@@ -36,6 +45,8 @@ ...@@ -36,6 +45,8 @@
--hash=sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e \ --hash=sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e \
--hash=sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d \ --hash=sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d \
--hash=sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c \ --hash=sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c \
--hash=sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1 \
--hash=sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2 \
--hash=sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21 \ --hash=sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21 \
--hash=sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2 \ --hash=sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2 \
--hash=sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5 \ --hash=sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5 \
...@@ -39,4 +50,5 @@ ...@@ -39,4 +50,5 @@
--hash=sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21 \ --hash=sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21 \
--hash=sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2 \ --hash=sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2 \
--hash=sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5 \ --hash=sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5 \
--hash=sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7 \
--hash=sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b \ --hash=sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b \
...@@ -42,2 +54,3 @@ ...@@ -42,2 +54,3 @@
--hash=sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b \ --hash=sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b \
--hash=sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8 \
--hash=sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6 \ --hash=sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6 \
...@@ -43,2 +56,3 @@ ...@@ -43,2 +56,3 @@
--hash=sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6 \ --hash=sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6 \
--hash=sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193 \
--hash=sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f \ --hash=sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f \
...@@ -44,3 +58,4 @@ ...@@ -44,3 +58,4 @@
--hash=sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f \ --hash=sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f \
--hash=sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b \
--hash=sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f \ --hash=sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f \
--hash=sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2 \ --hash=sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2 \
...@@ -45,3 +60,6 @@ ...@@ -45,3 +60,6 @@
--hash=sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f \ --hash=sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f \
--hash=sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2 \ --hash=sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2 \
--hash=sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5 \
--hash=sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c \
--hash=sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032 \
--hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \ --hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \
...@@ -47,3 +65,4 @@ ...@@ -47,3 +65,4 @@
--hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \ --hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \
--hash=sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be --hash=sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be \
--hash=sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621
# via jinja2 # via jinja2
# Declare requirements for generating the compiled (frozen)
# set of requirements in ./requirements.txt.
docutils docutils
jinja2 jinja2
...@@ -2114,7 +2114,9 @@ ...@@ -2114,7 +2114,9 @@
if repo[b'.'].closesbranch(): if repo[b'.'].closesbranch():
# Not ideal, but let us do an extra status early to prevent early # Not ideal, but let us do an extra status early to prevent early
# bail out. # bail out.
matcher = scmutil.match(repo[None], pats, opts) matcher = scmutil.match(
repo[None], pats, pycompat.byteskwargs(opts)
)
s = repo.status(match=matcher) s = repo.status(match=matcher)
if s.modified or s.added or s.removed: if s.modified or s.added or s.removed:
bheads = repo.branchheads(branch, closed=True) bheads = repo.branchheads(branch, closed=True)
......
...@@ -612,8 +612,6 @@ ...@@ -612,8 +612,6 @@
if append: if append:
docket = self.docket docket = self.docket
data_filename = docket.data_filename() data_filename = docket.data_filename()
if tr:
tr.add(data_filename, docket.data_size)
with self._opener(data_filename, b'r+b') as fp: with self._opener(data_filename, b'r+b') as fp:
fp.seek(docket.data_size) fp.seek(docket.data_size)
assert fp.tell() == docket.data_size assert fp.tell() == docket.data_size
......
...@@ -817,12 +817,17 @@ ...@@ -817,12 +817,17 @@
# There may be the case that a path doesn't exist in some (but # There may be the case that a path doesn't exist in some (but
# not all) of the specified start revisions, but let's consider # not all) of the specified start revisions, but let's consider
# the path is valid. Missing files will be warned by the matcher. # the path is valid. Missing files will be warned by the matcher.
startctxs = [repo[r] for r in revs] all_files = list(match.files())
for f in match.files(): missing_files = set(all_files)
found = False files = all_files
for c in startctxs: for r in revs:
if f in c: if not files:
found = True # We don't have any file to check anymore.
elif c.hasdir(f): break
ctx = repo[r]
for f in files:
if f in ctx:
missing_files.discard(f)
elif ctx.hasdir(f):
# If a directory exists in any of the start revisions, # If a directory exists in any of the start revisions,
# take the slow path. # take the slow path.
...@@ -827,7 +832,11 @@ ...@@ -827,7 +832,11 @@
# If a directory exists in any of the start revisions, # If a directory exists in any of the start revisions,
# take the slow path. # take the slow path.
found = slowpath = True missing_files.discard(f)
if not found: slowpath = True
# we found on slow path, no need to search for more.
files = missing_files
for f in all_files:
if f in missing_files:
raise error.StateError( raise error.StateError(
_( _(
b'cannot follow file not in any of the specified ' b'cannot follow file not in any of the specified '
......
...@@ -1323,6 +1323,9 @@ ...@@ -1323,6 +1323,9 @@
return res return res
FLAG_RE = util.re.compile(b'^\(\?([aiLmsux]+)\)(.*)')
def _regex(kind, pat, globsuffix): def _regex(kind, pat, globsuffix):
"""Convert a (normalized) pattern of any kind into a """Convert a (normalized) pattern of any kind into a
regular expression. regular expression.
...@@ -1351,9 +1354,15 @@ ...@@ -1351,9 +1354,15 @@
return b'.*' + globre[len(b'[^/]*') :] + globsuffix return b'.*' + globre[len(b'[^/]*') :] + globsuffix
return b'(?:|.*/)' + globre + globsuffix return b'(?:|.*/)' + globre + globsuffix
if kind == b'relre': if kind == b'relre':
if pat.startswith(b'^'): flag = None
return pat m = FLAG_RE.match(pat)
return b'.*' + pat if m:
flag, pat = m.groups()
if not pat.startswith(b'^'):
pat = b'.*' + pat
if flag is not None:
pat = br'(?%s:%s)' % (flag, pat)
return pat
if kind in (b'glob', b'rootglob'): if kind in (b'glob', b'rootglob'):
return _globre(pat) + globsuffix return _globre(pat) + globsuffix
raise error.ProgrammingError(b'not a regex pattern: %s:%s' % (kind, pat)) raise error.ProgrammingError(b'not a regex pattern: %s:%s' % (kind, pat))
......
= Mercurial 6.3.1 =
* memory-usage: fix `hg log --follow --rev R F` space complexity (dcb2581e33be)
* Improve portability and robustness of test harness
* hg-core: relax dependencies pinning
* matcher: fix issues regex flag contained in pattern (issue6759)
* matcher: do not prepend '.*' to pattern using ^ after flags
* packaging: refresh dependency hashes (issue6750)
* cffi: fix a bytes vs str issue on macOS when listing directories
* commit: properly consider file include and exclude options when closing branch
* dirstate-v2: do not put the dirstate data file in a transaction
= Mercurial 6.3 = = Mercurial 6.3 =
== New Features == == New Features ==
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
format-bytes = "0.3.0" format-bytes = "0.3.0"
# once_cell 1.15 uses edition 2021, while the heptapod CI # once_cell 1.15 uses edition 2021, while the heptapod CI
# uses an old version of Cargo that doesn't support it. # uses an old version of Cargo that doesn't support it.
once_cell = "=1.14.0" once_cell = "1.14.0"
# We don't use the `miniz-oxide` backend to not change rhg benchmarks and until # We don't use the `miniz-oxide` backend to not change rhg benchmarks and until
# we have a clearer view of which backend is the fastest. # we have a clearer view of which backend is the fastest.
......
...@@ -171,6 +171,10 @@ ...@@ -171,6 +171,10 @@
} }
} }
lazy_static! {
static ref FLAG_RE: Regex = Regex::new(r"^\(\?[aiLmsux]+\)").unwrap();
}
/// Builds the regex that corresponds to the given pattern. /// Builds the regex that corresponds to the given pattern.
/// If within a `syntax: regexp` context, returns the pattern, /// If within a `syntax: regexp` context, returns the pattern,
/// otherwise, returns the corresponding regex. /// otherwise, returns the corresponding regex.
...@@ -193,7 +197,29 @@ ...@@ -193,7 +197,29 @@
{ {
return pattern.to_owned(); return pattern.to_owned();
} }
[&b".*"[..], pattern].concat() match FLAG_RE.find(pattern) {
Some(mat) => {
let s = mat.start();
let e = mat.end();
[
&b"(?"[..],
&pattern[s + 2..e - 1],
&b":"[..],
if pattern[e] == b'^'
|| pattern[e] == b'*'
|| pattern[e..].starts_with(b".*")
{
&b""[..]
} else {
&b".*"[..]
},
&pattern[e..],
&b")"[..],
]
.concat()
}
None => [&b".*"[..], pattern].concat(),
}
} }
PatternSyntax::Path | PatternSyntax::RelPath => { PatternSyntax::Path | PatternSyntax::RelPath => {
if pattern == b"." { if pattern == b"." {
...@@ -703,4 +729,44 @@ ...@@ -703,4 +729,44 @@
Some(br"[^/]*\.o(?:/|$)".to_vec()), Some(br"[^/]*\.o(?:/|$)".to_vec()),
); );
} }
#[test]
fn test_build_single_relregex() {
assert_eq!(
build_single_regex(&IgnorePattern::new(
PatternSyntax::RelRegexp,
b"^ba{2}r",
Path::new("")
))
.unwrap(),
Some(b"^ba{2}r".to_vec()),
);
assert_eq!(
build_single_regex(&IgnorePattern::new(
PatternSyntax::RelRegexp,
b"ba{2}r",
Path::new("")
))
.unwrap(),
Some(b".*ba{2}r".to_vec()),
);
assert_eq!(
build_single_regex(&IgnorePattern::new(
PatternSyntax::RelRegexp,
b"(?ia)ba{2}r",
Path::new("")
))
.unwrap(),
Some(b"(?ia:.*ba{2}r)".to_vec()),
);
assert_eq!(
build_single_regex(&IgnorePattern::new(
PatternSyntax::RelRegexp,
b"(?ia)^ba{2}r",
Path::new("")
))
.unwrap(),
Some(b"(?ia:^ba{2}r)".to_vec()),
);
}
} }
...@@ -1077,8 +1077,8 @@ ...@@ -1077,8 +1077,8 @@
@check('dirstate-v2', 'using the v2 format of .hg/dirstate') @check('dirstate-v2', 'using the v2 format of .hg/dirstate')
def has_dirstate_v2(): def has_dirstate_v2():
# Keep this logic in sync with `newreporequirements()` in `mercurial/localrepo.py` # Keep this logic in sync with `newreporequirements()` in `mercurial/localrepo.py`
return has_rust() and matchoutput( return matchoutput(
'hg config format.exp-rc-dirstate-v2', b'(?i)1|yes|true|on|always' 'hg config format.use-dirstate-v2', b'(?i)1|yes|true|on|always'
) )
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
with periods, etc. So much of this test fails with it. with periods, etc. So much of this test fails with it.
#require no-reposimplestore #require no-reposimplestore
$ hg init $ hg init repo
$ cd repo
audit of .hg audit of .hg
......
$ hg init $ hg init repo
$ cd repo
$ echo This is file a1 > a $ echo This is file a1 > a
$ hg add a $ hg add a
$ hg commit -m "commit #0" $ hg commit -m "commit #0"
......
$ hg init $ hg init repo
$ cd repo
committing changes committing changes
...@@ -460,7 +460,7 @@ ...@@ -460,7 +460,7 @@
test bisecting command test bisecting command
$ cat > script.py <<EOF $ cat > "$TESTTMP/script.py" <<EOF
> #!$PYTHON > #!$PYTHON
> import sys > import sys
> from mercurial import hg, ui as uimod > from mercurial import hg, ui as uimod
...@@ -468,7 +468,7 @@ ...@@ -468,7 +468,7 @@
> if repo[b'.'].rev() < 6: > if repo[b'.'].rev() < 6:
> sys.exit(1) > sys.exit(1)
> EOF > EOF
$ chmod +x script.py $ chmod +x "$TESTTMP/script.py"
$ hg bisect -r $ hg bisect -r
$ hg up -qr tip $ hg up -qr tip
$ hg bisect --command "\"$PYTHON\" \"$TESTTMP/script.py\" and some parameters" $ hg bisect --command "\"$PYTHON\" \"$TESTTMP/script.py\" and some parameters"
...@@ -497,7 +497,7 @@ ...@@ -497,7 +497,7 @@
$ hg update null $ hg update null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ cat > script.sh <<'EOF' $ cat > "$TESTTMP/script.sh" <<'EOF'
> #!/bin/sh > #!/bin/sh
> test -n "$HG_NODE" || (echo HG_NODE missing; exit 127) > test -n "$HG_NODE" || (echo HG_NODE missing; exit 127)
> current="`hg log -r \"bisect(current)\" --template {node}`" > current="`hg log -r \"bisect(current)\" --template {node}`"
...@@ -505,7 +505,7 @@ ...@@ -505,7 +505,7 @@
> rev="`hg log -r $HG_NODE --template {rev}`" > rev="`hg log -r $HG_NODE --template {rev}`"
> test "$rev" -ge 6 > test "$rev" -ge 6
> EOF > EOF
$ chmod +x script.sh $ chmod +x "$TESTTMP/script.sh"
$ hg bisect -r $ hg bisect -r
$ hg bisect --good tip --noupdate $ hg bisect --good tip --noupdate
$ hg bisect --bad 0 --noupdate $ hg bisect --bad 0 --noupdate
...@@ -530,7 +530,7 @@ ...@@ -530,7 +530,7 @@
test the same case, this time with updating test the same case, this time with updating
$ cat > script.sh <<'EOF' $ cat > "$TESTTMP/script.sh" <<'EOF'
> #!/bin/sh > #!/bin/sh
> test -n "$HG_NODE" || (echo HG_NODE missing; exit 127) > test -n "$HG_NODE" || (echo HG_NODE missing; exit 127)
> current="`hg log -r \"bisect(current)\" --template {node}`" > current="`hg log -r \"bisect(current)\" --template {node}`"
...@@ -538,7 +538,7 @@ ...@@ -538,7 +538,7 @@
> rev="`hg log -r . --template {rev}`" > rev="`hg log -r . --template {rev}`"
> test "$rev" -ge 6 > test "$rev" -ge 6
> EOF > EOF
$ chmod +x script.sh $ chmod +x "$TESTTMP/script.sh"
$ hg bisect -r $ hg bisect -r
$ hg up -qr tip $ hg up -qr tip
$ hg bisect --command "sh \"$TESTTMP/script.sh\" and some params" $ hg bisect --command "sh \"$TESTTMP/script.sh\" and some params"
......
$ hg init $ hg init repo
$ cd repo
no bookmarks no bookmarks
......
# init # init
$ hg init $ hg init repo
$ cd repo
$ echo a > a $ echo a > a
$ hg add a $ hg add a
$ hg commit -m'a' $ hg commit -m'a'
......
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
initialize repository initialize repository
$ hg init $ hg init repo
$ cd repo
$ echo 'a' > a $ echo 'a' > a
$ hg ci -A -m "0" $ hg ci -A -m "0"
...@@ -38,7 +39,7 @@ ...@@ -38,7 +39,7 @@
$ hg rebase -s two -d one $ hg rebase -s two -d one
rebasing 3:2ae46b1d99a7 two tip "3" rebasing 3:2ae46b1d99a7 two tip "3"
saved backup bundle to $TESTTMP/.hg/strip-backup/2ae46b1d99a7-e6b057bc-rebase.hg saved backup bundle to $TESTTMP/repo/.hg/strip-backup/2ae46b1d99a7-e6b057bc-rebase.hg
$ hg log $ hg log
changeset: 3:42e5ed2cdcf4 changeset: 3:42e5ed2cdcf4
......