You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2017/06/30 12:20:58 UTC

svn commit: r1800387 - in /subversion/branches/1.8.x-strict-rep-sharing: ./ STATUS get-deps.sh subversion/ subversion/libsvn_fs_fs/fs_fs.c subversion/libsvn_subr/io.c subversion/tests/libsvn_subr/io-test.c tools/dev/unix-build/Makefile.svn

Author: stsp
Date: Fri Jun 30 12:20:58 2017
New Revision: 1800387

URL: http://svn.apache.org/viewvc?rev=1800387&view=rev
Log:
On the 1.8.x-strict-rep-sharing branch, sync with 1.8.x.

Modified:
    subversion/branches/1.8.x-strict-rep-sharing/   (props changed)
    subversion/branches/1.8.x-strict-rep-sharing/STATUS   (contents, props changed)
    subversion/branches/1.8.x-strict-rep-sharing/get-deps.sh
    subversion/branches/1.8.x-strict-rep-sharing/subversion/   (props changed)
    subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_fs_fs/fs_fs.c
    subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_subr/io.c
    subversion/branches/1.8.x-strict-rep-sharing/subversion/tests/libsvn_subr/io-test.c
    subversion/branches/1.8.x-strict-rep-sharing/tools/dev/unix-build/Makefile.svn

Propchange: subversion/branches/1.8.x-strict-rep-sharing/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 30 12:20:58 2017
@@ -1,5 +1,6 @@
 /subversion/branches/1.5.x-r30215:870312
 /subversion/branches/1.7.x-fs-verify:1146708,1161180
+/subversion/branches/1.8.x:1787634-1800383
 /subversion/branches/1.8.x-VS2013-14:1603404-1615199
 /subversion/branches/1.8.x-VS2015:1691901-1692784
 /subversion/branches/1.8.x-apr-0.9:1585493-1589570
@@ -77,6 +78,7 @@
 /subversion/branches/1.8.x-r1724448:1725268-1770305,1770343-1770610
 /subversion/branches/1.8.x-r175-daemonize:1515866-1516020
 /subversion/branches/1.8.x-r1764851:1764858-1770300
+/subversion/branches/1.8.x-r1785053:1786517-1800377
 /subversion/branches/1.8.x-rm-external-dir:1600632-1615197
 /subversion/branches/1.8.x-serf-1.3+-windows:1517122-1533873
 /subversion/branches/1.8.x-serf-no-lock-support:1584583-1591109
@@ -156,5 +158,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,1532287,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,1539230,1540044,1540417,1540752,1541432,1541635,1541638,1541705,1541790,1542042,1542069,1542071,1542119,15
 42129,1542138,1542146,1542151,1542610,1542765,1542767,1542774,1543145,1543187,1543413,1543594,1543961,1544295,1544302-1544303,1544316,1544597,1544600,1544688,1544690,1544878,1544895,1545111,1545122,1545134,1545302,1545835,1545845,1547252,1547454,1547489,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,1560643,1560690,1560701,1561419,1561426-1561427,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,1573744,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,1590751,1591123,1592014,1592034,1592987,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1596882,1597884,1600311,1600315,1600323,1600331,1600348,1600368,1600393,1600563,1600781,1600909,1601851,1606009,1611380-1611381,1612225,1615211,1615219,1615255-1615256,1615260,1615263,1616131,1618472,1618841,1619071,1619105,1619118,1619153,1619380,1619393,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1632635,1633126,1636874,1637826,1640730,1640832,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646230,1646250,1646
 253,1646495,1646505,1646785-1646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1651963,1651966,1651980,1651997,1652182,1652195,1652200,1652744,1653039,1653622-1653623,1653988,1654039,1654162,1654186,1654271,1654932-1654934,1654937,1655651,1655712,1655738,1656713,1656893,1657182,1657195,1657401,1658115,1658168,1658417,1659013,1659315,1659399,1659553-1659554,1659867,1659869,1660071,1660186,1660220,1660508,1660593,1660646,1663500,1663991,1664476,1664480-1664481,1664483,1664507,1664520-1664521,1664523,1664526-1664527,1664531-1664532,1664586,1664595,1664612,1664684,1665845,1665850,1665852,1665874,1666690,1666938,1666965,1667120,1667228,1667233-1667235,1667260-1667261,1667471,1667481,1667485,1667691,1667941,1667976,1668618,1671388,1672295,1673153,1673691,1674455-1674456,1674522,1674627,1676667,1677267,1678494,1680242,1680495,1680705,1680819,1683266,1684077,1687304,1687389,1687812,1691928,1692798-1692799,1693135,1693138,1693159,1694929,1695600,1695606,1695681,1701237,1702299-1
 702300,1702397,1702407,1702565,1703470,1703475,1706783,1708699,1711346,1714790,1717875,1717878,1718269,1722860,1722879,1722887,1724448,1728387,1740252,1740254,1740316,1746053,1746277,1761334,1764851,1766352,1766590,1767768,1770677,1785734,1785737-1785738,1785754,1786445-1786447,1786515,1794611
