Return-Path: X-Original-To: apmail-subversion-commits-archive@minotaur.apache.org Delivered-To: apmail-subversion-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0419D17DDC for ; Mon, 16 Feb 2015 04:01:49 +0000 (UTC) Received: (qmail 20944 invoked by uid 500); 16 Feb 2015 04:01:48 -0000 Delivered-To: apmail-subversion-commits-archive@subversion.apache.org Received: (qmail 20914 invoked by uid 500); 16 Feb 2015 04:01:48 -0000 Mailing-List: contact commits-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@subversion.apache.org Delivered-To: mailing list commits@subversion.apache.org Received: (qmail 20904 invoked by uid 99); 16 Feb 2015 04:01:48 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Feb 2015 04:01:48 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id B6EA0AC006D for ; Mon, 16 Feb 2015 04:01:48 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1660025 - in /subversion/branches/1.8.x: ./ STATUS subversion/ subversion/svnsync/sync.c subversion/tests/cmdline/svnsync_tests.py subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump Date: Mon, 16 Feb 2015 04:01:48 -0000 To: commits@subversion.apache.org From: svn-role@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150216040148.B6EA0AC006D@hades.apache.org> Author: svn-role Date: Mon Feb 16 04:01:48 2015 New Revision: 1660025 URL: http://svn.apache.org/r1660025 Log: Merge the r1646230 group from trunk: * r1646230, r1646250, r1646253, r1656893, r1657182, r1657195, r1657401 Make svnsync strip any r0 references from mergeinfo -- issue #4476. Justification: Without this is was not possible to svnsync a repository that contained this kind of mergeinfo that is now considered invalid but previously could be committed. Notes: This is also nominated for 1.7.x. The regression test in this group depends on the issue #4538 fix in r1646505. Votes: +1: julianfoad, philip, stefan2 Added: subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump - copied, changed from r1646250, subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump Modified: subversion/branches/1.8.x/ (props changed) subversion/branches/1.8.x/STATUS subversion/branches/1.8.x/subversion/ (props changed) subversion/branches/1.8.x/subversion/svnsync/sync.c subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests.py Propchange: subversion/branches/1.8.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Feb 16 04:01:48 2015 @@ -131,5 +131,5 @@ /subversion/branches/uris-as-urls:1060426-1064427 /subversion/branches/verify-at-commit:1462039-1462408 /subversion/branches/wc-collate-path:1407642 -/subversion/trunk:1467440,1467450,1467481,1467587,1467597,1467668,1467675,1467803,1467807,1467951,1468109,1468116,1468151,1468347,1468395,1468439,1468487,1468565-1468566,1468980,1469248,1469363,1469478,1469489,1469512-1469513,1469550,1469556,1469645,1469674,1469833,1469862,1469866,1469871,1469994,1470031,1470037,1470221,1470238,1470246,1470248,1470537,1470650,1470738,1470781,1470898,1470904,1470908,1470913,1470936,1470993-1470994,1471028-1471029,1471107,1471153,1471302,1471443,1471490,1471744,1475704,1475724,1475772,1475963,1476092,1476155,1476181,1476193,1476254,1476359,1476366,1476607,1477294,1477359,1477729-1477730,1477876,1477891,1478001,1478220-1478221,1478465,1478617,1478897,1478951,1478987,1478998,1479320-1479321,1479323,1479326,1479329,1479540,1479563,1479605,1479896,1480054,1480077,1480080,1480082,1480119,1480149,1480344,1480412,1480426,1480442,1480616,1480641-1480642,1480664,1480669,1480681,1480723,1480738,1480765,1481010,1481418,1481594,1481596,1481625,1481627-1481628,148 1631-1481632,1481772,1481782,1481800,1481813,1481847,1481944,1481981,1482282,1482327,1482338,1482350,1482354,1482436,1482479,1482524,1482528,1482536,1482554,1482558,1482592,1482724,1482759,1482779,1482829,1482969-1482970,1482973,1483015,1483077,1483101,1483116,1483125,1483391,1483397,1483555,1483557,1483575,1483580,1483781,1483927,1483939,1483947,1483964-1483965,1483968,1483972,1483975,1483977,1483984,1484006,1484016-1484017,1484023,1484755,1485018,1485127,1485350,1485413,1485427,1485447,1485449,1485497,1485501,1485650,1486072,1486457,1486572,1486809,1486915,1486931,1487083,1487094,1488183,1488267,1488294,1488425,1488639,1488693,1488878,1489114,1489116-1489117,1489203,1489339,1489935,1490045,1490326,1490679,1490684,1490721,1491432,1491499,1491707,1491739,1491755-1491756,1491762,1491770,1491816,1491868,1492005,1492020,1492145,1492148,1492152,1492164,1492264,1492295,1493102,1493424,1493475,1493703,1493720,1493951,1494089,1494171,1494223,1494287,1494298,1494318,1494342,1494657,1494913, 1494967,1495063,1495104,1495204,1495209,1495214,1495256,1495329,1495428,1495432,1495446,1495597,1495805,1495850,1495978,1496007,1496110-1496111,1496127,1496132,1496151,1496470,1496938,1496957,1497002,1497318-1497319,1497551,1497614,1497804,1497975,1497980,1498000,1498012,1498136,1498449,1498455-1498456,1498483-1498484,1498486,1498550,1498564,1498851,1498885,1498997,1499034,1499044,1499064,1499095-1499096,1499100,1499403,1499423,1499438,1499447,1499460,1499470,1499483,1499492,1499496,1499498,1499595,1499727,1500074,1500175,1500226,1500680,1500695,1500762,1500799,1500801-1500802,1500904,1500928,1501199,1501207,1501656,1501702,1502097,1502267,1502577,1502777,1502811,1502901,1502909,1502952,1503009-1503010,1503058,1503061,1503211,1503318,1503528,1503884,1504192,1504505,1506040-1506041,1506047,1506058,1506966,1507044,1507382,1507567,1507589,1507889,1507891,1508438,1509186,1509196,1511057,1511272,1511353,1511603,1512067,1512119,1512195,1512300-1512301,1512432,1512471-1512472,1513119,15131 22,1513156,1513463,1513472,1513479,1513874,1513879-1513880,1513943,1514295,1514315,1514318,1514356,1514628,1514763,1514785,1514804,1515119,1515141,1515201,1515225,1515237,1515343,1515366,1515516,1515534,1515721,1515992,1515997,1516023-1516024,1516049,1516051-1516053,1516071,1516271,1516429,1516556,1516565,1516567,1516806,1518184,1518942,1519615,1519617,1519733,1519816,1519823,1519955,1520065,1520529,1520532,1520539,1520745,1522892,1523666,1524869,1525902,1526439,1526655,1527103,1527105,1530763,1530768,1530872,1530922,1530967,1531002,1531004,1531014,1531938,1532023,1532098,1532316,1534102,1534149,1534158,1534713,1534737,1534860,1535115,1535161,1535532,1535610,1535676,1536350,1536383,1536464,1536488,1536537,1536914,1536931,1537018,1537147,1537190,1537193,1537221,1537263,1537360,1537415,1537555,1537700,1538516-1538517,1538519,1538574,1538581,1538812,1538925,1538928,1538939,1540044,1540417,1540752,1541432,1541635,1541638,1541705,1541790,1542042,1542069,1542071,1542119,1542129,1542138,15 42146,1542151,1542610,1542765,1542767,1542774,1543145,1543187,1543413,1543594,1543961,1544295,1544302-1544303,1544316,1544597,1544600,1544688,1544690,1544878,1544895,1545111,1545122,1545302,1545835,1545845,1547252,1547454,1547774,1547866,1547873,1548097,1548105,1548170,1548486,1548673,1549858,1549874,1550691,1550772,1550803,1551524,1551579,1552957-1552958,1553101,1553105,1553113,1553376-1553377,1553501,1553556,1554978,1555403,1555499,1557320,1557522,1559009,1559197,1560690,1560701,1561426,1561703,1563110,1564292,1564576,1564966,1564969,1565085,1565531,1566503-1566504,1567064,1567109,1567134,1567204,1567228,1567286,1567392,1567492,1567494,1567740,1567752,1567985,1568070,1568180,1568349,1568361,1568872,1568953,1568955,1569069,1570642,1571214,1571747,1571787,1571795,1572102,1572200,1572340,1573088,1573106,1573209,1574868,1575270,1575284,1575525,1575915,1577151,1577200,1577294,1577739,1577755,1577812-1577813,1578273,1578311,1578326,1578670,1578820,1578853,1578875,1579274,1579429,1579588 ,1579684,1580626,1580650,1580832,1580867,1580872,1581296,1581305,1581315,1581430,1581810,1583580,1583977,1584342,1584576,1584592,1584745,1585686,1586052,1586255,1586352,1586467,1587511,1587946,1587968,1588772,1588778,1589184,1589188,1589360,1589460,1589486,1590212,1591123,1592014,1592034,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1596882,1600311,1600315,1600323,1600331,1600348,1600368,1600393,1600563,1600781,1600909,1601851,1606009,1611380-1611381,1612225,1615211,1615219,1615255-1615256,1615260,1615263,1616131,1619071,1619105,1619118,1619153,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1633126,1636874,1637826,1640730,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646495,1646505,1646785-1646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1652182,1652195,1652200,1652744,1653039,1653622-1653623,1653988,1654 039,1654162,1654186,1654271,1655712,1655738,1656713,1658115,1659013,1659315,1659399,1659553-1659554 +/subversion/trunk:1467440,1467450,1467481,1467587,1467597,1467668,1467675,1467803,1467807,1467951,1468109,1468116,1468151,1468347,1468395,1468439,1468487,1468565-1468566,1468980,1469248,1469363,1469478,1469489,1469512-1469513,1469550,1469556,1469645,1469674,1469833,1469862,1469866,1469871,1469994,1470031,1470037,1470221,1470238,1470246,1470248,1470537,1470650,1470738,1470781,1470898,1470904,1470908,1470913,1470936,1470993-1470994,1471028-1471029,1471107,1471153,1471302,1471443,1471490,1471744,1475704,1475724,1475772,1475963,1476092,1476155,1476181,1476193,1476254,1476359,1476366,1476607,1477294,1477359,1477729-1477730,1477876,1477891,1478001,1478220-1478221,1478465,1478617,1478897,1478951,1478987,1478998,1479320-1479321,1479323,1479326,1479329,1479540,1479563,1479605,1479896,1480054,1480077,1480080,1480082,1480119,1480149,1480344,1480412,1480426,1480442,1480616,1480641-1480642,1480664,1480669,1480681,1480723,1480738,1480765,1481010,1481418,1481594,1481596,1481625,1481627-1481628,148 1631-1481632,1481772,1481782,1481800,1481813,1481847,1481944,1481981,1482282,1482327,1482338,1482350,1482354,1482436,1482479,1482524,1482528,1482536,1482554,1482558,1482592,1482724,1482759,1482779,1482829,1482969-1482970,1482973,1483015,1483077,1483101,1483116,1483125,1483391,1483397,1483555,1483557,1483575,1483580,1483781,1483927,1483939,1483947,1483964-1483965,1483968,1483972,1483975,1483977,1483984,1484006,1484016-1484017,1484023,1484755,1485018,1485127,1485350,1485413,1485427,1485447,1485449,1485497,1485501,1485650,1486072,1486457,1486572,1486809,1486915,1486931,1487083,1487094,1488183,1488267,1488294,1488425,1488639,1488693,1488878,1489114,1489116-1489117,1489203,1489339,1489935,1490045,1490326,1490679,1490684,1490721,1491432,1491499,1491707,1491739,1491755-1491756,1491762,1491770,1491816,1491868,1492005,1492020,1492145,1492148,1492152,1492164,1492264,1492295,1493102,1493424,1493475,1493703,1493720,1493951,1494089,1494171,1494223,1494287,1494298,1494318,1494342,1494657,1494913, 1494967,1495063,1495104,1495204,1495209,1495214,1495256,1495329,1495428,1495432,1495446,1495597,1495805,1495850,1495978,1496007,1496110-1496111,1496127,1496132,1496151,1496470,1496938,1496957,1497002,1497318-1497319,1497551,1497614,1497804,1497975,1497980,1498000,1498012,1498136,1498449,1498455-1498456,1498483-1498484,1498486,1498550,1498564,1498851,1498885,1498997,1499034,1499044,1499064,1499095-1499096,1499100,1499403,1499423,1499438,1499447,1499460,1499470,1499483,1499492,1499496,1499498,1499595,1499727,1500074,1500175,1500226,1500680,1500695,1500762,1500799,1500801-1500802,1500904,1500928,1501199,1501207,1501656,1501702,1502097,1502267,1502577,1502777,1502811,1502901,1502909,1502952,1503009-1503010,1503058,1503061,1503211,1503318,1503528,1503884,1504192,1504505,1506040-1506041,1506047,1506058,1506966,1507044,1507382,1507567,1507589,1507889,1507891,1508438,1509186,1509196,1511057,1511272,1511353,1511603,1512067,1512119,1512195,1512300-1512301,1512432,1512471-1512472,1513119,15131 22,1513156,1513463,1513472,1513479,1513874,1513879-1513880,1513943,1514295,1514315,1514318,1514356,1514628,1514763,1514785,1514804,1515119,1515141,1515201,1515225,1515237,1515343,1515366,1515516,1515534,1515721,1515992,1515997,1516023-1516024,1516049,1516051-1516053,1516071,1516271,1516429,1516556,1516565,1516567,1516806,1518184,1518942,1519615,1519617,1519733,1519816,1519823,1519955,1520065,1520529,1520532,1520539,1520745,1522892,1523666,1524869,1525902,1526439,1526655,1527103,1527105,1530763,1530768,1530872,1530922,1530967,1531002,1531004,1531014,1531938,1532023,1532098,1532316,1534102,1534149,1534158,1534713,1534737,1534860,1535115,1535161,1535532,1535610,1535676,1536350,1536383,1536464,1536488,1536537,1536914,1536931,1537018,1537147,1537190,1537193,1537221,1537263,1537360,1537415,1537555,1537700,1538516-1538517,1538519,1538574,1538581,1538812,1538925,1538928,1538939,1540044,1540417,1540752,1541432,1541635,1541638,1541705,1541790,1542042,1542069,1542071,1542119,1542129,1542138,15 42146,1542151,1542610,1542765,1542767,1542774,1543145,1543187,1543413,1543594,1543961,1544295,1544302-1544303,1544316,1544597,1544600,1544688,1544690,1544878,1544895,1545111,1545122,1545302,1545835,1545845,1547252,1547454,1547774,1547866,1547873,1548097,1548105,1548170,1548486,1548673,1549858,1549874,1550691,1550772,1550803,1551524,1551579,1552957-1552958,1553101,1553105,1553113,1553376-1553377,1553501,1553556,1554978,1555403,1555499,1557320,1557522,1559009,1559197,1560690,1560701,1561426,1561703,1563110,1564292,1564576,1564966,1564969,1565085,1565531,1566503-1566504,1567064,1567109,1567134,1567204,1567228,1567286,1567392,1567492,1567494,1567740,1567752,1567985,1568070,1568180,1568349,1568361,1568872,1568953,1568955,1569069,1570642,1571214,1571747,1571787,1571795,1572102,1572200,1572340,1573088,1573106,1573209,1574868,1575270,1575284,1575525,1575915,1577151,1577200,1577294,1577739,1577755,1577812-1577813,1578273,1578311,1578326,1578670,1578820,1578853,1578875,1579274,1579429,1579588 ,1579684,1580626,1580650,1580832,1580867,1580872,1581296,1581305,1581315,1581430,1581810,1583580,1583977,1584342,1584576,1584592,1584745,1585686,1586052,1586255,1586352,1586467,1587511,1587946,1587968,1588772,1588778,1589184,1589188,1589360,1589460,1589486,1590212,1591123,1592014,1592034,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1596882,1600311,1600315,1600323,1600331,1600348,1600368,1600393,1600563,1600781,1600909,1601851,1606009,1611380-1611381,1612225,1615211,1615219,1615255-1615256,1615260,1615263,1616131,1619071,1619105,1619118,1619153,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1633126,1636874,1637826,1640730,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646230,1646250,1646253,1646495,1646505,1646785-1646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1652182,1652195,1652200,1652744,1653039,1653 622-1653623,1653988,1654039,1654162,1654186,1654271,1655712,1655738,1656713,1656893,1657182,1657195,1657401,1658115,1659013,1659315,1659399,1659553-1659554 /subversion/trunk/subversion/tests:1652182 Modified: subversion/branches/1.8.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1660025&r1=1660024&r2=1660025&view=diff ============================================================================== --- subversion/branches/1.8.x/STATUS (original) +++ subversion/branches/1.8.x/STATUS Mon Feb 16 04:01:48 2015 @@ -159,15 +159,3 @@ Candidate changes: Approved changes: ================= - - * r1646230, r1646250, r1646253, r1656893, r1657182, r1657195, r1657401 - Make svnsync strip any r0 references from mergeinfo -- issue #4476. - Justification: - Without this is was not possible to svnsync a repository that contained - this kind of mergeinfo that is now considered invalid but previously - could be committed. - Notes: - This is also nominated for 1.7.x. The regression test in this group - depends on the issue #4538 fix in r1646505. - Votes: - +1: julianfoad, philip, stefan2 Propchange: subversion/branches/1.8.x/subversion/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Feb 16 04:01:48 2015 @@ -132,4 +132,4 @@ /subversion/branches/uris-as-urls/subversion:1060426-1064427 /subversion/branches/verify-at-commit/subversion:1462039-1462408 /subversion/branches/wc-collate-path/subversion:1407642 -/subversion/trunk/subversion:1467440,1467450,1467481,1467587,1467597,1467668,1467675,1467803,1467807,1467951,1468109,1468116,1468151,1468347,1468395,1468439,1468487,1468565-1468566,1468980,1469248,1469363,1469478,1469489,1469512-1469513,1469550,1469556,1469645,1469674,1469833,1469862,1469866,1469871,1469994,1470031,1470037,1470221,1470238,1470246,1470248,1470537,1470650,1470738,1470781,1470898,1470904,1470908,1470913,1470936,1470993-1470994,1471028-1471029,1471107,1471153,1471302,1471443,1471490,1471744,1475704,1475724,1475772,1475963,1476092,1476155,1476181,1476193,1476254,1476359,1476366,1476607,1477294,1477359,1477729-1477730,1477876,1477891,1478001,1478220-1478221,1478465,1478617,1478897,1478951,1478987,1478998,1479320-1479321,1479323,1479326,1479329,1479540,1479563,1479605,1479896,1480054,1480077,1480080,1480082,1480119,1480149,1480344,1480412,1480426,1480442,1480616,1480641-1480642,1480664,1480669,1480681,1480723,1480738,1480765,1481010,1481418,1481594,1481596,1481625,1481627- 1481628,1481631-1481632,1481772,1481782,1481800,1481813,1481847,1481944,1481981,1482282,1482327,1482338,1482350,1482354,1482436,1482479,1482524,1482528,1482536,1482554,1482558,1482592,1482724,1482759,1482779,1482829,1482969-1482970,1482973,1483015,1483077,1483101,1483116,1483125,1483391,1483397,1483555,1483557,1483575,1483580,1483781,1483927,1483939,1483947,1483964-1483965,1483968,1483972,1483975,1483977,1483984,1484006,1484016-1484017,1484023,1484755,1485018,1485127,1485350,1485413,1485427,1485447,1485449,1485497,1485501,1485650,1486072,1486457,1486572,1486809,1486915,1486931,1487083,1487094,1488183,1488267,1488294,1488425,1488639,1488693,1488878,1489114,1489116-1489117,1489203,1489339,1489935,1490045,1490326,1490679,1490684,1490721,1491432,1491499,1491707,1491739,1491755-1491756,1491762,1491770,1491816,1491868,1492005,1492020,1492145,1492148,1492152,1492164,1492264,1492295,1493102,1493424,1493475,1493703,1493720,1493951,1494089,1494171,1494223,1494287,1494298,1494318,1494342,14946 57,1494913,1494967,1495063,1495104,1495204,1495209,1495214,1495256,1495329,1495428,1495432,1495446,1495597,1495805,1495850,1495978,1496007,1496110-1496111,1496127,1496132,1496151,1496470,1496938,1496957,1497002,1497318-1497319,1497551,1497614,1497804,1497975,1497980,1498000,1498012,1498136,1498449,1498455-1498456,1498483-1498484,1498486,1498550,1498564,1498851,1498885,1498997,1499034,1499044,1499064,1499095-1499096,1499100,1499403,1499423,1499438,1499447,1499460,1499470,1499483,1499492,1499496,1499498,1499595,1499727,1500074,1500175,1500226,1500680,1500695,1500762,1500799,1500801-1500802,1500904,1500928,1501199,1501207,1501656,1501702,1502097,1502267,1502577,1502777,1502811,1502901,1502909,1502952,1503009-1503010,1503058,1503061,1503211,1503318,1503528,1503884,1504192,1504505,1506040-1506041,1506047,1506058,1506966,1507044,1507382,1507567,1507589,1507889,1507891,1508438,1509186,1509196,1511057,1511272,1511353,1511603,1512067,1512119,1512195,1512300-1512301,1512432,1512471-1512472,15 13119,1513122,1513156,1513463,1513472,1513479,1513874,1513879-1513880,1513943,1514295,1514315,1514318,1514356,1514628,1514763,1514785,1514804,1515119,1515141,1515201,1515225,1515237,1515343,1515366,1515516,1515534,1515721,1515992,1515997,1516023-1516024,1516049,1516051-1516053,1516071,1516271,1516429,1516556,1516565,1516567,1516806,1518184,1518942,1519615,1519617,1519733,1519816,1519823,1519955,1520065,1520529,1520532,1520539,1520745,1522892,1523666,1524869,1525902,1526439,1526655,1527103,1527105,1530763,1530768,1530872,1530922,1530967,1531002,1531004,1531014,1531938,1532023,1532098,1532316,1534102,1534149,1534158,1534713,1534737,1534860,1535115,1535161,1535532,1535610,1535676,1536350,1536383,1536464,1536488,1536537,1536914,1536931,1537018,1537147,1537190,1537193,1537221,1537263,1537360,1537415,1537555,1537700,1538516-1538517,1538519,1538574,1538581,1538812,1538925,1538928,1538939,1540044,1540417,1540752,1541432,1541635,1541638,1541705,1541790,1542042,1542069,1542071,1542119,1542129 ,1542138,1542146,1542151,1542610,1542765,1542767,1542774,1543145,1543187,1543413,1543594,1543961,1544295,1544302-1544303,1544316,1544597,1544600,1544688,1544690,1544878,1544895,1545111,1545122,1545302,1545835,1545845,1547252,1547454,1547774,1547866,1547873,1548097,1548105,1548170,1548486,1548673,1549858,1549874,1550691,1550772,1550803,1551524,1551579,1552957-1552958,1553101,1553105,1553113,1553376-1553377,1553501,1553556,1554978,1555403,1555499,1557320,1557522,1559009,1559197,1560690,1560701,1561426,1561703,1563110,1564292,1564576,1564966,1564969,1565085,1565531,1566503-1566504,1567064,1567109,1567134,1567204,1567228,1567286,1567392,1567492,1567494,1567740,1567752,1567985,1568070,1568180,1568349,1568361,1568872,1568953,1568955,1569069,1570642,1571214,1571747,1571787,1571795,1572102,1572200,1572340,1573088,1573106,1573209,1574868,1575270,1575284,1575525,1575915,1577151,1577200,1577294,1577739,1577755,1577812-1577813,1578273,1578311,1578326,1578670,1578820,1578853,1578875,1579274,1579 429,1579588,1579684,1580626,1580650,1580832,1580867,1580872,1581296,1581305,1581315,1581430,1581810,1583580,1583977,1584342,1584576,1584592,1584745,1585686,1586052,1586255,1586352,1586467,1587511,1587946,1587968,1588772,1588778,1589184,1589188,1589360,1589460,1589486,1590212,1591123,1592014,1592034,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1600311,1600315,1600323,1600331,1600348,1600368,1600393,1600563,1600781,1600909,1601851,1606009,1611379-1611381,1612225,1612405,1615211,1615219,1615255-1615256,1615260,1615263,1615354,1616131,1617687,1619071,1619105,1619118,1619153,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1633126,1636874,1637826,1640730,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646495,1646505,1646785-1646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1652182,1652195,1652200,1652744,1653039,1 653622-1653623,1653988,1654039,1654162,1654186,1654271,1655712,1655738,1656713,1658115,1659013,1659315,1659399,1659553-1659554 +/subversion/trunk/subversion:1467440,1467450,1467481,1467587,1467597,1467668,1467675,1467803,1467807,1467951,1468109,1468116,1468151,1468347,1468395,1468439,1468487,1468565-1468566,1468980,1469248,1469363,1469478,1469489,1469512-1469513,1469550,1469556,1469645,1469674,1469833,1469862,1469866,1469871,1469994,1470031,1470037,1470221,1470238,1470246,1470248,1470537,1470650,1470738,1470781,1470898,1470904,1470908,1470913,1470936,1470993-1470994,1471028-1471029,1471107,1471153,1471302,1471443,1471490,1471744,1475704,1475724,1475772,1475963,1476092,1476155,1476181,1476193,1476254,1476359,1476366,1476607,1477294,1477359,1477729-1477730,1477876,1477891,1478001,1478220-1478221,1478465,1478617,1478897,1478951,1478987,1478998,1479320-1479321,1479323,1479326,1479329,1479540,1479563,1479605,1479896,1480054,1480077,1480080,1480082,1480119,1480149,1480344,1480412,1480426,1480442,1480616,1480641-1480642,1480664,1480669,1480681,1480723,1480738,1480765,1481010,1481418,1481594,1481596,1481625,1481627- 1481628,1481631-1481632,1481772,1481782,1481800,1481813,1481847,1481944,1481981,1482282,1482327,1482338,1482350,1482354,1482436,1482479,1482524,1482528,1482536,1482554,1482558,1482592,1482724,1482759,1482779,1482829,1482969-1482970,1482973,1483015,1483077,1483101,1483116,1483125,1483391,1483397,1483555,1483557,1483575,1483580,1483781,1483927,1483939,1483947,1483964-1483965,1483968,1483972,1483975,1483977,1483984,1484006,1484016-1484017,1484023,1484755,1485018,1485127,1485350,1485413,1485427,1485447,1485449,1485497,1485501,1485650,1486072,1486457,1486572,1486809,1486915,1486931,1487083,1487094,1488183,1488267,1488294,1488425,1488639,1488693,1488878,1489114,1489116-1489117,1489203,1489339,1489935,1490045,1490326,1490679,1490684,1490721,1491432,1491499,1491707,1491739,1491755-1491756,1491762,1491770,1491816,1491868,1492005,1492020,1492145,1492148,1492152,1492164,1492264,1492295,1493102,1493424,1493475,1493703,1493720,1493951,1494089,1494171,1494223,1494287,1494298,1494318,1494342,14946 57,1494913,1494967,1495063,1495104,1495204,1495209,1495214,1495256,1495329,1495428,1495432,1495446,1495597,1495805,1495850,1495978,1496007,1496110-1496111,1496127,1496132,1496151,1496470,1496938,1496957,1497002,1497318-1497319,1497551,1497614,1497804,1497975,1497980,1498000,1498012,1498136,1498449,1498455-1498456,1498483-1498484,1498486,1498550,1498564,1498851,1498885,1498997,1499034,1499044,1499064,1499095-1499096,1499100,1499403,1499423,1499438,1499447,1499460,1499470,1499483,1499492,1499496,1499498,1499595,1499727,1500074,1500175,1500226,1500680,1500695,1500762,1500799,1500801-1500802,1500904,1500928,1501199,1501207,1501656,1501702,1502097,1502267,1502577,1502777,1502811,1502901,1502909,1502952,1503009-1503010,1503058,1503061,1503211,1503318,1503528,1503884,1504192,1504505,1506040-1506041,1506047,1506058,1506966,1507044,1507382,1507567,1507589,1507889,1507891,1508438,1509186,1509196,1511057,1511272,1511353,1511603,1512067,1512119,1512195,1512300-1512301,1512432,1512471-1512472,15 13119,1513122,1513156,1513463,1513472,1513479,1513874,1513879-1513880,1513943,1514295,1514315,1514318,1514356,1514628,1514763,1514785,1514804,1515119,1515141,1515201,1515225,1515237,1515343,1515366,1515516,1515534,1515721,1515992,1515997,1516023-1516024,1516049,1516051-1516053,1516071,1516271,1516429,1516556,1516565,1516567,1516806,1518184,1518942,1519615,1519617,1519733,1519816,1519823,1519955,1520065,1520529,1520532,1520539,1520745,1522892,1523666,1524869,1525902,1526439,1526655,1527103,1527105,1530763,1530768,1530872,1530922,1530967,1531002,1531004,1531014,1531938,1532023,1532098,1532316,1534102,1534149,1534158,1534713,1534737,1534860,1535115,1535161,1535532,1535610,1535676,1536350,1536383,1536464,1536488,1536537,1536914,1536931,1537018,1537147,1537190,1537193,1537221,1537263,1537360,1537415,1537555,1537700,1538516-1538517,1538519,1538574,1538581,1538812,1538925,1538928,1538939,1540044,1540417,1540752,1541432,1541635,1541638,1541705,1541790,1542042,1542069,1542071,1542119,1542129 ,1542138,1542146,1542151,1542610,1542765,1542767,1542774,1543145,1543187,1543413,1543594,1543961,1544295,1544302-1544303,1544316,1544597,1544600,1544688,1544690,1544878,1544895,1545111,1545122,1545302,1545835,1545845,1547252,1547454,1547774,1547866,1547873,1548097,1548105,1548170,1548486,1548673,1549858,1549874,1550691,1550772,1550803,1551524,1551579,1552957-1552958,1553101,1553105,1553113,1553376-1553377,1553501,1553556,1554978,1555403,1555499,1557320,1557522,1559009,1559197,1560690,1560701,1561426,1561703,1563110,1564292,1564576,1564966,1564969,1565085,1565531,1566503-1566504,1567064,1567109,1567134,1567204,1567228,1567286,1567392,1567492,1567494,1567740,1567752,1567985,1568070,1568180,1568349,1568361,1568872,1568953,1568955,1569069,1570642,1571214,1571747,1571787,1571795,1572102,1572200,1572340,1573088,1573106,1573209,1574868,1575270,1575284,1575525,1575915,1577151,1577200,1577294,1577739,1577755,1577812-1577813,1578273,1578311,1578326,1578670,1578820,1578853,1578875,1579274,1579 429,1579588,1579684,1580626,1580650,1580832,1580867,1580872,1581296,1581305,1581315,1581430,1581810,1583580,1583977,1584342,1584576,1584592,1584745,1585686,1586052,1586255,1586352,1586467,1587511,1587946,1587968,1588772,1588778,1589184,1589188,1589360,1589460,1589486,1590212,1591123,1592014,1592034,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1600311,1600315,1600323,1600331,1600348,1600368,1600393,1600563,1600781,1600909,1601851,1606009,1611379-1611381,1612225,1612405,1615211,1615219,1615255-1615256,1615260,1615263,1615354,1616131,1617687,1619071,1619105,1619118,1619153,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1633126,1636874,1637826,1640730,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646230,1646250,1646253,1646495,1646505,1646785-1646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1652182,1652195,1 652200,1652744,1653039,1653622-1653623,1653988,1654039,1654162,1654186,1654271,1655712,1655738,1656713,1656893,1657182,1657195,1657401,1658115,1659013,1659315,1659399,1659553-1659554 Modified: subversion/branches/1.8.x/subversion/svnsync/sync.c URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/svnsync/sync.c?rev=1660025&r1=1660024&r2=1660025&view=diff ============================================================================== --- subversion/branches/1.8.x/subversion/svnsync/sync.c (original) +++ subversion/branches/1.8.x/subversion/svnsync/sync.c Mon Feb 16 04:01:48 2015 @@ -34,6 +34,8 @@ #include "svn_subst.h" #include "svn_string.h" +#include "private/svn_string_private.h" + #include "sync.h" #include "svn_private_config.h" @@ -83,6 +85,92 @@ normalize_string(const svn_string_t **st return SVN_NO_ERROR; } +/* Remove r0 references from the mergeinfo string *STR. + * + * r0 was never a valid mergeinfo reference and cannot be committed with + * recent servers, but can be committed through a server older than 1.6.18 + * for HTTP or older than 1.6.17 for the other protocols. See issue #4476 + * "Mergeinfo containing r0 makes svnsync and dump and load fail". + * + * Set *WAS_CHANGED to TRUE if *STR was changed, otherwise to FALSE. + */ +static svn_error_t * +remove_r0_mergeinfo(const svn_string_t **str, + svn_boolean_t *was_changed, + apr_pool_t *result_pool, + apr_pool_t *scratch_pool) +{ + svn_stringbuf_t *new_str = svn_stringbuf_create_empty(result_pool); + apr_array_header_t *lines; + int i; + + SVN_ERR_ASSERT(*str && (*str)->data); + + *was_changed = FALSE; + + /* for each line */ + lines = svn_cstring_split((*str)->data, "\n", FALSE, scratch_pool); + + for (i = 0; i < lines->nelts; i++) + { + char *line = APR_ARRAY_IDX(lines, i, char *); + char *colon; + char *rangelist; + + /* split at the last colon */ + colon = strrchr(line, ':'); + + if (! colon) + return svn_error_createf(SVN_ERR_MERGEINFO_PARSE_ERROR, NULL, + _("Missing colon in svn:mergeinfo " + "property")); + + rangelist = colon + 1; + + /* remove r0 */ + if (colon[1] == '0') + { + if (strncmp(rangelist, "0*,", 3) == 0) + { + rangelist += 3; + } + else if (strcmp(rangelist, "0*") == 0 + || strncmp(rangelist, "0,", 2) == 0 + || strncmp(rangelist, "0-1*", 4) == 0 + || strncmp(rangelist, "0-1,", 4) == 0 + || strcmp(rangelist, "0-1") == 0) + { + rangelist += 2; + } + else if (strcmp(rangelist, "0") == 0) + { + rangelist += 1; + } + else if (strncmp(rangelist, "0-", 2) == 0) + { + rangelist[0] = '1'; + } + } + + /* reassemble */ + if (rangelist[0]) + { + if (new_str->len) + svn_stringbuf_appendbyte(new_str, '\n'); + svn_stringbuf_appendbytes(new_str, line, colon + 1 - line); + svn_stringbuf_appendcstr(new_str, rangelist); + } + } + + if (strcmp((*str)->data, new_str->data) != 0) + { + *was_changed = TRUE; + } + + *str = svn_stringbuf__morph_into_string(new_str); + return SVN_NO_ERROR; +} + /* Normalize the encoding and line ending style of the values of properties * in REV_PROPS that "need translation" (according to @@ -153,6 +241,7 @@ typedef struct edit_baton_t { svn_boolean_t got_textdeltas; svn_revnum_t base_revision; svn_boolean_t quiet; + svn_boolean_t mergeinfo_tweaked; /* Did we tweak svn:mergeinfo? */ svn_boolean_t strip_mergeinfo; /* Are we stripping svn:mergeinfo? */ svn_boolean_t migrate_svnmerge; /* Are we converting svnmerge.py data? */ svn_boolean_t mergeinfo_stripped; /* Did we strip svn:mergeinfo? */ @@ -414,8 +503,19 @@ change_file_prop(void *file_baton, if (svn_prop_needs_translation(name)) { svn_boolean_t was_normalized; + svn_boolean_t mergeinfo_tweaked = FALSE; + + /* Normalize encoding to UTF-8, and EOL style to LF. */ SVN_ERR(normalize_string(&value, &was_normalized, eb->source_prop_encoding, pool, pool)); + /* Correct malformed mergeinfo. */ + if (value && strcmp(name, SVN_PROP_MERGEINFO) == 0) + { + SVN_ERR(remove_r0_mergeinfo(&value, &mergeinfo_tweaked, + pool, pool)); + if (mergeinfo_tweaked) + eb->mergeinfo_tweaked = TRUE; + } if (was_normalized) (*(eb->normalized_node_props_counter))++; } @@ -513,8 +613,19 @@ change_dir_prop(void *dir_baton, if (svn_prop_needs_translation(name)) { svn_boolean_t was_normalized; + svn_boolean_t mergeinfo_tweaked = FALSE; + + /* Normalize encoding to UTF-8, and EOL style to LF. */ SVN_ERR(normalize_string(&value, &was_normalized, eb->source_prop_encoding, pool, pool)); + /* Maybe adjust svn:mergeinfo. */ + if (value && strcmp(name, SVN_PROP_MERGEINFO) == 0) + { + SVN_ERR(remove_r0_mergeinfo(&value, &mergeinfo_tweaked, + pool, pool)); + if (mergeinfo_tweaked) + eb->mergeinfo_tweaked = TRUE; + } if (was_normalized) (*(eb->normalized_node_props_counter))++; } @@ -548,6 +659,10 @@ close_edit(void *edit_baton, { if (eb->got_textdeltas) SVN_ERR(svn_cmdline_printf(pool, "\n")); + if (eb->mergeinfo_tweaked) + SVN_ERR(svn_cmdline_printf(pool, + "NOTE: Adjusted Subversion mergeinfo in " + "this revision.\n")); if (eb->mergeinfo_stripped) SVN_ERR(svn_cmdline_printf(pool, "NOTE: Dropped Subversion mergeinfo " Modified: subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests.py?rev=1660025&r1=1660024&r2=1660025&view=diff ============================================================================== --- subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests.py (original) +++ subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests.py Mon Feb 16 04:01:48 2015 @@ -209,8 +209,12 @@ def setup_and_sync(sbox, dump_file_conte return dest_sbox -def verify_mirror(dest_sbox, src_sbox): - """Compare the contents of the DEST_SBOX repository with EXP_DUMP_FILE_CONTENTS.""" +def verify_mirror(dest_sbox, exp_dump_file_contents): + """Compare the contents of the mirror repository in DEST_SBOX with + EXP_DUMP_FILE_CONTENTS, by comparing the parsed dump stream content. + + First remove svnsync rev-props from the DEST_SBOX repository. + """ # Remove some SVNSync-specific housekeeping properties from the # mirror repository in preparation for the comparison dump. @@ -222,10 +226,9 @@ def verify_mirror(dest_sbox, src_sbox): # Create a dump file from the mirror repository. dest_dump = svntest.actions.run_and_verify_dump(dest_sbox.repo_dir) - src_dump = svntest.actions.run_and_verify_dump(src_sbox.repo_dir) svntest.verify.compare_dump_files( - "Dump files", "DUMP", src_dump, dest_dump) + "Dump files", "DUMP", exp_dump_file_contents, dest_dump) def run_test(sbox, dump_file_name, subdir=None, exp_dump_file_name=None, bypass_prop_validation=False, source_prop_encoding=None, @@ -251,16 +254,12 @@ or another dump file.""" # dump file (used to create the master repository) or another specified dump # file. if exp_dump_file_name: - build_repos(sbox) - svntest.actions.run_and_verify_load(sbox.repo_dir, - open(os.path.join(svnsync_tests_dir, - exp_dump_file_name), - 'rb').readlines()) - src_sbox = sbox + exp_dump_file_contents = open(os.path.join(svnsync_tests_dir, + exp_dump_file_name), 'rb').readlines() else: - src_sbox = sbox + exp_dump_file_contents = master_dumpfile_contents - verify_mirror(dest_sbox, sbox) + verify_mirror(dest_sbox, exp_dump_file_contents) @@ -564,9 +563,7 @@ def delete_revprops(sbox): run_copy_revprops(dest_sbox.repo_url, sbox.repo_url) # Does the result look as we expected? - build_repos(sbox) - svntest.actions.run_and_verify_load(sbox.repo_dir, expected_contents) - verify_mirror(dest_sbox, sbox) + verify_mirror(dest_sbox, expected_contents) @Issue(3870) @SkipUnless(svntest.main.is_posix_os) @@ -576,6 +573,78 @@ def fd_leak_sync_from_serf_to_local(sbox resource.setrlimit(resource.RLIMIT_NOFILE, (128, 128)) run_test(sbox, "largemods.dump", is_src_ra_local=None, is_dest_ra_local=True) +#---------------------------------------------------------------------- + +@Issue(4476) +def mergeinfo_contains_r0(sbox): + "mergeinfo contains r0" + + def make_node_record(node_name, mi): + """Return a dumpfile node-record for adding a (directory) node named + NODE_NAME with mergeinfo MI. Return it as a list of newline-terminated + lines. + """ + headers_tmpl = """\ +Node-path: %s +Node-kind: dir +Node-action: add +Prop-content-length: %d +Content-length: %d +""" + content_tmpl = """\ +K 13 +svn:mergeinfo +V %d +%s +PROPS-END +""" + content = content_tmpl % (len(mi), mi) + headers = headers_tmpl % (node_name, len(content), len(content)) + record = headers + '\n' + content + '\n\n' + return record.splitlines(True) + + # The test case mergeinfo (before, after) syncing, separated here with + # spaces instead of newlines + test_mi = [ + ("", ""), # unchanged + ("/a:1", "/a:1"), + ("/a:1 /b:1*,2","/a:1 /b:1*,2"), + ("/:0:1", "/:0:1"), # unchanged; colon-zero in filename + ("/a:0", ""), # dropped entirely + ("/a:0*", ""), + ("/a:0 /b:0*", ""), + ("/a:1 /b:0", "/a:1"), # one kept, one dropped + ("/a:0 /b:1", "/b:1"), + ("/a:0,1 /b:1", "/a:1 /b:1"), # one kept, one changed + ("/a:1 /b:0,1", "/a:1 /b:1"), + ("/a:0,1 /b:0*,1 /c:0,2 /d:0-1 /e:0-1,3 /f:0-2 /g:0-3", + "/a:1 /b:1 /c:2 /d:1 /e:1,3 /f:1-2 /g:1-3"), # all changed + ("/a:0:0-1", "/a:0:1"), # changed; colon-zero in filename + ] + + # Get the constant prefix for each dumpfile + dump_file_name = "mergeinfo-contains-r0.dump" + svnsync_tests_dir = os.path.join(os.path.dirname(sys.argv[0]), + 'svnsync_tests_data') + dump_in = open(os.path.join(svnsync_tests_dir, dump_file_name), + 'rb').readlines() + dump_out = list(dump_in) # duplicate the list + + # Add dumpfile node records containing the test mergeinfo + for n, mi in enumerate(test_mi): + node_name = "D" + str(n) + + mi_in = mi[0].replace(' ', '\n') + mi_out = mi[1].replace(' ', '\n') + dump_in.extend(make_node_record(node_name, mi_in)) + dump_out.extend(make_node_record(node_name, mi_out)) + + # Run the sync + dest_sbox = setup_and_sync(sbox, dump_in, bypass_prop_validation=True) + + # Compare the dump produced by the mirror repository with expected + verify_mirror(dest_sbox, dump_out) + ######################################################################## # Run the tests @@ -612,6 +681,7 @@ test_list = [ None, descend_into_replace, delete_revprops, fd_leak_sync_from_serf_to_local, # calls setrlimit + mergeinfo_contains_r0, ] if __name__ == '__main__': Copied: subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump (from r1646250, subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump) URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump?p2=subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump&p1=subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump&r1=1646250&r2=1660025&rev=1660025&view=diff ============================================================================== --- subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump (original) +++ subversion/branches/1.8.x/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump Mon Feb 16 04:01:48 2015 @@ -13,8 +13,8 @@ V 27 PROPS-END Revision-number: 1 -Prop-content-length: 101 -Content-length: 101 +Prop-content-length: 84 +Content-length: 84 K 10 svn:author @@ -24,62 +24,5 @@ K 8 svn:date V 27 2000-01-01T00:00:00.000000Z -K 7 -svn:log -V 0 - PROPS-END -Node-path: -Node-kind: dir -Node-action: change -Prop-content-length: 22 -Content-length: 22 - -K 1 -p -V 1 -v -PROPS-END - - -Revision-number: 2 -Prop-content-length: 113 -Content-length: 113 - -K 10 -svn:author -V 7 -jrandom -K 8 -svn:date -V 27 -2005-11-07T23:37:17.705159Z -K 7 -svn:log -V 11 -add foo.txt -PROPS-END - -Node-path: foo.txt -Node-kind: file -Node-action: add -Prop-content-length: 86 -Text-content-length: 0 -Text-content-md5: d41d8cd98f00b204e9800998ecf8427e -Text-content-sha1: da39a3ee5e6b4b0d3255bfef95601890afd80709 -Content-length: 86 - -K 13 -svn:mergeinfo -V 51 -/a:0,1 -/b:0*,1 -/c:0,2 -/d:0-1 -/e:0-1,3 -/f:0-2 -/g:0-3 -PROPS-END - -