##// END OF EJS Templates
merge with stable
Martin von Zweigbergk -
r32245:3a755652 merge default
parent child Browse files
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" KeyPath="yes" />
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 -t "{author|email}"
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.fingerprints=%s)\n') % (
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, 40)]))
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.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)
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.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)
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.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)
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.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)
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.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)
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