Subject: vc-svn calls "svn resolved" without permission

From: James Y Knight <[email-masked]>
Date: Wed, 15 Jul 2009 15:43:06 -0400

Hi, I recently just switched to from Emacs 21 to Emacs 22 (22.2.1, on  
Debian Lenny), and was a bit disappointed to discover that vc-svn is  
now automatically calling "svn resolved" on files when I save them  
after removing conflict markers.

I use svn's list of conflicted files while working on merges, and tend  
to only call "resolved" on them when I'm *actually done* fixing a  
group of files. I'll note that emacs automatically calling "svn  
resolved" also destroys the .mine, .rOLD, and .rNEW files, which I  
wasn't actually done with yet. Having them disappear out from under me  
just because I've *partly* fixed things and saved is very  
counterintuitive!

There's a reason that svn makes you run "svn resolved" on files to  
note them as resolved instead of just checking for the lack of  
conflict markers, and vc-svn is totally destroying that nice behavior  
of svn. If it was a good idea to autoresolve when there's no conflict  
marker in the file, then "svn commit" would already do that!

IMO, the function "vc-svn-resolve-when-done" should just be removed  
entirely. But if not, it really should *at least* be asking for  
confirmation first before causing the merge working data to be deleted.

Relatedly, it would also be great if there was a key to run svn  
resolved. I've had this addition in my .emacs for a while to achieve  
that:

(defun svn-resolved ()
   "Resolve conflict on current buffer"
   (interactive)
   (shell-command (concat "svn resolved " (buffer-file-name))))
(define-key 'vc-prefix-map "R" 'svn-resolved)

James