Show More
@@ -40,7 +40,7 b'' | |||||
40 | <Directory Id="help.internaldir" Name="internals"> |
|
40 | <Directory Id="help.internaldir" Name="internals"> | |
41 | <Component Id="help.internals" Guid="$(var.help.internals.guid)" Win64='$(var.IsX64)'> |
|
41 | <Component Id="help.internals" Guid="$(var.help.internals.guid)" Win64='$(var.IsX64)'> | |
42 | <File Id="internals.bundles.txt" Name="bundles.txt" KeyPath="yes" /> |
|
42 | <File Id="internals.bundles.txt" Name="bundles.txt" KeyPath="yes" /> | |
43 |
<File Id="internals.censor.txt" Name="censor.txt" |
|
43 | <File Id="internals.censor.txt" Name="censor.txt" /> | |
44 | <File Id="internals.changegroups.txt" Name="changegroups.txt" /> |
|
44 | <File Id="internals.changegroups.txt" Name="changegroups.txt" /> | |
45 | <File Id="internals.requirements.txt" Name="requirements.txt" /> |
|
45 | <File Id="internals.requirements.txt" Name="requirements.txt" /> | |
46 | <File Id="internals.revlogs.txt" Name="revlogs.txt" /> |
|
46 | <File Id="internals.revlogs.txt" Name="revlogs.txt" /> |
@@ -133,7 +133,7 b' def churn(ui, repo, *pats, **opts):' | |||||
133 | Examples:: |
|
133 | Examples:: | |
134 |
|
134 | |||
135 | # display count of changed lines for every committer |
|
135 | # display count of changed lines for every committer | |
136 |
hg churn - |
|
136 | hg churn -T "{author|email}" | |
137 |
|
137 | |||
138 | # display daily activity graph |
|
138 | # display daily activity graph | |
139 | hg churn -f "%H" -s -c |
|
139 | hg churn -f "%H" -s -c |
@@ -21,6 +21,7 b' from mercurial import (' | |||||
21 | cmdutil, |
|
21 | cmdutil, | |
22 | commands, |
|
22 | commands, | |
23 | copies, |
|
23 | copies, | |
|
24 | debugcommands, | |||
24 | exchange, |
|
25 | exchange, | |
25 | extensions, |
|
26 | extensions, | |
26 | filemerge, |
|
27 | filemerge, | |
@@ -39,6 +40,11 b' from . import (' | |||||
39 | ) |
|
40 | ) | |
40 |
|
41 | |||
41 | def uisetup(ui): |
|
42 | def uisetup(ui): | |
|
43 | # TODO: debugcommands should use a separate command table | |||
|
44 | # Side-effect of accessing is debugcommands module is guaranteed to be | |||
|
45 | # imported and commands.table is populated. | |||
|
46 | debugcommands.command | |||
|
47 | ||||
42 | # Disable auto-status for some commands which assume that all |
|
48 | # Disable auto-status for some commands which assume that all | |
43 | # files in the result are under Mercurial's control |
|
49 | # files in the result are under Mercurial's control | |
44 |
|
50 |
@@ -155,7 +155,8 b" funcs = '''os.path.join os.path.split os" | |||||
155 | # These functions are required to be called with local encoded string |
|
155 | # These functions are required to be called with local encoded string | |
156 | # because they expects argument is local encoded string and cause |
|
156 | # because they expects argument is local encoded string and cause | |
157 | # problem with unicode string. |
|
157 | # problem with unicode string. | |
158 |
rfuncs = '''mercurial.encoding.upper mercurial.encoding.lower |
|
158 | rfuncs = '''mercurial.encoding.upper mercurial.encoding.lower | |
|
159 | mercurial.pycompat.bytestr''' | |||
159 |
|
160 | |||
160 | # List of Windows specific functions to be wrapped. |
|
161 | # List of Windows specific functions to be wrapped. | |
161 | winfuncs = '''os.path.splitunc''' |
|
162 | winfuncs = '''os.path.splitunc''' |
@@ -2308,7 +2308,9 b' def _dograft(ui, repo, *revs, **opts):' | |||||
2308 | # check ancestors for earlier grafts |
|
2308 | # check ancestors for earlier grafts | |
2309 | ui.debug('scanning for duplicate grafts\n') |
|
2309 | ui.debug('scanning for duplicate grafts\n') | |
2310 |
|
2310 | |||
2311 | for rev in repo.changelog.findmissingrevs(revs, [crev]): |
|
2311 | # The only changesets we can be sure doesn't contain grafts of any | |
|
2312 | # revs, are the ones that are common ancestors of *all* revs: | |||
|
2313 | for rev in repo.revs('only(%d,ancestor(%ld))', crev, revs): | |||
2312 | ctx = repo[rev] |
|
2314 | ctx = repo[rev] | |
2313 | n = ctx.extra().get('source') |
|
2315 | n = ctx.extra().get('source') | |
2314 | if n in ids: |
|
2316 | if n in ids: |
@@ -70,7 +70,7 b' 6. If a program named ``hgmerge`` can be' | |||||
70 | 7. If the file to be merged is not binary and is not a symlink, then |
|
70 | 7. If the file to be merged is not binary and is not a symlink, then | |
71 | internal ``:merge`` is used. |
|
71 | internal ``:merge`` is used. | |
72 |
|
72 | |||
73 | 8. The merge of the file fails and must be resolved before commit. |
|
73 | 8. Otherwise, ``:prompt`` is used. | |
74 |
|
74 | |||
75 | .. note:: |
|
75 | .. note:: | |
76 |
|
76 |
@@ -825,7 +825,7 b' def validatesocket(sock):' | |||||
825 | 'remove the old one from [hostfingerprints] ' |
|
825 | 'remove the old one from [hostfingerprints] ' | |
826 | 'to upgrade to a more secure SHA-256 ' |
|
826 | 'to upgrade to a more secure SHA-256 ' | |
827 | 'fingerprint: ' |
|
827 | 'fingerprint: ' | |
828 |
'%s |
|
828 | '%s:fingerprints=%s)\n') % ( | |
829 | host, host, nicefingerprint)) |
|
829 | host, host, nicefingerprint)) | |
830 | return |
|
830 | return | |
831 |
|
831 |
@@ -247,7 +247,7 b' def gethgversion():' | |||||
247 | return (int(m.group(1)), int(m.group(2))) |
|
247 | return (int(m.group(1)), int(m.group(2))) | |
248 |
|
248 | |||
249 | @checkvers("hg", "Mercurial >= %s", |
|
249 | @checkvers("hg", "Mercurial >= %s", | |
250 |
list([(1.0 * x) / 10 for x in range(9, |
|
250 | list([(1.0 * x) / 10 for x in range(9, 99)])) | |
251 | def has_hg_range(v): |
|
251 | def has_hg_range(v): | |
252 | major, minor = v.split('.')[0:2] |
|
252 | major, minor = v.split('.')[0:2] | |
253 | return gethgversion() >= (int(major), int(minor)) |
|
253 | return gethgversion() >= (int(major), int(minor)) |
@@ -1307,4 +1307,48 b' Graft a change into a new file previousl' | |||||
1307 | $ hg status --change . |
|
1307 | $ hg status --change . | |
1308 | M b/x |
|
1308 | M b/x | |
1309 |
|
1309 | |||
|
1310 | Prepare for test of skipped changesets and how merges can influence it: | |||
|
1311 | ||||
|
1312 | $ hg merge -q -r 1 --tool :local | |||
|
1313 | $ hg ci -m m | |||
|
1314 | $ echo xx >> b/x | |||
|
1315 | $ hg ci -m xx | |||
|
1316 | ||||
|
1317 | $ hg log -G -T '{rev} {desc|firstline}' | |||
|
1318 | @ 7 xx | |||
|
1319 | | | |||
|
1320 | o 6 m | |||
|
1321 | |\ | |||
|
1322 | | o 5 y | |||
|
1323 | | | | |||
|
1324 | +---o 4 y | |||
|
1325 | | | | |||
|
1326 | | o 3 x | |||
|
1327 | | | | |||
|
1328 | | o 2 b | |||
|
1329 | | | | |||
|
1330 | o | 1 x | |||
|
1331 | |/ | |||
|
1332 | o 0 a | |||
|
1333 | ||||
|
1334 | Grafting of plain changes correctly detects that 3 and 5 should be skipped: | |||
|
1335 | ||||
|
1336 | $ hg up -qCr 4 | |||
|
1337 | $ hg graft --tool :local -r 2::5 | |||
|
1338 | skipping already grafted revision 3:ca093ca2f1d9 (was grafted from 1:13ec5badbf2a) | |||
|
1339 | skipping already grafted revision 5:43e9eb70dab0 (was grafted from 4:6c9a1289e5f1) | |||
|
1340 | grafting 2:42127f193bcd "b" | |||
|
1341 | ||||
|
1342 | Extending the graft range to include a (skipped) merge of 3 will not prevent us from | |||
|
1343 | also detecting that both 3 and 5 should be skipped: | |||
|
1344 | ||||
|
1345 | $ hg up -qCr 4 | |||
|
1346 | $ hg graft --tool :local -r 2::7 | |||
|
1347 | skipping ungraftable merge revision 6 | |||
|
1348 | skipping already grafted revision 3:ca093ca2f1d9 (was grafted from 1:13ec5badbf2a) | |||
|
1349 | skipping already grafted revision 5:43e9eb70dab0 (was grafted from 4:6c9a1289e5f1) | |||
|
1350 | grafting 2:42127f193bcd "b" | |||
|
1351 | grafting 7:d3c3f2b38ecc "xx" | |||
|
1352 | note: graft of 7:d3c3f2b38ecc created no changes to commit | |||
|
1353 | ||||
1310 | $ cd .. |
|
1354 | $ cd .. |
@@ -1831,7 +1831,7 b' Test dynamic list of merge tools only sh' | |||||
1831 | but it will by default not be used for symlinks and binary files. |
|
1831 | but it will by default not be used for symlinks and binary files. | |
1832 | 7. If the file to be merged is not binary and is not a symlink, then |
|
1832 | 7. If the file to be merged is not binary and is not a symlink, then | |
1833 | internal ":merge" is used. |
|
1833 | internal ":merge" is used. | |
1834 | 8. The merge of the file fails and must be resolved before commit. |
|
1834 | 8. Otherwise, ":prompt" is used. | |
1835 |
|
1835 | |||
1836 | Note: |
|
1836 | Note: | |
1837 | After selecting a merge program, Mercurial will by default attempt to |
|
1837 | After selecting a merge program, Mercurial will by default attempt to |
@@ -372,7 +372,7 b' Fingerprints' | |||||
372 | - works without cacerts (hostfingerprints) |
|
372 | - works without cacerts (hostfingerprints) | |
373 | $ hg -R copy-pull id https://localhost:$HGPORT/ --insecure --config hostfingerprints.localhost=ec:d8:7c:d6:b3:86:d0:4f:c1:b8:b4:1c:9d:8f:5e:16:8e:ef:1c:03 |
|
373 | $ hg -R copy-pull id https://localhost:$HGPORT/ --insecure --config hostfingerprints.localhost=ec:d8:7c:d6:b3:86:d0:4f:c1:b8:b4:1c:9d:8f:5e:16:8e:ef:1c:03 | |
374 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) |
|
374 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) | |
375 |
(SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost |
|
375 | (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e) | |
376 | 5fed3813f7f5 |
|
376 | 5fed3813f7f5 | |
377 |
|
377 | |||
378 | - works without cacerts (hostsecurity) |
|
378 | - works without cacerts (hostsecurity) | |
@@ -387,7 +387,7 b' Fingerprints' | |||||
387 | - multiple fingerprints specified and first matches |
|
387 | - multiple fingerprints specified and first matches | |
388 | $ hg --config 'hostfingerprints.localhost=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03, deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/ --insecure |
|
388 | $ hg --config 'hostfingerprints.localhost=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03, deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/ --insecure | |
389 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) |
|
389 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) | |
390 |
(SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost |
|
390 | (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e) | |
391 | 5fed3813f7f5 |
|
391 | 5fed3813f7f5 | |
392 |
|
392 | |||
393 | $ hg --config 'hostsecurity.localhost:fingerprints=sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03, sha1:deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/ |
|
393 | $ hg --config 'hostsecurity.localhost:fingerprints=sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03, sha1:deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/ | |
@@ -397,7 +397,7 b' Fingerprints' | |||||
397 | - multiple fingerprints specified and last matches |
|
397 | - multiple fingerprints specified and last matches | |
398 | $ hg --config 'hostfingerprints.localhost=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03' -R copy-pull id https://localhost:$HGPORT/ --insecure |
|
398 | $ hg --config 'hostfingerprints.localhost=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03' -R copy-pull id https://localhost:$HGPORT/ --insecure | |
399 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) |
|
399 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) | |
400 |
(SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost |
|
400 | (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e) | |
401 | 5fed3813f7f5 |
|
401 | 5fed3813f7f5 | |
402 |
|
402 | |||
403 | $ hg --config 'hostsecurity.localhost:fingerprints=sha1:deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03' -R copy-pull id https://localhost:$HGPORT/ |
|
403 | $ hg --config 'hostsecurity.localhost:fingerprints=sha1:deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03' -R copy-pull id https://localhost:$HGPORT/ | |
@@ -429,7 +429,7 b' Fingerprints' | |||||
429 | - ignores that certificate doesn't match hostname |
|
429 | - ignores that certificate doesn't match hostname | |
430 | $ hg -R copy-pull id https://$LOCALIP:$HGPORT/ --config hostfingerprints.$LOCALIP=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03 |
|
430 | $ hg -R copy-pull id https://$LOCALIP:$HGPORT/ --config hostfingerprints.$LOCALIP=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03 | |
431 | warning: connecting to $LOCALIP using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) |
|
431 | warning: connecting to $LOCALIP using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) | |
432 |
(SHA-1 fingerprint for $LOCALIP found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: $LOCALIP |
|
432 | (SHA-1 fingerprint for $LOCALIP found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: $LOCALIP:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e) | |
433 | 5fed3813f7f5 |
|
433 | 5fed3813f7f5 | |
434 |
|
434 | |||
435 | Ports used by next test. Kill servers. |
|
435 | Ports used by next test. Kill servers. | |
@@ -568,7 +568,7 b' Test https with cacert and fingerprint t' | |||||
568 | $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull https://localhost:$HGPORT/ --config hostfingerprints.localhost=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03 --trace |
|
568 | $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull https://localhost:$HGPORT/ --config hostfingerprints.localhost=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03 --trace | |
569 | pulling from https://*:$HGPORT/ (glob) |
|
569 | pulling from https://*:$HGPORT/ (glob) | |
570 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) |
|
570 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) | |
571 |
(SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost |
|
571 | (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, set the following config value in [hostsecurity] and remove the old one from [hostfingerprints] to upgrade to a more secure SHA-256 fingerprint: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e) | |
572 | searching for changes |
|
572 | searching for changes | |
573 | no changes found |
|
573 | no changes found | |
574 |
|
574 |
@@ -212,6 +212,25 b' Test display of largefiles in hgweb' | |||||
212 | $ killdaemons.py |
|
212 | $ killdaemons.py | |
213 | #endif |
|
213 | #endif | |
214 |
|
214 | |||
|
215 | Test largefiles can be loaded in hgweb (wrapcommand() shouldn't fail) | |||
|
216 | ||||
|
217 | $ cat <<EOF > "$TESTTMP/hgweb.cgi" | |||
|
218 | > #!/usr/bin/env python | |||
|
219 | > from mercurial import demandimport; demandimport.enable() | |||
|
220 | > from mercurial.hgweb import hgweb | |||
|
221 | > from mercurial.hgweb import wsgicgi | |||
|
222 | > application = hgweb('.', 'test repo') | |||
|
223 | > wsgicgi.launch(application) | |||
|
224 | > EOF | |||
|
225 | ||||
|
226 | $ PATH_INFO='/' \ | |||
|
227 | > QUERY_STRING='' \ | |||
|
228 | > REQUEST_METHOD='GET' \ | |||
|
229 | > SCRIPT_NAME='' \ | |||
|
230 | > SERVER_NAME='localhost' \ | |||
|
231 | > SERVER_PORT='80' \ | |||
|
232 | > python "$TESTTMP/hgweb.cgi" > /dev/null | |||
|
233 | ||||
215 | Test archiving the various revisions. These hit corner cases known with |
|
234 | Test archiving the various revisions. These hit corner cases known with | |
216 | archiving. |
|
235 | archiving. | |
217 |
|
236 |
General Comments 0
You need to be logged in to leave comments.
Login now