Hi,
Attached is a completed patch to resolve issue 3686[1], where the executable
bit is not maintained during the merge of a binary file.
I thought about making this change more generic, and applying it to text
files as well (there was discussion with performance of simple-case merging
a month ago on users@), but thought I'd leave that for later. I didn't want
to worry about (potential) line-endings, keywords, etc. problems.
[[[
Fix issue #3686 - executable bit not set during merge.
The cause was the special case in libsvn_client, which bypassed the use of
the
workqueue. This logic has now been moved into libsvn_wc.
Additionally, this change allows the status of binary files (during a
dry-run
merge) to be reported correctly (previously, all binary files were reported
as
conflicted).
* subversion/libsvn_client/merge.c
(merge_file_changed): Removed binary-merge special case (now in libsvn_wc).
Removed merge_required variable (resulting in indentation changes).
* subversion/libsvn_wc/merge.c
(merge_binary_file): Added dry_run parameter. Add the special case merging
of binary files.
* subversion/tests/cmdline/merge_tests.py
(merge_change_to_file_with_executable): Remove @XFail decorator.
]]]
[1]
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=2635024
Cheers,
Daniel B.
---
Daniel Becroft
Received on 2011-02-08 22:35:53 CET