You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2018/03/27 04:00:08 UTC
svn commit: r1827798 - in /subversion/branches/1.10.x: ./ STATUS
subversion/libsvn_fs_fs/cached_data.c
subversion/libsvn_fs_fs/temp_serializer.h
subversion/tests/cmdline/svnadmin_tests.py
Author: svn-role
Date: Tue Mar 27 04:00:07 2018
New Revision: 1827798
URL: http://svn.apache.org/viewvc?rev=1827798&view=rev
Log:
Merge the r1826811 group from trunk:
* r1826811, r1826814, r1826877, r1826907, r1826971
Fix issue 4725: FSFS block-read mode doesn't work.
Justification:
Block-read is enabled automatically when svnadmin has a cache bigger
than 64MB. It can be manually enabled in mod_dav_svn/svnserve.
Votes:
+1: philip, stefan2, rhuijben
Modified:
subversion/branches/1.10.x/ (props changed)
subversion/branches/1.10.x/STATUS
subversion/branches/1.10.x/subversion/libsvn_fs_fs/cached_data.c
subversion/branches/1.10.x/subversion/libsvn_fs_fs/temp_serializer.h
subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py
Propchange: subversion/branches/1.10.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 27 04:00:07 2018
@@ -100,4 +100,4 @@
/subversion/branches/verify-at-commit:1462039-1462408
/subversion/branches/verify-keep-going:1439280-1546110
/subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1817837,1817856,1818577-1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819146,1819162,1819444,1819556-1819557,1819603,1819804,1819911,1820044,1820046-1820047,1820518,1820627,1820718,1820778,1821183,1821224,1821621,1821678,1822401,1822587,1822591,1822996,1823202-1823203,1823211,1823327,1823791,1823966,1823989,1824033,1825024,1825045,1825215,1825266,1825306,1825709,1825711,1825721,1825736,1825778,1825783,1825787-1825788,1826747,1827105,1827114,1827562
+/subversion/trunk:1817837,1817856,1818577-1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819146,1819162,1819444,1819556-1819557,1819603,1819804,1819911,1820044,1820046-1820047,1820518,1820627,1820718,1820778,1821183,1821224,1821621,1821678,1822401,1822587,1822591,1822996,1823202-1823203,1823211,1823327,1823791,1823966,1823989,1824033,1825024,1825045,1825215,1825266,1825306,1825709,1825711,1825721,1825736,1825778,1825783,1825787-1825788,1826747,1826811,1826814,1826877,1826907,1826971,1827105,1827114,1827562
Modified: subversion/branches/1.10.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1827798&r1=1827797&r2=1827798&view=diff
==============================================================================
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Mar 27 04:00:07 2018
@@ -39,14 +39,6 @@ Veto-blocked changes:
Approved changes:
=================
- * r1826811, r1826814, r1826877, r1826907, r1826971
- Fix issue 4725: FSFS block-read mode doesn't work.
- Justification:
- Block-read is enabled automatically when svnadmin has a cache bigger
- than 64MB. It can be manually enabled in mod_dav_svn/svnserve.
- Votes:
- +1: philip, stefan2, rhuijben
-
* r1827337
Shelving: Name the subcommands 'x-shelve' etc.
Justification:
Modified: subversion/branches/1.10.x/subversion/libsvn_fs_fs/cached_data.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/libsvn_fs_fs/cached_data.c?rev=1827798&r1=1827797&r2=1827798&view=diff
==============================================================================
--- subversion/branches/1.10.x/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/branches/1.10.x/subversion/libsvn_fs_fs/cached_data.c Tue Mar 27 04:00:07 2018
@@ -1268,7 +1268,7 @@ parse_raw_window(void **out,
stream = svn_stream_from_string(&raw_window, result_pool);
/* parse it */
- SVN_ERR(svn_txdelta_read_svndiff_window(&result->window, stream, 1,
+ SVN_ERR(svn_txdelta_read_svndiff_window(&result->window, stream, window->ver,
result_pool));
/* complete the window and return it */
@@ -3206,7 +3206,7 @@ init_rep_state(rep_state_t *rs,
rs->start = entry->offset + rs->header_size;
rs->current = rep_header->type == svn_fs_fs__rep_plain ? 0 : 4;
rs->size = entry->size - rep_header->header_size - 7;
- rs->ver = 1;
+ rs->ver = -1;
rs->chunk_index = 0;
rs->raw_window_cache = ffd->raw_window_cache;
rs->window_cache = ffd->txdelta_window_cache;
@@ -3264,6 +3264,9 @@ cache_windows(svn_fs_t *fs,
apr_pool_t *pool)
{
apr_pool_t *iterpool = svn_pool_create(pool);
+
+ SVN_ERR(auto_read_diff_version(rs, iterpool));
+
while (rs->current < rs->size)
{
apr_off_t end_offset;
@@ -3324,6 +3327,7 @@ cache_windows(svn_fs_t *fs,
window.end_offset = rs->current;
window.window.len = window_len;
window.window.data = buf;
+ window.ver = rs->ver;
/* cache the window now */
SVN_ERR(svn_cache__set(rs->raw_window_cache, &key, &window,
Modified: subversion/branches/1.10.x/subversion/libsvn_fs_fs/temp_serializer.h
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/libsvn_fs_fs/temp_serializer.h?rev=1827798&r1=1827797&r2=1827798&view=diff
==============================================================================
--- subversion/branches/1.10.x/subversion/libsvn_fs_fs/temp_serializer.h (original)
+++ subversion/branches/1.10.x/subversion/libsvn_fs_fs/temp_serializer.h Tue Mar 27 04:00:07 2018
@@ -60,6 +60,9 @@ typedef struct
/* the offset within the representation right after reading the window */
apr_off_t end_offset;
+
+ /* svndiff version */
+ int ver;
} svn_fs_fs__raw_cached_window_t;
/**
Modified: subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py?rev=1827798&r1=1827797&r2=1827798&view=diff
==============================================================================
--- subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py Tue Mar 27 04:00:07 2018
@@ -3801,6 +3801,28 @@ def dump_invalid_filtering_option(sbox):
'--include', '/A/B/E',
sbox.repo_dir)
+@Issue(4725)
+def load_issue4725(sbox):
+ """load that triggers issue 4725"""
+
+ sbox.build(empty=True)
+
+ sbox.simple_mkdir('subversion')
+ sbox.simple_commit()
+ sbox.simple_mkdir('subversion/trunk')
+ sbox.simple_mkdir('subversion/branches')
+ sbox.simple_commit()
+ sbox.simple_mkdir('subversion/trunk/src')
+ sbox.simple_commit()
+
+ _, dump, _ = svntest.actions.run_and_verify_svnadmin(None, [],
+ 'dump', '-q',
+ sbox.repo_dir)
+
+ sbox2 = sbox.clone_dependent()
+ sbox2.build(create_wc=False, empty=True)
+ load_and_verify_dumpstream(sbox2, None, [], None, False, dump, '-M100')
+
########################################################################
# Run the tests
@@ -3873,7 +3895,8 @@ test_list = [ None,
dump_exclude_by_pattern,
dump_include_by_pattern,
dump_exclude_all_rev_changes,
- dump_invalid_filtering_option
+ dump_invalid_filtering_option,
+ load_issue4725,
]
if __name__ == '__main__':