+/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,1532287,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,1539230,1540044,1540417,1540752,1541432,1541635,1541638,1541705,1541790,1542042,1542069,1542071,1542119,15
 42129,1542138,1542146,1542151,1542610,1542765,1542767,1542774,1543145,1543187,1543413,1543594,1543961,1544295,1544302-1544303,1544316,1544597,1544600,1544688,1544690,1544878,1544895,1545111,1545122,1545134,1545302,1545835,1545845,1547252,1547454,1547489,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,1560643,1560690,1560701,1561419,1561426-1561427,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,1573744,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,1590751,1591123,1592014,1592034,1592987,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1596882,1597884,1600311,1600315,1600323,1600331,1600348,1600368,1600393,1600563,1600781,1600909,1601851,1606009,1611380-1611381,1612225,1615211,1615219,1615255-1615256,1615260,1615263,1616131,1618472,1618841,1619071,1619105,1619118,1619153,1619380,1619393,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1632635,1633126,1636874,1637826,1640730,1640832,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646230,1646250,1646
 253,1646495,1646505,1646785-1646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1651963,1651966,1651980,1651997,1652182,1652195,1652200,1652744,1653039,1653622-1653623,1653988,1654039,1654162,1654186,1654271,1654932-1654934,1654937,1655651,1655712,1655738,1656713,1656893,1657182,1657195,1657401,1658115,1658168,1658417,1659013,1659315,1659399,1659553-1659554,1659867,1659869,1660071,1660186,1660220,1660508,1660593,1660646,1663500,1663991,1664476,1664480-1664481,1664483,1664507,1664520-1664521,1664523,1664526-1664527,1664531-1664532,1664586,1664595,1664612,1664684,1665845,1665850,1665852,1665874,1666690,1666938,1666965,1667120,1667228,1667233-1667235,1667260-1667261,1667471,1667481,1667485,1667691,1667941,1667976,1668618,1671388,1672295,1673153,1673691,1674455-1674456,1674522,1674627,1676667,1677267,1678494,1680242,1680495,1680705,1680819,1683266,1684077,1687304,1687389,1687812,1691928,1692798-1692799,1693135,1693138,1693159,1694929,1695600,1695606,1695681,1701237,1702299-1
 702300,1702397,1702407,1702565,1703470,1703475,1706783,1708699,1711346,1714790,1717875,1717878,1718269,1722860,1722879,1722887,1724448,1728387,1740252,1740254,1740316,1745515,1746053,1746277,1746364,1759116,1761334,1764851,1766352,1766590,1767768,1770677,1785053,1785734,1785737-1785738,1785754,1786445-1786447,1786515,1794611
 /subversion/trunk/subversion/tests:1652182

