Subject: bug#3860: vc-svn calls "svn resolved" without permission

From: Eli Zaretskii <[email-masked]>
Date: Sat, 29 Mar 2025 18:20:36 +0300

> Date: Sat, 29 Mar 2025 11:41:00 -0300
> Cc: [email-masked], [email-masked], [email-masked], [email-masked],
>  [email-masked], Sean Whitton <[email-masked]>
> From: Mauro Aranda <[email-masked]>
> 
>  >   void variable vc-resolve-conflicts
>  >
>  > In my case, the victim was admin/gitmerge.el, which only loads
>  > vc-git.el,
> 
> Ouch.  I mistakenly thought that this could work like the vc-*-switches
> options, but now I see that, for example, vc-git.el autoloads
> vc-switches.
> 
>  > The various vc-FOO.el files only 'require' vc when compiling, which
>  > doesn't solve the run-time problem.
>  >
>  > So we will need either to make vc-resolve-conflicts autoloaded (which
>  > is generally discouraged for defcustom's), or manually 'require' vc in
>  > the various functions that reference vc-resolve-conflicts.
>  >
>  > Are there any other solutions?
> 
> I don't know.  Can the defcustom be moved to another file where there
> are "generic" vc options, and that it gets loaded at run-time? I see
> some options in vc-hooks.el, but I don't know if (featurep 'vc-hooks)
> evaluates to t in the case you encountered.

vc-hooks is preloaded, so perhaps moving the variable there is the
best option.

Adding Stefan, in case he has better suggestions.