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 2012/07/08 13:39:03 UTC
svn commit: r1358722 - in /subversion/trunk/subversion: include/svn_fs.h
libsvn_fs_fs/fs_fs.c svnadmin/main.c
Author: stefan2
Date: Sun Jul 8 11:39:03 2012
New Revision: 1358722
URL: http://svn.apache.org/viewvc?rev=1358722&view=rev
Log:
Before bumping the FSFS format, add a pre-1.8 compatibility option
to svnadmin create.
* subversion/include/svn_fs.h
(SVN_FS_CONFIG_PRE_1_8_COMPATIBLE): new config flag
* subversion/libsvn_fs_fs/fs_fs.c
(svn_fs_fs__create): create format 4 FSFS for pre-1.8 compatibility
* subversion/svnadmin/main.c
(svn_opt_subcommand_t,
svnadmin__cmdline_options_t,
options_table): add pre-1.8 compatibility option
(cmd_table,
subcommand_create,
main): support the new option
Modified:
subversion/trunk/subversion/include/svn_fs.h
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
subversion/trunk/subversion/svnadmin/main.c
Modified: subversion/trunk/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_fs.h?rev=1358722&r1=1358721&r2=1358722&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_fs.h (original)
+++ subversion/trunk/subversion/include/svn_fs.h Sun Jul 8 11:39:03 2012
@@ -120,6 +120,13 @@ typedef struct svn_fs_t svn_fs_t;
* @since New in 1.6.
*/
#define SVN_FS_CONFIG_PRE_1_6_COMPATIBLE "pre-1.6-compatible"
+
+/** Create repository format compatible with Subversion versions
+ * earlier than 1.8.
+ *
+ * @since New in 1.8.
+ */
+#define SVN_FS_CONFIG_PRE_1_8_COMPATIBLE "pre-1.8-compatible"
/** @} */
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1358722&r1=1358721&r2=1358722&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Sun Jul 8 11:39:03 2012
@@ -7969,6 +7969,9 @@ svn_fs_fs__create(svn_fs_t *fs,
else if (apr_hash_get(fs->config, SVN_FS_CONFIG_PRE_1_6_COMPATIBLE,
APR_HASH_KEY_STRING))
format = 3;
+ else if (apr_hash_get(fs->config, SVN_FS_CONFIG_PRE_1_8_COMPATIBLE,
+ APR_HASH_KEY_STRING))
+ format = 4;
}
ffd->format = format;
Modified: subversion/trunk/subversion/svnadmin/main.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnadmin/main.c?rev=1358722&r1=1358721&r2=1358722&view=diff
==============================================================================
--- subversion/trunk/subversion/svnadmin/main.c (original)
+++ subversion/trunk/subversion/svnadmin/main.c Sun Jul 8 11:39:03 2012
@@ -191,7 +191,8 @@ enum svnadmin__cmdline_options_t
svnadmin__wait,
svnadmin__pre_1_4_compatible,
svnadmin__pre_1_5_compatible,
- svnadmin__pre_1_6_compatible
+ svnadmin__pre_1_6_compatible,
+ svnadmin__pre_1_8_compatible
};
/* Option codes and descriptions.
@@ -280,6 +281,10 @@ static const apr_getopt_option_t options
N_("use format compatible with Subversion versions\n"
" earlier than 1.6")},
+ {"pre-1.8-compatible", svnadmin__pre_1_8_compatible, 0,
+ N_("use format compatible with Subversion versions\n"
+ " earlier than 1.8")},
+
{"memory-cache-size", 'M', 1,
N_("size of the extra in-memory cache in MB used to\n"
" minimize redundant operations. Default: 16.\n"
@@ -305,7 +310,8 @@ static const svn_opt_subcommand_desc2_t
"Create a new, empty repository at REPOS_PATH.\n"),
{svnadmin__bdb_txn_nosync, svnadmin__bdb_log_keep,
svnadmin__config_dir, svnadmin__fs_type, svnadmin__pre_1_4_compatible,
- svnadmin__pre_1_5_compatible, svnadmin__pre_1_6_compatible
+ svnadmin__pre_1_5_compatible, svnadmin__pre_1_6_compatible,
+ svnadmin__pre_1_8_compatible
} },
{"deltify", subcommand_deltify, {0}, N_
@@ -475,6 +481,7 @@ struct svnadmin_opt_state
svn_boolean_t pre_1_4_compatible; /* --pre-1.4-compatible */
svn_boolean_t pre_1_5_compatible; /* --pre-1.5-compatible */
svn_boolean_t pre_1_6_compatible; /* --pre-1.6-compatible */
+ svn_boolean_t pre_1_8_compatible; /* --pre-1.8-compatible */
svn_opt_revision_t start_revision, end_revision; /* -r X[:Y] */
svn_boolean_t help; /* --help or -? */
svn_boolean_t version; /* --version */
@@ -625,6 +632,11 @@ subcommand_create(apr_getopt_t *os, void
APR_HASH_KEY_STRING,
"1");
+ if (opt_state->pre_1_8_compatible)
+ apr_hash_set(fs_config, SVN_FS_CONFIG_PRE_1_8_COMPATIBLE,
+ APR_HASH_KEY_STRING,
+ "1");
+
SVN_ERR(svn_repos_create(&repos, opt_state->repository_path,
NULL, NULL, NULL, fs_config, pool));
svn_fs_set_warning_func(svn_repos_fs(repos), warning_func, NULL);
@@ -1896,6 +1908,9 @@ main(int argc, const char *argv[])
case svnadmin__pre_1_6_compatible:
opt_state.pre_1_6_compatible = TRUE;
break;
+ case svnadmin__pre_1_8_compatible:
+ opt_state.pre_1_8_compatible = TRUE;
+ break;
case svnadmin__fs_type:
err = svn_utf_cstring_to_utf8(&opt_state.fs_type, opt_arg, pool);
if (err)