On Wed, Mar 18, 2015 at 10:53:11PM +0100, Bert Huijben wrote:
> (Extending my original answer)
> 
> Mine-full should just be implemented as a simple resolve without changing the 
> file. The right 'mine' file is already in the right place on a conflict of a 
> binary file.
> 
> Creating a copy of a file, to allow replacing the original file with an 
> identical copy is not that useful.
> 
> 
> For text conflicts we create a file with conflict markers, and make the 
> original file available as mine.
> For binary files we can't (and don't) create such a file, so the file is 
> untouched.
> 
> Where does creating a copy help?
> 
>       Bert

Implementing the "mine-full" option as a simple resolve sounds good.
Restoring the working file from a copy might be a bad idea indeed.
Perhaps the user did change the file after we copied it!
So we could store the file's working copy path as "mine".

However, this isn't really what I thought we were discussing. You said:
"I think it is better to make the interactive conflict resolver work the way we
 always installed binary conflicts since 1.0, than to change the way we install
 conflict markers for a bugfix of the conflict resolver."

The way I understand this statement is:
  Don't change libsvn_wc, change the conflict resolver in 'svn' instead.
Am I misunderstanding?
I don't see a way of fixing this problem in 'svn' since we'll need to store
some path as 'mine' in conflict meta data, or we need to fix the parser in
libsvn_wc to never leave the 'mine' path as NULL. A NULL path will cause an
assertion in libsvn_wc if the client passes svn_wc_conflict_choose_mine_full.
Hence my question whether you want to stop using 'mine-full' altogether...

Reply via email to