tests/test-evolve-obshistory.t
changeset 2480 a147ea7fb579
parent 2477 d7f7e8f3b51c
child 2483 db565cc05987
equal deleted inserted replaced
2477:d7f7e8f3b51c 2480:a147ea7fb579
  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   ]