Hi All,
Find the attached patch and log.
With regards
Kamesh Jayachandran
[[[
Patch by: Kamesh Jayachandran <kamesh@collab.net>
Define the sqlite mergeinfo db name(PATH_MERGEINFO_DB) in one file and consume
it from elsewhere.
svnadmin hotcopy for 'bdb' repositories should copy mergeinfo db also.
* subversion/include/private/svn_fs_merge_info.h
(PATH_MERGEINFO_DB): New macro.
* subversion/libsvn_fs_fs/fs_fs.c
(PATH_MERGEINFO_DB): Removed.
* subversion/libsvn_fs_util/merge-info-sqlite-index.c
(PATH_MERGEINFO_DB): Removed.
* subversion/libsvn_fs_base/fs.c
(base_hotcopy):
copy the PATH_MERGEINFO_DB to destination.
]]]
Index: subversion/include/private/svn_fs_merge_info.h
===================================================================
--- subversion/include/private/svn_fs_merge_info.h (revision 21795)
+++ subversion/include/private/svn_fs_merge_info.h (working copy)
@@ -24,6 +24,8 @@
extern "C" {
#endif /* __cplusplus */
+#define PATH_MERGEINFO_DB "mergeinfo.db" /* sqlite mergeinfo db. */
+
/* Create the merge info index under PATH. Use POOL for any temporary
allocations. */
svn_error_t *
Index: subversion/libsvn_fs_fs/fs_fs.c
===================================================================
--- subversion/libsvn_fs_fs/fs_fs.c (revision 21795)
+++ subversion/libsvn_fs_fs/fs_fs.c (working copy)
@@ -67,7 +67,6 @@
#define PATH_REVPROPS_DIR "revprops" /* Directory of revprops */
#define PATH_TXNS_DIR "transactions" /* Directory of transactions */
#define PATH_LOCKS_DIR "locks" /* Directory of locks */
-#define PATH_MERGEINFO_DB "mergeinfo.db" /* Contains mergeinfo. */
/* Names of special files and file extensions for transactions */
#define PATH_CHANGES "changes" /* Records changes made so far */
Index: subversion/libsvn_fs_util/merge-info-sqlite-index.c
===================================================================
--- subversion/libsvn_fs_util/merge-info-sqlite-index.c (revision 21795)
+++ subversion/libsvn_fs_util/merge-info-sqlite-index.c (working copy)
@@ -37,9 +37,6 @@
/* Following are defines that specify the textual elements of the
native filesystem directories and revision files. */
-/* Names of special files in the filesystem. */
-#define PATH_MERGEINFO_DB "mergeinfo.db" /* Contains mergeinfo. */
-
/* We want to cache that we saw no mergeinfo for a path as well,
so we use a -1 converted to a pointer to represent this. */
#define NEGATIVE_CACHE_RESULT ((void *)(-1))
Index: subversion/libsvn_fs_base/fs.c
===================================================================
--- subversion/libsvn_fs_base/fs.c (revision 21795)
+++ subversion/libsvn_fs_base/fs.c (working copy)
@@ -1029,6 +1029,9 @@
/* Copy the DB_CONFIG file. */
SVN_ERR(svn_io_dir_file_copy(src_path, dest_path, "DB_CONFIG", pool));
+ /* Copy the merge tracking info. */
+ SVN_ERR(svn_io_dir_file_copy(src_path, dest_path, PATH_MERGEINFO_DB, pool));
+
/* In order to copy the database files safely and atomically, we
must copy them in chunks which are multiples of the page-size
used by BDB. See sleepycat docs for details, or svn issue #1818. */
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 6 10:49:45 2006