[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Fix issue #3686 - executable bit not set during merge

From: Daniel Becroft <djcbecroft_at_gmail.com>
Date: Wed, 9 Feb 2011 07:34:53 +1000

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

This is an archived mail posted to the Subversion Dev mailing list.