Modified: subversion/branches/1.8.x-strict-rep-sharing/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-strict-rep-sharing/STATUS?rev=1800387&r1=1800386&r2=1800387&view=diff
==============================================================================
--- subversion/branches/1.8.x-strict-rep-sharing/STATUS (original)
+++ subversion/branches/1.8.x-strict-rep-sharing/STATUS Fri Jun 30 12:20:58 2017
@@ -29,19 +29,23 @@ Candidate changes:
      +1: stefan2, breser
      -0: julianfoad (test is missing from branch -- how do we know it works?)
 
- * r1745515, r1746364
-   Update serf download URIs to ASF.
+ * r1785737, r1785738, r1785734, r1786447, r1785754, r1786445, r1786446, r1786515, r1794611
+   Make FSFS consistency no longer depend on hash algorithms.
    Justification:
-     Resolves build script issues since the old google code URI is 404 now.
+     This eliminates any existing or future FSFS vulnerability due to
+     attacks on MD5 or SHA1.
+   Branch:
+     ^/subversion/branches/1.8.x-strict-rep-sharing
    Notes:
-     Merge with --accept=working due to absence of
-     tools/dev/build-svn-deps-win.pl on the 1.8 branch.
+     Depends on r1759116 for correctness with older APR.
+     While the backport code is very close to the /trunk changes, it is
+     easier to review them as r1787637, r1787638 and r1787652 on the branch.
+     Will create a text conflict with the r1785053 backport.  Depending on
+     which change gets merged first, the respective other must be updated.
    Votes:
-     +1: stsp (without r1746364)
      +1: stefan2
-     -0: rhuijben (Makefile.svn is patched but not fixed)
-     -0 (non-binding): luke1410 (r1700130 is missing - will have to create a
-                       backport branch)
+     -1: rhuijben (Until some additional fix like on 1.9 is applied. After that +1
+                   on the current changes)
 
 Veto-blocked changes:
 =====================

Propchange: subversion/branches/1.8.x-strict-rep-sharing/STATUS
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 30 12:20:58 2017
@@ -1,5 +1,6 @@
 /subversion/branches/1.5.x-r30215/STATUS:870312
 /subversion/branches/1.7.x-fs-verify/STATUS:1146708,1161180
+/subversion/branches/1.8.x/STATUS:1787634-1800383
 /subversion/branches/1.8.x-VS2013-14/STATUS:1603404-1615199
 /subversion/branches/1.8.x-apr-0.9/STATUS:1585493-1589570
 /subversion/branches/1.8.x-busted-proxy/STATUS:1499222-1502434

