Fix 'svn cp PATH PATH' with symlink targets, currently broken on the branch.
* include/svn_wc.h,
* subversion/libsvn_wc/adm_files.c
(svn_wc_create_tmp_file): Deprecate. Superseeded by svn_wc_create_tmp_file2.
(svn_wc_create_tmp_file2): New. In addition to a (now optional) file handle,
returns the path name of the created file.
* subversion/libsvn_wc/props.h,
* subversion/libsvn_wc/props.c
(svn_wc__has_special_property): New. Extracted from svn_wc__get_special.
* subversion/libsvn_wc/translate.c
(svn_wc__get_special): Implement in terms of svn_wc__has_special_property.
* subversion/libsvn_wc/log.h (SVN_WC__LOG_ATTR_ARG_1): Mark as
(optionally) used for SVN_LOG__CP_AND_TRANSLATE and
SVN_LOG__CP_AND_DETRANSLATE too now.
* subversion/libsvn_wc/log.c
(file_xfer_under_path): Add a special_only argument to restrict translation.
(log_do_file_xfer): Detect SVN_WC__LOG_ATTR_ARG_1 argument and restrict
translation to special-only if present.
* subversion/libsvn_wc/update_editor.c
(svn_wc_add_repos_file2): Translate special files when copying them.
* subversion/libsvn_wc/copy.c
(copy_file_administratively): Translate (instead of copying) special files
into their temporaries. Also, since svn_wc_add_repos_file claims ownership
of its arguments, give it a temporary instead of the copy-source.
git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/wc-replacements@856719 13f79535-47bb-0310-9956-ffa450edef68
9 files changed