Checkout
stefan2
committed
on 31 Jan 16
Define a callback-based FS API to report changed paths.

The old API is not going to be deprecated until the majority of users have
been mig… Show more
Define a callback-based FS API to report changed paths.

The old API is not going to be deprecated until the majority of users have

been migrated.  Also, there is no backend that implements the new API, so

this will simply segfault when being called.  The next patch will fix this

by adding a fallback implementation for it.

* subversion/include/svn_fs.h

 (svn_fs_path_change3_t): Declare the new path change data type.  Lose

                          the unusable noderev ID and add the path, so

                          this struct is now self-sufficient.

 (svn_fs_path_change3_create): Declare a suitable constructor to help

                               future binary compatibility.

 (svn_fs_path_change_receiver_t,

  svn_fs_paths_changed3): The actual new API & callback function type.

* subversion/include/private/svn_fs_util.h

 (svn_fs__path_change_create_internal2): Declare a suitable private API

                                         to instantiate the new data

                                         struct - similar to the old one.

* subversion/libsvn_fs_util/fs-util.c

 (svn_fs__path_change_create_internal2): Implement the new internal API

                                         similar to the old one.

* subversion/libsvn_fs/fs-loader.h

 (root_vtable_t): Add entry for the new API.

* subversion/libsvn_fs/fs-loader.c

 (svn_fs_paths_changed3): Implement as simple vtable call.  This will

                          actually segfault for now b/c nobody provides

                          the function.

 (svn_fs_path_change3_create): Implement like svn_fs_path_change2_create.

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_x/tree.c

 (root_vtable): None of these backends actually implement the new API. Show less