[Top][All Lists]

[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

                        case $sid1 in
                                case $sid2 in
                                ?*) echo "$usage" >&2; exit 2 ;;

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]