[svk-devel] svk resolver: obscure error, and obscure documentation

Mark Eichin eichin at metacarta.com
Tue Feb 12 18:38:06 EST 2008


(svk 2.0.2, debian lenny)

Trying to see if the a "real" smerge worked in a case where --check-only 
failed (yeah, grasping at straws) I tried
  $ yes s | svk smerge ...

and got:
  e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] Unable to read terminal settings in GetControlChars at /usr/share/perl5/SVK/Util.pm line 195.

(which is just obscure, and non-unixy.)

Jesse then pointed out SVKRESOLVE, in svk help environment:

>     $SVKRESOLVE
> 
>       If you set this variable, svk's interactive resolver will always
>       perform the command it's set to. For more details about the
>       commands available in svk's interactive resolver, type perldoc
>       SVK::Resolve.

Several documentation points:
  * help env should probably be *organized* into categories; some of
    them are only of use when debugging svk failures, some of them are
    common settings.  (Of course, the *real* problem is that a bunch
    of them shouldn't be environment variables at all, but command
    line options...)
  * nothing hints that the prompt above is the "interactive resolver";
    there's just a disconnect there (that is, I'd read help env, and
    it never occurred to me that it applied to the problem)
  * I guessed that SVKRESOLVE=s would work, but that was just a guess
  * the first sentence needs to be taken out and shot:
     -- what else are you going to do with a variable other than set it
     -- "it" has a confusing antecedent

First cut alternative:

    $SVKRESOLVE

      Always handle conflicts this way (ie. SVKRESOLVE=skip) rather
      than prompting.  See also "perldoc SVK::Resolve".


More information about the svk-devel mailing list