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 2013/01/25 11:10:20 UTC
svn commit: r1438412 - in
/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs: low_level.c
low_level.h transaction.c
Author: stefan2
Date: Fri Jan 25 10:10:19 2013
New Revision: 1438412
URL: http://svn.apache.org/viewvc?rev=1438412&view=rev
Log:
On the fsfs-format7 branch: Ensure that changes lists are always
terminated by an extra empty line. In format 6 and earlier, this
was done implicitly by the revision trailer (no longer present in
format 7).
* subversion/libsvn_fs_fs/low_level.h
(svn_fs_fs__write_changes): add flag to be set when writing the
last entry(ies)
* subversion/libsvn_fs_fs/low_level.c
(svn_fs_fs__unparse_revision_trailer): don't write the extra newline
(svn_fs_fs__write_changes): write it here instead
* subversion/libsvn_fs_fs/transaction.c
(svn_fs_fs__add_change,
write_final_changed_path_info): update callers
Modified:
subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c
subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h
subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c
Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c?rev=1438412&r1=1438411&r2=1438412&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.c Fri Jan 25 10:10:19 2013
@@ -166,7 +166,7 @@ svn_fs_fs__unparse_revision_trailer(apr_
apr_pool_t *pool)
{
return svn_stringbuf_createf(pool,
- "\n%" APR_OFF_T_FMT " %" APR_OFF_T_FMT "\n",
+ "%" APR_OFF_T_FMT " %" APR_OFF_T_FMT "\n",
root_offset,
changes_offset);
}
@@ -967,6 +967,7 @@ svn_error_t *
svn_fs_fs__write_changes(svn_stream_t *stream,
svn_fs_t *fs,
apr_hash_t *changes,
+ svn_boolean_t terminate_list,
apr_pool_t *pool)
{
apr_pool_t *iterpool = svn_pool_create(pool);
@@ -1016,6 +1017,9 @@ svn_fs_fs__write_changes(svn_stream_t *s
iterpool));
}
+ if (terminate_list)
+ svn_stream_puts(stream, "\n");
+
svn_pool_destroy(iterpool);
return SVN_NO_ERROR;
Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h?rev=1438412&r1=1438411&r2=1438412&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/low_level.h Fri Jan 25 10:10:19 2013
@@ -143,5 +143,6 @@ svn_error_t *
svn_fs_fs__write_changes(svn_stream_t *stream,
svn_fs_t *fs,
apr_hash_t *changes,
+ svn_boolean_t terminate_list,
apr_pool_t *pool);
Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c?rev=1438412&r1=1438411&r2=1438412&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/transaction.c Fri Jan 25 10:10:19 2013
@@ -1587,7 +1587,7 @@ svn_fs_fs__add_change(svn_fs_t *fs,
apr_hash_set(changes, path, APR_HASH_KEY_STRING, change);
SVN_ERR(svn_fs_fs__write_changes(svn_stream_from_aprfile2(file, TRUE, pool),
- fs, changes, pool));
+ fs, changes, FALSE, pool));
return svn_io_file_close(file, pool);
}
@@ -2825,7 +2825,7 @@ write_final_changed_path_info(apr_off_t
SVN_ERR(svn_fs_fs__txn_changes_fetch(&changed_paths, fs, txn_id, pool));
SVN_ERR(svn_fs_fs__write_changes(svn_stream_from_aprfile2(file, TRUE, pool),
- fs, changed_paths, pool));
+ fs, changed_paths, TRUE, pool));
*offset_p = offset;