Show More
@@ -356,6 +356,22 b' def showrev(repo, ctx, templ, **args):' | |||||
356 | """:rev: Integer. The repository-local changeset revision number.""" |
|
356 | """:rev: Integer. The repository-local changeset revision number.""" | |
357 | return ctx.rev() |
|
357 | return ctx.rev() | |
358 |
|
358 | |||
|
359 | def showsubrepos(**args): | |||
|
360 | """:subrepos: List of strings. Updated subrepositories in the changeset.""" | |||
|
361 | ctx = args['ctx'] | |||
|
362 | substate = ctx.substate | |||
|
363 | if not substate: | |||
|
364 | return showlist('subrepo', [], **args) | |||
|
365 | psubstate = ctx.parents()[0].substate or {} | |||
|
366 | subrepos = [] | |||
|
367 | for sub in substate: | |||
|
368 | if sub not in psubstate or substate[sub] != psubstate[sub]: | |||
|
369 | subrepos.append(sub) # modified or newly added in ctx | |||
|
370 | for sub in psubstate: | |||
|
371 | if sub not in substate: | |||
|
372 | subrepos.append(sub) # removed in ctx | |||
|
373 | return showlist('subrepo', sorted(subrepos), **args) | |||
|
374 | ||||
359 | def showtags(**args): |
|
375 | def showtags(**args): | |
360 | """:tags: List of strings. Any tags associated with the changeset.""" |
|
376 | """:tags: List of strings. Any tags associated with the changeset.""" | |
361 | return showlist('tag', args['ctx'].tags(), **args) |
|
377 | return showlist('tag', args['ctx'].tags(), **args) | |
@@ -397,6 +413,7 b' keywords = {' | |||||
397 | 'phase': showphase, |
|
413 | 'phase': showphase, | |
398 | 'phaseidx': showphaseidx, |
|
414 | 'phaseidx': showphaseidx, | |
399 | 'rev': showrev, |
|
415 | 'rev': showrev, | |
|
416 | 'subrepos': showsubrepos, | |||
400 | 'tags': showtags, |
|
417 | 'tags': showtags, | |
401 | } |
|
418 | } | |
402 |
|
419 |
@@ -1360,6 +1360,92 b' Test that commit --secret works on both ' | |||||
1360 | 6: secret |
|
1360 | 6: secret | |
1361 | $ cd ../../ |
|
1361 | $ cd ../../ | |
1362 |
|
1362 | |||
|
1363 | Test "subrepos" template keyword | |||
|
1364 | ||||
|
1365 | $ cd t | |||
|
1366 | $ hg update -q 15 | |||
|
1367 | $ cat > .hgsub <<EOF | |||
|
1368 | > s = s | |||
|
1369 | > EOF | |||
|
1370 | $ hg commit -m "16" | |||
|
1371 | warning: changes are committed in secret phase from subrepository s | |||
|
1372 | ||||
|
1373 | (addition of ".hgsub" itself) | |||
|
1374 | ||||
|
1375 | $ hg diff --nodates -c 1 .hgsubstate | |||
|
1376 | diff -r f7b1eb17ad24 -r 7cf8cfea66e4 .hgsubstate | |||
|
1377 | --- /dev/null | |||
|
1378 | +++ b/.hgsubstate | |||
|
1379 | @@ -0,0 +1,1 @@ | |||
|
1380 | +e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s | |||
|
1381 | $ hg log -r 1 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}" | |||
|
1382 | f7b1eb17ad24 000000000000 | |||
|
1383 | s | |||
|
1384 | ||||
|
1385 | (modification of existing entry) | |||
|
1386 | ||||
|
1387 | $ hg diff --nodates -c 2 .hgsubstate | |||
|
1388 | diff -r 7cf8cfea66e4 -r df30734270ae .hgsubstate | |||
|
1389 | --- a/.hgsubstate | |||
|
1390 | +++ b/.hgsubstate | |||
|
1391 | @@ -1,1 +1,1 @@ | |||
|
1392 | -e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s | |||
|
1393 | +dc73e2e6d2675eb2e41e33c205f4bdab4ea5111d s | |||
|
1394 | $ hg log -r 2 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}" | |||
|
1395 | 7cf8cfea66e4 000000000000 | |||
|
1396 | s | |||
|
1397 | ||||
|
1398 | (addition of entry) | |||
|
1399 | ||||
|
1400 | $ hg diff --nodates -c 5 .hgsubstate | |||
|
1401 | diff -r 7cf8cfea66e4 -r 1f14a2e2d3ec .hgsubstate | |||
|
1402 | --- a/.hgsubstate | |||
|
1403 | +++ b/.hgsubstate | |||
|
1404 | @@ -1,1 +1,2 @@ | |||
|
1405 | e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s | |||
|
1406 | +60ca1237c19474e7a3978b0dc1ca4e6f36d51382 t | |||
|
1407 | $ hg log -r 5 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}" | |||
|
1408 | 7cf8cfea66e4 000000000000 | |||
|
1409 | t | |||
|
1410 | ||||
|
1411 | (removal of existing entry) | |||
|
1412 | ||||
|
1413 | $ hg diff --nodates -c 16 .hgsubstate | |||
|
1414 | diff -r 8bec38d2bd0b -r f2f70bc3d3c9 .hgsubstate | |||
|
1415 | --- a/.hgsubstate | |||
|
1416 | +++ b/.hgsubstate | |||
|
1417 | @@ -1,2 +1,1 @@ | |||
|
1418 | 0731af8ca9423976d3743119d0865097c07bdc1b s | |||
|
1419 | -e202dc79b04c88a636ea8913d9182a1346d9b3dc t | |||
|
1420 | $ hg log -r 16 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}" | |||
|
1421 | 8bec38d2bd0b 000000000000 | |||
|
1422 | t | |||
|
1423 | ||||
|
1424 | (merging) | |||
|
1425 | ||||
|
1426 | $ hg diff --nodates -c 9 .hgsubstate | |||
|
1427 | diff -r f6affe3fbfaa -r f0d2028bf86d .hgsubstate | |||
|
1428 | --- a/.hgsubstate | |||
|
1429 | +++ b/.hgsubstate | |||
|
1430 | @@ -1,1 +1,2 @@ | |||
|
1431 | fc627a69481fcbe5f1135069e8a3881c023e4cf5 s | |||
|
1432 | +60ca1237c19474e7a3978b0dc1ca4e6f36d51382 t | |||
|
1433 | $ hg log -r 9 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}" | |||
|
1434 | f6affe3fbfaa 1f14a2e2d3ec | |||
|
1435 | t | |||
|
1436 | ||||
|
1437 | (removal of ".hgsub" itself) | |||
|
1438 | ||||
|
1439 | $ hg diff --nodates -c 8 .hgsubstate | |||
|
1440 | diff -r f94576341bcf -r 96615c1dad2d .hgsubstate | |||
|
1441 | --- a/.hgsubstate | |||
|
1442 | +++ /dev/null | |||
|
1443 | @@ -1,2 +0,0 @@ | |||
|
1444 | -e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s | |||
|
1445 | -7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4 t | |||
|
1446 | $ hg log -r 8 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}" | |||
|
1447 | f94576341bcf 000000000000 | |||
|
1448 | ||||
1363 | Test that '[paths]' is configured correctly at subrepo creation |
|
1449 | Test that '[paths]' is configured correctly at subrepo creation | |
1364 |
|
1450 | |||
1365 | $ cd $TESTTMP/tc |
|
1451 | $ cd $TESTTMP/tc |
General Comments 0
You need to be logged in to leave comments.
Login now