1208 | [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*)] as [evolve.node|7a230b46bf61] (glob) |
1208 | [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*)] as [evolve.node|7a230b46bf61] (glob) |
1209 | |
1209 | |
1210 @ [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0] |
1210 @ [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0] |
1211 [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*)] as [evolve.node|fdf9bde5129a] (glob) |
1211 [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*)] as [evolve.node|fdf9bde5129a] (glob) |
1212 |
1212 |
1213 |
|
1214 Test with cycle |
|
1215 =============== |
|
1216 |
|
1217 Test setup |
|
1218 ---------- |
|
1219 |
|
1220 $ hg init $TESTTMP/cycle |
|
1221 $ cd $TESTTMP/cycle |
|
1222 $ mkcommit ROOT |
|
1223 $ mkcommit A |
|
1224 $ mkcommit B |
|
1225 $ mkcommit C |
|
1226 $ hg log -G |
|
1227 @ changeset: 3:a8df460dbbfe |
|
1228 | tag: tip |
|
1229 | user: test |
|
1230 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1231 | summary: C |
|
1232 | |
|
1233 o changeset: 2:c473644ee0e9 |
|
1234 | user: test |
|
1235 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1236 | summary: B |
|
1237 | |
|
1238 o changeset: 1:2a34000d3544 |
|
1239 | user: test |
|
1240 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1241 | summary: A |
|
1242 | |
|
1243 o changeset: 0:ea207398892e |
|
1244 user: test |
|
1245 date: Thu Jan 01 00:00:00 1970 +0000 |
|
1246 summary: ROOT |
|
1247 |
|
1248 Create a cycle |
|
1249 $ hg prune -s "desc(B)" "desc(A)" |
|
1250 1 changesets pruned |
|
1251 2 new unstable changesets |
|
1252 $ hg prune -s "desc(C)" "desc(B)" |
|
1253 1 changesets pruned |
|
1254 $ hg prune -s "desc(A)" "desc(C)" |
|
1255 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
1256 working directory now at 2a34000d3544 |
|
1257 1 changesets pruned |
|
1258 $ hg log --hidden -G |
|
1259 x changeset: 3:a8df460dbbfe |
|
1260 | tag: tip |
|
1261 | user: test |
|
1262 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1263 | summary: C |
|
1264 | |
|
1265 x changeset: 2:c473644ee0e9 |
|
1266 | user: test |
|
1267 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1268 | summary: B |
|
1269 | |
|
1270 @ changeset: 1:2a34000d3544 |
|
1271 | user: test |
|
1272 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1273 | summary: A |
|
1274 | |
|
1275 o changeset: 0:ea207398892e |
|
1276 user: test |
|
1277 date: Thu Jan 01 00:00:00 1970 +0000 |
|
1278 summary: ROOT |
|
1279 |
|
1280 Actual test |
|
1281 ----------- |
|
1282 |
|
1283 Check that debugobshistory never crash on a cycle |
|
1284 |
|
1285 $ hg obslog "desc(A)" --hidden |
|
1286 @ 2a34000d3544 (1) A |
|
1287 | rewritten by test (*) as c473644ee0e9 (glob) |
|
1288 | |
|
1289 x a8df460dbbfe (3) C |
|
1290 | rewritten by test (*) as 2a34000d3544 (glob) |
|
1291 | |
|
1292 x c473644ee0e9 (2) B |
|
1293 | rewritten by test (*) as a8df460dbbfe (glob) |
|
1294 | |
|
1295 |
|
1296 $ hg obslog "desc(B)" --hidden |
|
1297 @ 2a34000d3544 (1) A |
|
1298 | rewritten by test (*) as c473644ee0e9 (glob) |
|
1299 | |
|
1300 x a8df460dbbfe (3) C |
|
1301 | rewritten by test (*) as 2a34000d3544 (glob) |
|
1302 | |
|
1303 x c473644ee0e9 (2) B |
|
1304 | rewritten by test (*) as a8df460dbbfe (glob) |
|
1305 | |
|
1306 |
|
1307 $ hg obslog "desc(C)" --hidden |
|
1308 @ 2a34000d3544 (1) A |
|
1309 | rewritten by test (*) as c473644ee0e9 (glob) |
|
1310 | |
|
1311 x a8df460dbbfe (3) C |
|
1312 | rewritten by test (*) as 2a34000d3544 (glob) |
|
1313 | |
|
1314 x c473644ee0e9 (2) B |
|
1315 | rewritten by test (*) as a8df460dbbfe (glob) |
|
1316 | |
|
1317 |
|
1318 Test with multiple cyles |
|
1319 ======================== |
|
1320 |
|
1321 Test setup |
|
1322 ---------- |
|
1323 |
|
1324 $ hg init $TESTTMP/multiple-cycle |
|
1325 $ cd $TESTTMP/multiple-cycle |
|
1326 $ mkcommit ROOT |
|
1327 $ mkcommit A |
|
1328 $ mkcommit B |
|
1329 $ mkcommit C |
|
1330 $ mkcommit D |
|
1331 $ mkcommit E |
|
1332 $ mkcommit F |
|
1333 $ hg log -G |
|
1334 @ changeset: 6:d9f908fde1a1 |
|
1335 | tag: tip |
|
1336 | user: test |
|
1337 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1338 | summary: F |
|
1339 | |
|
1340 o changeset: 5:0da815c333f6 |
|
1341 | user: test |
|
1342 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1343 | summary: E |
|
1344 | |
|
1345 o changeset: 4:868d2e0eb19c |
|
1346 | user: test |
|
1347 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1348 | summary: D |
|
1349 | |
|
1350 o changeset: 3:a8df460dbbfe |
|
1351 | user: test |
|
1352 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1353 | summary: C |
|
1354 | |
|
1355 o changeset: 2:c473644ee0e9 |
|
1356 | user: test |
|
1357 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1358 | summary: B |
|
1359 | |
|
1360 o changeset: 1:2a34000d3544 |
|
1361 | user: test |
|
1362 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1363 | summary: A |
|
1364 | |
|
1365 o changeset: 0:ea207398892e |
|
1366 user: test |
|
1367 date: Thu Jan 01 00:00:00 1970 +0000 |
|
1368 summary: ROOT |
|
1369 |
|
1370 Create a first cycle |
|
1371 $ hg prune -s "desc(B)" "desc(A)" |
|
1372 1 changesets pruned |
|
1373 5 new unstable changesets |
|
1374 $ hg prune -s "desc(C)" "desc(B)" |
|
1375 1 changesets pruned |
|
1376 $ hg prune --split -s "desc(A)" -s "desc(D)" "desc(C)" |
|
1377 1 changesets pruned |
|
1378 And create a second one |
|
1379 $ hg prune -s "desc(E)" "desc(D)" |
|
1380 1 changesets pruned |
|
1381 $ hg prune -s "desc(F)" "desc(E)" |
|
1382 1 changesets pruned |
|
1383 $ hg prune -s "desc(D)" "desc(F)" |
|
1384 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
1385 working directory now at 868d2e0eb19c |
|
1386 1 changesets pruned |
|
1387 $ hg log --hidden -G |
|
1388 x changeset: 6:d9f908fde1a1 |
|
1389 | tag: tip |
|
1390 | user: test |
|
1391 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1392 | summary: F |
|
1393 | |
|
1394 x changeset: 5:0da815c333f6 |
|
1395 | user: test |
|
1396 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1397 | summary: E |
|
1398 | |
|
1399 @ changeset: 4:868d2e0eb19c |
|
1400 | user: test |
|
1401 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1402 | summary: D |
|
1403 | |
|
1404 x changeset: 3:a8df460dbbfe |
|
1405 | user: test |
|
1406 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1407 | summary: C |
|
1408 | |
|
1409 x changeset: 2:c473644ee0e9 |
|
1410 | user: test |
|
1411 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1412 | summary: B |
|
1413 | |
|
1414 x changeset: 1:2a34000d3544 |
|
1415 | user: test |
|
1416 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1417 | summary: A |
|
1418 | |
|
1419 o changeset: 0:ea207398892e |
|
1420 user: test |
|
1421 date: Thu Jan 01 00:00:00 1970 +0000 |
|
1422 summary: ROOT |
|
1423 |
|
1424 Actual test |
|
1425 ----------- |
|
1426 |
|
1427 Check that debugobshistory never crash on a cycle |
|
1428 |
|
1429 $ hg obslog "desc(D)" --hidden |
|
1430 x 0da815c333f6 (5) E |
|
1431 | rewritten by test (*) as d9f908fde1a1 (glob) |
|
1432 | |
|
1433 @ 868d2e0eb19c (4) D |
|
1434 |\ rewritten by test (*) as 0da815c333f6 (glob) |
|
1435 | | |
|
1436 | x d9f908fde1a1 (6) F |
|
1437 | | rewritten by test (*) as 868d2e0eb19c (glob) |
|
1438 | | |
|
1439 +---x 2a34000d3544 (1) A |
|
1440 | | rewritten by test (*) as c473644ee0e9 (glob) |
|
1441 | | |
|
1442 x | a8df460dbbfe (3) C |
|
1443 | | rewritten by test (*) as 2a34000d3544, 868d2e0eb19c (glob) |
|
1444 | | |
|
1445 x | c473644ee0e9 (2) B |
|
1446 | | rewritten by test (*) as a8df460dbbfe (glob) |
|
1447 | | |
|
1448 |
|
1449 Check the json output is valid in this case |
|
1450 |
|
1451 $ hg obslog "desc(D)" --hidden --no-graph -Tjson | python -m json.tool |
|
1452 [ |
|
1453 { |
|
1454 "debugobshistory.markers": [ |
|
1455 { |
|
1456 "debugobshistory.marker_date": [ |
|
1457 *, (glob) |
|
1458 0 |
|
1459 ], |
|
1460 "debugobshistory.marker_user": "test", |
|
1461 "debugobshistory.succnodes": [ |
|
1462 "0da815c333f6" |
|
1463 ], |
|
1464 "debugobshistory.verb": "rewritten" |
|
1465 } |
|
1466 ], |
|
1467 "debugobshistory.node": "868d2e0eb19c", |
|
1468 "debugobshistory.rev": 4, |
|
1469 "debugobshistory.shortdescription": "D" |
|
1470 }, |
|
1471 { |
|
1472 "debugobshistory.markers": [ |
|
1473 { |
|
1474 "debugobshistory.marker_date": [ |
|
1475 *, (glob) |
|
1476 0 |
|
1477 ], |
|
1478 "debugobshistory.marker_user": "test", |
|
1479 "debugobshistory.succnodes": [ |
|
1480 "868d2e0eb19c" |
|
1481 ], |
|
1482 "debugobshistory.verb": "rewritten" |
|
1483 } |
|
1484 ], |
|
1485 "debugobshistory.node": "d9f908fde1a1", |
|
1486 "debugobshistory.rev": 6, |
|
1487 "debugobshistory.shortdescription": "F" |
|
1488 }, |
|
1489 { |
|
1490 "debugobshistory.markers": [ |
|
1491 { |
|
1492 "debugobshistory.marker_date": [ |
|
1493 *, (glob) |
|
1494 0 |
|
1495 ], |
|
1496 "debugobshistory.marker_user": "test", |
|
1497 "debugobshistory.succnodes": [ |
|
1498 "d9f908fde1a1" |
|
1499 ], |
|
1500 "debugobshistory.verb": "rewritten" |
|
1501 } |
|
1502 ], |
|
1503 "debugobshistory.node": "0da815c333f6", |
|
1504 "debugobshistory.rev": 5, |
|
1505 "debugobshistory.shortdescription": "E" |
|
1506 }, |
|
1507 { |
|
1508 "debugobshistory.markers": [ |
|
1509 { |
|
1510 "debugobshistory.marker_date": [ |
|
1511 *, (glob) |
|
1512 0 |
|
1513 ], |
|
1514 "debugobshistory.marker_user": "test", |
|
1515 "debugobshistory.succnodes": [ |
|
1516 "2a34000d3544", |
|
1517 "868d2e0eb19c" |
|
1518 ], |
|
1519 "debugobshistory.verb": "rewritten" |
|
1520 } |
|
1521 ], |
|
1522 "debugobshistory.node": "a8df460dbbfe", |
|
1523 "debugobshistory.rev": 3, |
|
1524 "debugobshistory.shortdescription": "C" |
|
1525 }, |
|
1526 { |
|
1527 "debugobshistory.markers": [ |
|
1528 { |
|
1529 "debugobshistory.marker_date": [ |
|
1530 *, (glob) |
|
1531 0 |
|
1532 ], |
|
1533 "debugobshistory.marker_user": "test", |
|
1534 "debugobshistory.succnodes": [ |
|
1535 "a8df460dbbfe" |
|
1536 ], |
|
1537 "debugobshistory.verb": "rewritten" |
|
1538 } |
|
1539 ], |
|
1540 "debugobshistory.node": "c473644ee0e9", |
|
1541 "debugobshistory.rev": 2, |
|
1542 "debugobshistory.shortdescription": "B" |
|
1543 }, |
|
1544 { |
|
1545 "debugobshistory.markers": [ |
|
1546 { |
|
1547 "debugobshistory.marker_date": [ |
|
1548 *, (glob) |
|
1549 0 |
|
1550 ], |
|
1551 "debugobshistory.marker_user": "test", |
|
1552 "debugobshistory.succnodes": [ |
|
1553 "c473644ee0e9" |
|
1554 ], |
|
1555 "debugobshistory.verb": "rewritten" |
|
1556 } |
|
1557 ], |
|
1558 "debugobshistory.node": "2a34000d3544", |
|
1559 "debugobshistory.rev": 1, |
|
1560 "debugobshistory.shortdescription": "A" |
|
1561 } |
|
1562 ] |
|