Subject: Re: bug#7350: 24.0.50; make vc-deduce-backend smarter

From: Stefan Monnier <[email-masked]>
Date: Wed, 17 Nov 2010 08:31:26 -0500

>    A largish patch is not a problem in and of itself (except for copyright
>    reasons, but once you've signed the paperwork it's a non-issue).  So the
>    only reason to reject such a change would be if it made the code
>    conceptually more tricky/complex.  From the sound of it, it would make
>    it actually more regular, more in line with the usual way commands work
>    in Emacs, so it seems OK.

> The problem, of course, is knowing when to stop.  ;-}

For having looked at this particular part of the code with similar
intentions a few years ago, I know.

>    Anyway, I've appended a work-in-progress patch, FYI.  It depends on
> refactoring vc-deduce-fileset, which in turn depends on the assumption
> that vc-parent-buffer must be registered.  Comments welcomed.

Thanks for the work-in-progress.  Comments will follow.

> Grepping found only one caller; vc-log-edit passes it as the
> log-edit-diff-function.  But this really ought to use the passed
> fileset, and not go through the command again, true?

Actually, what it *should* do is select the same fileset as the one that
C-c C-c will commit.  I'm not sure which fileset is chosen by C-c C-c,
but if I were to choose, I'd follow the PCL-CVS behavior which is to
recompute the fileset rather than use whatever was the fileset when the
*VC-Log* buffer was created (but aditionally check whether the new
fileset is the same as the old one, and if not prompt the user to make
sure that's really what she intended).

        Stefan