bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vc-sccs.el sends bad args to cmp(1) via vcdiff script


From: Kevin Rodgers
Subject: Re: vc-sccs.el sends bad args to cmp(1) via vcdiff script
Date: Thu, 09 Mar 2006 10:21:37 -0700
User-agent: Mozilla Thunderbird 0.9 (X11/20041105)

Jim Marks wrote:
> This problem surfaces on Sun Solaris when trying to use
> version control with SCCS as the backend.
>
> The source file gnu/share/emacs/21.4/lisp/vc-sccs.el has the following
> defun:
>
> (defun vc-sccs-workfile-unchanged-p (file)
>   "SCCS-specific implementation of vc-workfile-unchanged-p."
>   (zerop (apply 'vc-do-command nil 1 "vcdiff" (vc-name file)
>                 (list "--brief" "-q"
>                       (concat "-r" (vc-workfile-version file))))))
>
> The important thing here is that the "--brief" option gets passed
> to vcdiff as well as the "-r" option.
>
> On my system, vcdiff is a helper script in
>
> gnu/libexec/emacs/21.4/sparc-sun-solaris2.8/vcdiff
>
> It contains this code:
>
>
>                 case $f in
>                 --brief)
>                         DIFF=cmp;;
>
> and, later, executes $DIFf.  This causes cmp to be invoked
> with a "-r" option.  I can't find any Unix-clone on which
> cmp(1) takes "-r".  This will always cause certain vc operations
> to fail on systems where SCCS is the vc backend.

Are you sure?  I have 21.4 installed, and the vcdiff script also
processes the -rSID1 and -rSID2 options so that they are not passed to
cmp:

                -r?*)
                        case $sid1 in
                        '')
                                sid1=$f
                                ;;
                        *)
                                case $sid2 in
                                ?*) echo "$usage" >&2; exit 2 ;;
                                esac
                                sid2=$f
                                ;;
                        esac
                        ;;

Perhaps your problem is that vc-workfile-version is returning nil, which
would cause "-r" to be passed to vcdiff, which it cannot handle.

--
Kevin Rodgers





reply via email to

[Prev in Thread] Current Thread [Next in Thread]