Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/svn/svn.c view on Meta::CPAN
svn_node_kind_t kind;
const char *local_abspath;
const char *fname_utf8 = svn_dirent_internal_style(dash_F_arg, pool);
err = svn_dirent_get_absolute(&local_abspath, fname_utf8, pool);
if (!err)
{
err = svn_wc_read_kind2(&kind, ctx->wc_ctx, local_abspath, TRUE,
FALSE, pool);
if (!err && kind != svn_node_none && kind != svn_node_unknown)
{
if (subcommand->cmd_func != svn_cl__lock)
{
err = svn_error_create(
SVN_ERR_CL_LOG_MESSAGE_IS_VERSIONED_FILE, NULL,
_("Log message file is a versioned file; "
"use '--force-log' to override"));
}
else
{
err = svn_error_create(
SVN_ERR_CL_LOG_MESSAGE_IS_VERSIONED_FILE, NULL,
_("Lock comment file is a versioned file; "
"use '--force-log' to override"));
}
return EXIT_ERROR(err);
}
}
svn_error_clear(err);
}
/* If the -m argument is a file at all, that's probably not what
the user intended. */
if (dash_m_arg)
{
apr_finfo_t finfo;
if (apr_stat(&finfo, dash_m_arg,
APR_FINFO_MIN, pool) == APR_SUCCESS)
{
if (subcommand->cmd_func != svn_cl__lock)
{
err = svn_error_create
(SVN_ERR_CL_LOG_MESSAGE_IS_PATHNAME, NULL,
_("The log message is a pathname "
"(was -F intended?); use '--force-log' to override"));
}
else
{
err = svn_error_create
(SVN_ERR_CL_LOG_MESSAGE_IS_PATHNAME, NULL,
_("The lock comment is a pathname "
"(was -F intended?); use '--force-log' to override"));
}
return EXIT_ERROR(err);
}
}
}
/* XXX: Only diff_cmd for now, overlay rest later and stop passing
opt_state altogether? */
if (opt_state.diff.diff_cmd)
svn_config_set(cfg_config, SVN_CONFIG_SECTION_HELPERS,
SVN_CONFIG_OPTION_DIFF_CMD, opt_state.diff.diff_cmd);
if (opt_state.merge_cmd)
svn_config_set(cfg_config, SVN_CONFIG_SECTION_HELPERS,
SVN_CONFIG_OPTION_DIFF3_CMD, opt_state.merge_cmd);
if (opt_state.diff.internal_diff)
svn_config_set(cfg_config, SVN_CONFIG_SECTION_HELPERS,
SVN_CONFIG_OPTION_DIFF_CMD, NULL);
/* Check for mutually exclusive args --auto-props and --no-auto-props */
if (opt_state.autoprops && opt_state.no_autoprops)
{
err = svn_error_create(SVN_ERR_CL_MUTUALLY_EXCLUSIVE_ARGS, NULL,
_("--auto-props and --no-auto-props are "
"mutually exclusive"));
return EXIT_ERROR(err);
}
/* Update auto-props-enable option, and populate the MIME types map,
for add/import commands */
if (subcommand->cmd_func == svn_cl__add
|| subcommand->cmd_func == svn_cl__import)
{
const char *mimetypes_file;
svn_config_get(cfg_config, &mimetypes_file,
SVN_CONFIG_SECTION_MISCELLANY,
SVN_CONFIG_OPTION_MIMETYPES_FILE, FALSE);
if (mimetypes_file && *mimetypes_file)
{
SVN_INT_ERR(svn_io_parse_mimetypes_file(&(ctx->mimetypes_map),
mimetypes_file, pool));
}
if (opt_state.autoprops)
{
svn_config_set_bool(cfg_config, SVN_CONFIG_SECTION_MISCELLANY,
SVN_CONFIG_OPTION_ENABLE_AUTO_PROPS, TRUE);
}
if (opt_state.no_autoprops)
{
svn_config_set_bool(cfg_config, SVN_CONFIG_SECTION_MISCELLANY,
SVN_CONFIG_OPTION_ENABLE_AUTO_PROPS, FALSE);
}
}
/* Update the 'keep-locks' runtime option */
if (opt_state.no_unlock)
svn_config_set_bool(cfg_config, SVN_CONFIG_SECTION_MISCELLANY,
SVN_CONFIG_OPTION_NO_UNLOCK, TRUE);
/* Set the log message callback function. Note that individual
subcommands will populate the ctx->log_msg_baton3. */
ctx->log_msg_func3 = svn_cl__get_log_message;
/* Set up the notifier.
In general, we use it any time we aren't in --quiet mode. 'svn
status' is unique, though, in that we don't want it in --quiet mode
( run in 2.484 seconds using v1.01-cache-2.11-cpan-22024b96cdf )