675
675
SVN_ERR(svn_wc_status3(&status, ctx->wc_ctx, target_abspath_or_url, pool,
678
if (status->text_status != svn_wc_status_normal)
678
if (status->text_status != svn_wc_status_normal
679
|| (status->prop_status != svn_wc_status_normal
680
&& status->prop_status != svn_wc_status_none))
681
682
svn_stream_t *wcfile;
682
svn_string_t *keywords;
683
683
svn_stream_t *tempfile;
684
svn_opt_revision_t rev;
685
svn_boolean_t normalize_eols = FALSE;
684
686
const char *temppath;
685
apr_hash_t *kw = NULL;
687
SVN_ERR(svn_wc_prop_list2(&props, ctx->wc_ctx, target_abspath_or_url,
689
SVN_ERR(svn_stream_open_readonly(&wcfile, target, pool, pool));
691
keywords = apr_hash_get(props, SVN_PROP_KEYWORDS,
692
APR_HASH_KEY_STRING);
695
SVN_ERR(svn_subst_build_keywords2(&kw, keywords->data, NULL, NULL,
698
wcfile = svn_subst_stream_translated(wcfile, "\n", TRUE, kw, FALSE,
688
if (status->prop_status != svn_wc_status_none)
690
const svn_string_t *eol_style;
691
SVN_ERR(svn_wc_prop_get2(&eol_style, ctx->wc_ctx,
692
target_abspath_or_url,
698
svn_subst_eol_style_t style;
700
svn_subst_eol_style_from_value(&style, &eol, eol_style->data);
702
normalize_eols = (style == svn_subst_eol_style_native);
706
rev.kind = svn_opt_revision_working;
707
SVN_ERR(svn_client__get_normalized_stream(&wcfile, ctx->wc_ctx,
708
target_abspath_or_url, &rev,
709
FALSE, normalize_eols,
701
714
SVN_ERR(svn_stream_open_unique(&tempfile, &temppath, NULL,
702
715
svn_io_file_del_on_pool_cleanup,