Show More
@@ -176,3 +176,4 b' 1c8c54cf97256f4468da2eb4dbee24f7f3888e71' | |||||
176 | 197f092b2cd9691e2a55d198f717b231af9be6f9 0 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 |
@@ -189,3 +189,4 b' 1c8c54cf97256f4468da2eb4dbee24f7f3888e71' | |||||
189 | 197f092b2cd9691e2a55d198f717b231af9be6f9 4.8.2 |
|
189 | 197f092b2cd9691e2a55d198f717b231af9be6f9 4.8.2 | |
190 | 593718ff5844cad7a27ee3eb5adad89ac8550949 4.9rc0 |
|
190 | 593718ff5844cad7a27ee3eb5adad89ac8550949 4.9rc0 | |
191 | 83377b4b4ae0e9a6b8e579f7b0a693b8cf5c3b10 4.9 |
|
191 | 83377b4b4ae0e9a6b8e579f7b0a693b8cf5c3b10 4.9 | |
|
192 | 4ea21df312ec7159c5b3633096b6ecf68750b0dd 4.9.1 |
@@ -7,6 +7,7 b'' | |||||
7 |
|
7 | |||
8 | from __future__ import absolute_import |
|
8 | from __future__ import absolute_import | |
9 |
|
9 | |||
|
10 | import copy as copymod | |||
10 | import errno |
|
11 | import errno | |
11 | import os |
|
12 | import os | |
12 | import re |
|
13 | import re | |
@@ -270,6 +271,28 b' def dorecord(ui, repo, commitfunc, cmdsu' | |||||
270 | raise error.Abort(_('cannot partially commit a merge ' |
|
271 | raise error.Abort(_('cannot partially commit a merge ' | |
271 | '(use "hg commit" instead)')) |
|
272 | '(use "hg commit" instead)')) | |
272 |
|
273 | |||
|
274 | status = repo.status(match=match) | |||
|
275 | ||||
|
276 | overrides = {(b'ui', b'commitsubrepos'): True} | |||
|
277 | ||||
|
278 | with repo.ui.configoverride(overrides, b'record'): | |||
|
279 | # subrepoutil.precommit() modifies the status | |||
|
280 | tmpstatus = scmutil.status(copymod.copy(status[0]), | |||
|
281 | copymod.copy(status[1]), | |||
|
282 | copymod.copy(status[2]), | |||
|
283 | copymod.copy(status[3]), | |||
|
284 | copymod.copy(status[4]), | |||
|
285 | copymod.copy(status[5]), | |||
|
286 | copymod.copy(status[6])) | |||
|
287 | ||||
|
288 | # Force allows -X subrepo to skip the subrepo. | |||
|
289 | subs, commitsubs, newstate = subrepoutil.precommit( | |||
|
290 | repo.ui, wctx, tmpstatus, match, force=True) | |||
|
291 | for s in subs: | |||
|
292 | if s in commitsubs: | |||
|
293 | dirtyreason = wctx.sub(s).dirtyreason(True) | |||
|
294 | raise error.Abort(dirtyreason) | |||
|
295 | ||||
273 | def fail(f, msg): |
|
296 | def fail(f, msg): | |
274 | raise error.Abort('%s: %s' % (f, msg)) |
|
297 | raise error.Abort('%s: %s' % (f, msg)) | |
275 |
|
298 | |||
@@ -279,7 +302,6 b' def dorecord(ui, repo, commitfunc, cmdsu' | |||||
279 | match.explicitdir = vdirs.append |
|
302 | match.explicitdir = vdirs.append | |
280 | match.bad = fail |
|
303 | match.bad = fail | |
281 |
|
304 | |||
282 | status = repo.status(match=match) |
|
|||
283 | if not force: |
|
305 | if not force: | |
284 | repo.checkcommitpatterns(wctx, vdirs, match, status, fail) |
|
306 | repo.checkcommitpatterns(wctx, vdirs, match, status, fail) | |
285 | diffopts = patch.difffeatureopts(ui, opts=opts, whitespace=True, |
|
307 | diffopts = patch.difffeatureopts(ui, opts=opts, whitespace=True, |
@@ -121,9 +121,22 b' add new commit to be amended' | |||||
121 | $ echo a >> a |
|
121 | $ echo a >> a | |
122 | $ hg ci -m3 |
|
122 | $ hg ci -m3 | |
123 |
|
123 | |||
|
124 | $ echo 't = t' > .hgsub | |||
|
125 | ||||
|
126 | --interactive won't silently ignore dirty subrepos | |||
|
127 | ||||
|
128 | $ echo modified > t/b | |||
|
129 | $ hg amend --interactive --config ui.interactive=True | |||
|
130 | abort: uncommitted changes in subrepository "t" | |||
|
131 | [255] | |||
|
132 | $ hg amend --interactive --config ui.interactive=True --config ui.commitsubrepos=True | |||
|
133 | abort: uncommitted changes in subrepository "t" | |||
|
134 | [255] | |||
|
135 | ||||
|
136 | $ hg -R t revert -q --all --no-backup | |||
|
137 | ||||
124 | amend with one subrepo dropped |
|
138 | amend with one subrepo dropped | |
125 |
|
139 | |||
126 | $ echo 't = t' > .hgsub |
|
|||
127 | $ hg amend |
|
140 | $ hg amend | |
128 | saved backup bundle to * (glob) (obsstore-off !) |
|
141 | saved backup bundle to * (glob) (obsstore-off !) | |
129 | $ hg status --change . |
|
142 | $ hg status --change . |
@@ -2,6 +2,12 b'' | |||||
2 |
|
2 | |||
3 | Proper https client requires the built-in ssl from Python 2.6. |
|
3 | Proper https client requires the built-in ssl from Python 2.6. | |
4 |
|
4 | |||
|
5 | Disable the system configuration which may set stricter TLS requirements. | |||
|
6 | This test expects that legacy TLS versions are supported. | |||
|
7 | ||||
|
8 | $ OPENSSL_CONF= | |||
|
9 | $ export OPENSSL_CONF | |||
|
10 | ||||
5 | Make server certificates: |
|
11 | Make server certificates: | |
6 |
|
12 | |||
7 | $ CERTSDIR="$TESTDIR/sslcerts" |
|
13 | $ CERTSDIR="$TESTDIR/sslcerts" | |
@@ -633,7 +639,7 b' without client certificate:' | |||||
633 |
|
639 | |||
634 | $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ |
|
640 | $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ | |
635 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) |
|
641 | warning: connecting to localhost using legacy security technology (TLS 1.0); see https://mercurial-scm.org/wiki/SecureConnections for more info (?) | |
636 |
abort: error: *handshake failure |
|
642 | abort: error: .*(\$ECONNRESET\$|certificate required|handshake failure).* (re) | |
637 | [255] |
|
643 | [255] | |
638 |
|
644 | |||
639 | with client certificate: |
|
645 | with client certificate: |
@@ -295,16 +295,6 b' handle subrepos safely on qrecord' | |||||
295 | A .hgsub |
|
295 | A .hgsub | |
296 | A sub/a |
|
296 | A sub/a | |
297 | % qrecord --config ui.interactive=1 -m0 0.diff |
|
297 | % qrecord --config ui.interactive=1 -m0 0.diff | |
298 | diff --git a/.hgsub b/.hgsub |
|
|||
299 | new file mode 100644 |
|
|||
300 | examine changes to '.hgsub'? [Ynesfdaq?] y |
|
|||
301 |
|
||||
302 | @@ -0,0 +1,1 @@ |
|
|||
303 | +sub = sub |
|
|||
304 | record this change to '.hgsub'? [Ynesfdaq?] y |
|
|||
305 |
|
||||
306 | warning: subrepo spec file '.hgsub' not found |
|
|||
307 | warning: subrepo spec file '.hgsub' not found |
|
|||
308 | abort: uncommitted changes in subrepository "sub" |
|
298 | abort: uncommitted changes in subrepository "sub" | |
309 | [255] |
|
299 | [255] | |
310 | % update substate when adding .hgsub w/clean updated subrepo |
|
300 | % update substate when adding .hgsub w/clean updated subrepo | |
@@ -333,15 +323,6 b' handle subrepos safely on qrecord' | |||||
333 | M .hgsub |
|
323 | M .hgsub | |
334 | A sub2/a |
|
324 | A sub2/a | |
335 | % qrecord --config ui.interactive=1 -m1 1.diff |
|
325 | % qrecord --config ui.interactive=1 -m1 1.diff | |
336 | diff --git a/.hgsub b/.hgsub |
|
|||
337 | 1 hunks, 1 lines changed |
|
|||
338 | examine changes to '.hgsub'? [Ynesfdaq?] y |
|
|||
339 |
|
||||
340 | @@ -1,1 +1,2 @@ |
|
|||
341 | sub = sub |
|
|||
342 | +sub2 = sub2 |
|
|||
343 | record this change to '.hgsub'? [Ynesfdaq?] y |
|
|||
344 |
|
||||
345 | abort: uncommitted changes in subrepository "sub2" |
|
326 | abort: uncommitted changes in subrepository "sub2" | |
346 | [255] |
|
327 | [255] | |
347 | % update substate when modifying .hgsub w/clean updated subrepo |
|
328 | % update substate when modifying .hgsub w/clean updated subrepo |
General Comments 0
You need to be logged in to leave comments.
Login now