Author: stefan2
Date: Thu Apr 18 18:11:28 2013
New Revision: 1469507

URL: http://svn.apache.org/r1469507
Log:
On the fsfs-format7 branch: fix a few bugs in the change list container.
Also, remove unused functions from the API.

* subversion/libsvn_fs_fs/changes.h
  (svn_fs_fs__changes_start_list,
   svn_fs_fs__changes_append_change): drop unused API

* subversion/libsvn_fs_fs/changes.c
  (svn_fs_fs__changes_start_list,
   svn_fs_fs__changes_append_change): remove implemenation
  (append_change_body): rename to ...
  (append_change): ... this; fix construction of FLAGS
  (svn_fs_fs__changes_append_list): terminate list *after* adding changes
  (svn_fs_fs__changes_get_list): fix copy-n-pasto

Modified:
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.c
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.h

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.c?rev=1469507&r1=1469506&r2=1469507&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.c 
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.c Thu Apr 
18 18:11:28 2013
@@ -130,7 +130,7 @@ svn_fs_fs__changes_create(apr_size_t ini
 }
 
 apr_size_t
-svn_fs_fs__changes_start_list(svn_fs_fs__changes_t *changes)
+svn_fs_fs__changes_end_list(svn_fs_fs__changes_t *changes)
 {
   APR_ARRAY_PUSH(changes->offsets, int) = changes->changes->nelts;
   return (apr_size_t)(changes->offsets->nelts - 2);
@@ -154,8 +154,8 @@ append_change_body(svn_fs_fs__changes_t 
   binary_change.flags = (change->text_mod ? CHANGE_TEXT_MOD : 0)
                       | (change->prop_mod ? CHANGE_PROP_MOD : 0)
                       | (is_txn_id ? CHANGE_TXN_NODE : 0)
-                      | ((int)change->kind < CHANGE_KIND_SHIFT)
-                      | ((int)change->node_kind < CHANGE_NODE_SHIFT);
+                      | ((int)change->kind << CHANGE_KIND_SHIFT)
+                      | ((int)change->node_kind << CHANGE_NODE_SHIFT);
 
   /* Path of the change. */
   binary_change.path
@@ -218,10 +218,11 @@ svn_fs_fs__changes_append_list(apr_size_
   SVN_ERR_ASSERT(changes->paths == NULL);
 
   /* simply append the list and all changes */
-  *list_index = svn_fs_fs__changes_start_list(changes);
   for (i = 0; i < list->nelts; ++i)
     append_change_body(changes, APR_ARRAY_IDX(list, i, change_t *));
 
+  *list_index = svn_fs_fs__changes_end_list(changes);
+
   return SVN_NO_ERROR;
 }
 
@@ -301,7 +302,7 @@ svn_fs_fs__changes_get_list(apr_array_he
       if (SVN_IS_VALID_REVNUM(binary_change->copyfrom_rev))
         change->copyfrom_path 
           = svn_fs_fs__string_table_get(changes->paths,
-                                        binary_change->copyfrom_rev,
+                                        binary_change->copyfrom_path,
                                         pool);
 
       /* add it to the result */

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.h?rev=1469507&r1=1469506&r2=1469507&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.h 
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/changes.h Thu Apr 
18 18:11:28 2013
@@ -52,18 +52,6 @@ svn_fs_fs__changes_t *
 svn_fs_fs__changes_create(apr_size_t initial_count,
                           apr_pool_t *pool);
 
-/* Begin a new change list in CHANGES and return its index.
- * Implicitly terminates the previous change list (if any).
- */
-apr_size_t
-svn_fs_fs__changes_start_list(svn_fs_fs__changes_t *changes);
-
-/* Add CHANGE to the latest change list in CHANGES.
- */
-svn_error_t *
-svn_fs_fs__changes_append_change(svn_fs_fs__changes_t *changes,
-                                 change_t *change);
-
 /* Start a new change list CHANGES (implicitly terminating the previous one)
  * and return its index in *LIST_INDEX.  Append all changes from LIST to
  * that new change list.


Reply via email to