Modified: subversion/branches/1.8.x-strict-rep-sharing/get-deps.sh
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-strict-rep-sharing/get-deps.sh?rev=1800387&r1=1800386&r2=1800387&view=diff
==============================================================================
--- subversion/branches/1.8.x-strict-rep-sharing/get-deps.sh (original)
+++ subversion/branches/1.8.x-strict-rep-sharing/get-deps.sh Fri Jun 30 12:20:58 2017
@@ -89,7 +89,7 @@ get_serf() {
     test -d $BASEDIR/serf && return
 
     cd $TEMPDIR
-    $HTTP_FETCH http://serf.googlecode.com/svn/src_releases/$SERF.tar.bz2
+    $HTTP_FETCH https://archive.apache.org/dist/serf/$SERF.tar.bz2
     cd $BASEDIR
 
     bzip2 -dc $TEMPDIR/$SERF.tar.bz2 | tar -xf -

Propchange: subversion/branches/1.8.x-strict-rep-sharing/subversion/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 30 12:20:58 2017
@@ -1,5 +1,6 @@
 /subversion/branches/1.5.x-r30215/subversion:870312
 /subversion/branches/1.7.x-fs-verify/subversion:1146708,1161180
+/subversion/branches/1.8.x/subversion:1787634-1800383
 /subversion/branches/1.8.x-VS2013-14/subversion:1603404-1615199
 /subversion/branches/1.8.x-apr-0.9/subversion:1585493-1589570
 /subversion/branches/1.8.x-busted-proxy/subversion:1499222-1502434
@@ -77,6 +78,7 @@
 /subversion/branches/1.8.x-r1724448/subversion:1725268-1770305,1770343-1770610
 /subversion/branches/1.8.x-r175-daemonize/subversion:1515866-1516020
 /subversion/branches/1.8.x-r1764851/subversion:1764858-1770300
+/subversion/branches/1.8.x-r1785053/subversion:1786517-1800377
 /subversion/branches/1.8.x-rm-external-dir/subversion:1600632-1615197
 /subversion/branches/1.8.x-serf-1.3+-windows/subversion:1517122-1533873
 /subversion/branches/1.8.x-serf-no-lock-support/subversion:1584583-1591109
@@ -156,4 +158,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,1532287,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,1539230,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,1545134,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,1578
 853,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,1590751,1591123,1592014,1592034,1592987,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1597884,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,1618472,1618841,1619071,1619105,1619118,1619153,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1632635,1633126,1636874,1637826,1640730,1640832,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646230,1646250,1646253,1646495,1646505,1646785-1
 646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1651963,1651966,1651980,1651997,1652182,1652195,1652200,1652744,1653039,1653622-1653623,1653988,1654039,1654162,1654186,1654271,1654933-1654934,1655651,1655712,1655738,1656713,1656893,1657182,1657195,1657401,1658115,1658168,1658417,1659013,1659315,1659399,1659553-1659554,1659867,1659869,1660071,1660220,1660508,1660593,1660646,1663500,1663991,1664476,1664480-1664481,1664483,1664507,1664520-1664521,1664523,1664526-1664527,1664531-1664532,1664684,1665845,1665850,1665852,1665874,1666690,1666965,1667120,1667228,1667233-1667235,1667471,1667691,1667941,1667976,1668618,1671388,1672295,1673153,1673691,1674455-1674456,1674522,1674627,1678494,1680242,1680495,1680705,1680819,1683266,1684077,1687812,1691928,1694929,1695600,1695606,1695681,1701237,1702299-1702300,1702397,1702407,1702565,1706783,1708699,1711346,1714790,1717875,1717878,1718269,1722860,1722879,1722887,1724448,1728387,1740252,1740254,1740316,1764851,1767768,1770677,178573
 4,1785737-1785738,1785754,1786445-1786447,1786515,1794611
+/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,1532287,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,1539230,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,1545134,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,1578
 853,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,1590751,1591123,1592014,1592034,1592987,1593992,1594156,1594223,1594794,1594814,1594834,1595061,1595431,1596866,1597884,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,1618472,1618841,1619071,1619105,1619118,1619153,1619774,1619802,1620332,1621978,1621981,1625522,1625533,1625537,1628431,1628536,1628540,1632635,1633126,1636874,1637826,1640730,1640832,1640862,1640873,1641564,1643033,1643074,1643409,1643437,1643457,1643461,1643482,1643793,1643810,1643972-1643973,1644158,1644530,1644595,1644599,1646230,1646250,1646253,1646495,1646505,1646785-1
 646786,1646797,1647339,1650481,1650489,1650531,1650834,1651759,1651963,1651966,1651980,1651997,1652182,1652195,1652200,1652744,1653039,1653622-1653623,1653988,1654039,1654162,1654186,1654271,1654933-1654934,1655651,1655712,1655738,1656713,1656893,1657182,1657195,1657401,1658115,1658168,1658417,1659013,1659315,1659399,1659553-1659554,1659867,1659869,1660071,1660220,1660508,1660593,1660646,1663500,1663991,1664476,1664480-1664481,1664483,1664507,1664520-1664521,1664523,1664526-1664527,1664531-1664532,1664684,1665845,1665850,1665852,1665874,1666690,1666965,1667120,1667228,1667233-1667235,1667471,1667691,1667941,1667976,1668618,1671388,1672295,1673153,1673691,1674455-1674456,1674522,1674627,1678494,1680242,1680495,1680705,1680819,1683266,1684077,1687812,1691928,1694929,1695600,1695606,1695681,1701237,1702299-1702300,1702397,1702407,1702565,1706783,1708699,1711346,1714790,1717875,1717878,1718269,1722860,1722879,1722887,1724448,1728387,1740252,1740254,1740316,1759116,1764851,1767768,177067
 7,1785053,1785734,1785737-1785738,1785754,1786445-1786447,1786515,1794611

Modified: subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_fs_fs/fs_fs.c?rev=1800387&r1=1800386&r2=1800387&view=diff
==============================================================================
--- subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_fs_fs/fs_fs.c Fri Jun 30 12:20:58 2017
@@ -8080,20 +8080,28 @@ write_hash_handler(void *baton,
    the process, record position, the total size of the dump and MD5 as
    well as SHA1 in REP.   If rep sharing has been enabled and REPS_HASH
    is not NULL, it will be used in addition to the on-disk cache to find
-   earlier reps with the same content.  When such existing reps can be
-   found, we will truncate the one just written from the file and return
-   the existing rep.  Perform temporary allocations in POOL. */
+   earlier reps with the same content.
+
+   If ALLOW_REP_SHARING is FALSE, rep-sharing will not be used, regardless
+   of any other option and rep-sharing settings.  If rep sharing has been
+   enabled and REPS_HASH is not NULL, it will be used in addition to the
+   on-disk cache to find earlier reps with the same content.  If such
+   existing reps can be found, we will truncate the one just written from
+   the file and return the existing rep.
+
+   Perform temporary allocations in POOL. */
 static svn_error_t *
 write_hash_rep(representation_t *rep,
                apr_file_t *file,
                apr_hash_t *hash,
                svn_fs_t *fs,
                apr_hash_t *reps_hash,
+               svn_boolean_t allow_rep_sharing,
                apr_pool_t *pool)
 {
   svn_stream_t *stream;
   struct write_hash_baton *whb;
-  representation_t *old_rep;
+  representation_t *old_rep = NULL;
 
   SVN_ERR(get_file_offset(&rep->offset, file, pool));
 
@@ -8121,8 +8129,9 @@ write_hash_rep(representation_t *rep,
 
   /* Check and see if we already have a representation somewhere that's
      identical to the one we just wrote out. */
-  SVN_ERR(get_shared_rep(&old_rep, fs, rep, file, rep->offset, reps_hash,
-                         pool));
+  if (allow_rep_sharing)
+    SVN_ERR(get_shared_rep(&old_rep, fs, rep, file, rep->offset, reps_hash,
+                           pool));
 
   if (old_rep)
     {
@@ -8145,9 +8154,16 @@ write_hash_rep(representation_t *rep,
    text representation to file FILE.  In the process, record the total size
    and the md5 digest in REP.  If rep sharing has been enabled and REPS_HASH
    is not NULL, it will be used in addition to the on-disk cache to find
-   earlier reps with the same content.  When such existing reps can be found,
-   we will truncate the one just written from the file and return the existing
-   rep.  If PROPS is set, assume that we want to a props representation as
+   earlier reps with the same content.
+
+   If PROPS is FALSE, rep-sharing will not be used, regardless
+   of any other option and rep-sharing settings.  If rep sharing has been
+   enabled and REPS_HASH is not NULL, it will be used in addition to the
+   on-disk cache to find earlier reps with the same content.  If such
+   existing reps can be found, we will truncate the one just written from
+   the file and return the existing rep.
+
+   If PROPS is set, assume that we want to a props representation as
    the base for our delta.  Perform temporary allocations in POOL. */
 static svn_error_t *
 write_hash_delta_rep(representation_t *rep,
@@ -8165,7 +8181,7 @@ write_hash_delta_rep(representation_t *r
   svn_stream_t *file_stream;
   svn_stream_t *stream;
   representation_t *base_rep;
-  representation_t *old_rep;
+  representation_t *old_rep = NULL;
   svn_stream_t *source;
   const char *header;
 
@@ -8232,8 +8248,9 @@ write_hash_delta_rep(representation_t *r
 
   /* Check and see if we already have a representation somewhere that's
      identical to the one we just wrote out. */
-  SVN_ERR(get_shared_rep(&old_rep, fs, rep, file, rep->offset, reps_hash,
-                         pool));
+  if (props)
+    SVN_ERR(get_shared_rep(&old_rep, fs, rep, file, rep->offset, reps_hash,
+                           pool));
 
   if (old_rep)
     {
@@ -8416,7 +8433,7 @@ write_final_rev(const svn_fs_id_t **new_
                                          FALSE, pool));
           else
             SVN_ERR(write_hash_rep(noderev->data_rep, file, str_entries,
-                                   fs, NULL, pool));
+                                   fs, NULL, FALSE, pool));
         }
     }
   else
@@ -8454,7 +8471,7 @@ write_final_rev(const svn_fs_id_t **new_
                                      TRUE, pool));
       else
         SVN_ERR(write_hash_rep(noderev->prop_rep, file, proplist,
-                               fs, reps_hash, pool));
+                               fs, reps_hash, TRUE, pool));
 
       noderev->prop_rep->txn_id = NULL;
     }

Modified: subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_subr/io.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_subr/io.c?rev=1800387&r1=1800386&r2=1800387&view=diff
==============================================================================
--- subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_subr/io.c (original)
+++ subversion/branches/1.8.x-strict-rep-sharing/subversion/libsvn_subr/io.c Fri Jun 30 12:20:58 2017
@@ -3504,6 +3504,26 @@ svn_io_write_unique(const char **tmp_pat
 svn_error_t *
 svn_io_file_trunc(apr_file_t *file, apr_off_t offset, apr_pool_t *pool)
 {
+  /* Workaround for yet another APR issue with trunc.
+
+     If the APR file internally is in read mode, the current buffer pointer
+     will not be clipped to the valid data range. get_file_offset may then
+     return an invalid position *after* new data was written to it.
+
+     To prevent this, write 1 dummy byte just after the OFFSET at which we
+     will trunc it.  That will force the APR file into write mode
+     internally and the flush() work-around below becomes affective. */
+  apr_off_t position = 0;
+
+  /* A frequent usage is OFFSET==0, in which case we don't need to preserve
+     any file content or file pointer. */
+  if (offset)
+    {
+      SVN_ERR(svn_io_file_seek(file, APR_CUR, &position, pool));
+      SVN_ERR(svn_io_file_seek(file, APR_SET, &offset, pool));
+    }
+  SVN_ERR(svn_io_file_putc(0, file, pool));
+
   /* This is a work-around. APR would flush the write buffer
      _after_ truncating the file causing now invalid buffered
      data to be written behind OFFSET. */
@@ -3512,10 +3532,17 @@ svn_io_file_trunc(apr_file_t *file, apr_
                                      N_("Can't flush stream"),
                                      pool));
 
-  return do_io_file_wrapper_cleanup(file, apr_file_trunc(file, offset),
-                                    N_("Can't truncate file '%s'"),
-                                    N_("Can't truncate stream"),
-                                    pool);
+  SVN_ERR(do_io_file_wrapper_cleanup(file, apr_file_trunc(file, offset),
+                                     N_("Can't truncate file '%s'"),
+                                     N_("Can't truncate stream"),
+                                     pool));
+
+  /* Restore original file pointer, if necessary.
+     It's currently at OFFSET. */
+  if (position < offset)
+    SVN_ERR(svn_io_file_seek(file, APR_SET, &position, pool));
+
+  return SVN_NO_ERROR;
 }
 
 

Modified: subversion/branches/1.8.x-strict-rep-sharing/subversion/tests/libsvn_subr/io-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-strict-rep-sharing/subversion/tests/libsvn_subr/io-test.c?rev=1800387&r1=1800386&r2=1800387&view=diff
==============================================================================
--- subversion/branches/1.8.x-strict-rep-sharing/subversion/tests/libsvn_subr/io-test.c (original)
+++ subversion/branches/1.8.x-strict-rep-sharing/subversion/tests/libsvn_subr/io-test.c Fri Jun 30 12:20:58 2017
@@ -508,6 +508,51 @@ read_length_line_shouldnt_loop(apr_pool_
 }
 
 
+static svn_error_t *
+test_apr_trunc_workaround(apr_pool_t *pool)
+{
+  const char *tmp_dir;
+  const char *tmp_file;
+  apr_file_t *f;
+  apr_size_t len;
+  apr_off_t offset;
+  char dummy;
+
+  /* create a temp folder & schedule it for automatic cleanup */
+  SVN_ERR(svn_dirent_get_absolute(&tmp_dir, "test_apr_trunc_workaround",
+                                  pool));
+  SVN_ERR(svn_io_remove_dir2(tmp_dir, TRUE, NULL, NULL, pool));
+  SVN_ERR(svn_io_make_dir_recursively(tmp_dir, pool));
+  svn_test_add_dir_cleanup(tmp_dir);
+
+  /* create an r/w file */
+  tmp_file = svn_dirent_join(tmp_dir, "file", pool);
+  SVN_ERR(svn_io_file_open(&f, tmp_file,
+                           APR_READ | APR_WRITE | APR_BUFFERED | APR_CREATE |
+                              APR_TRUNCATE,
+                           APR_OS_DEFAULT, pool));
+
+  /* write some content and put it internally into read mode */
+  len = 10;
+  SVN_ERR(svn_io_file_write(f, "0123456789", &len, pool));
+
+  offset = 0;
+  SVN_ERR(svn_io_file_seek(f, APR_SET, &offset, pool));
+  SVN_ERR(svn_io_file_getc(&dummy, f, pool));
+
+  /* clear the file and write some new content */
+  SVN_ERR(svn_io_file_trunc(f, 0, pool));
+  len = 3;
+  SVN_ERR(svn_io_file_write(f, "abc", &len, pool));
+
+  /* we should now be positioned at the end of the new content */
+  offset = 0;
+  SVN_ERR(svn_io_file_seek(f, APR_CUR, &offset, pool));
+  SVN_TEST_ASSERT(offset == (int)len);
+
+  return SVN_NO_ERROR;  
+}
+
 /* The test table.  */
 
 struct svn_test_descriptor_t test_funcs[] =
@@ -523,5 +568,7 @@ struct svn_test_descriptor_t test_funcs[
                    "three file content comparison"),
     SVN_TEST_PASS2(read_length_line_shouldnt_loop,
                    "svn_io_read_length_line() shouldn't loop"),
+    SVN_TEST_PASS2(test_apr_trunc_workaround,
+                   "test workaround for APR in svn_io_file_trunc"),
     SVN_TEST_NULL
   };

Modified: subversion/branches/1.8.x-strict-rep-sharing/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-strict-rep-sharing/tools/dev/unix-build/Makefile.svn?rev=1800387&r1=1800386&r2=1800387&view=diff
==============================================================================
--- subversion/branches/1.8.x-strict-rep-sharing/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/1.8.x-strict-rep-sharing/tools/dev/unix-build/Makefile.svn Fri Jun 30 12:20:58 2017
@@ -117,7 +117,6 @@ GNU_ICONV_URL	= http://ftp.gnu.org/pub/g
 APR_UTIL_URL	= http://svn.apache.org/repos/asf/apr/apr-util
 HTTPD_URL	= http://archive.apache.org/dist/httpd/$(HTTPD_DIST)
 NEON_URL	= http://webdav.org/neon/$(NEON_DIST)
-#SERF_URL	= http://serf.googlecode.com/files/$(SERF_DIST)
 SERF_URL	= http://serf.googlecode.com/svn/tags/$(SERF_VER)
 SERF_OLD_URL	= http://serf.googlecode.com/svn/tags/$(SERF_OLD_VER)
 SQLITE_URL	= http://www.sqlite.org/2013/$(SQLITE_DIST)