> [email protected] (Phillip Lord) writes:
>> = (dvc-diff-diff) produces ...
>>
>> Setting current directory: no such file or directory, lisp/
>
> I can reproduce this, on the current dvc from bzr head.
>
> As a work-around, you can use "e" instead of "=" (I just tried it). That
> runs ediff, which I find much easier to use than plain diff.

Ediff is better but slower. I generally check in often enough that diff is
fine.


>>
>> Debugger entered--Lisp error: (file-error "Setting current directory"
>> "no such file or directory" "lisp/")
>>   call-process("diff" nil #<buffer *bzr-file-diff*<4>> nil "-u"
>>   "-La/lisp/baz-dvc.el" "-Lb/lisp/baz-dvc.el"
>>   "/tmp/DVC-file-diff-base4210oIM" "/tmp/DVC-file-diff-mod42101SS")
>
> This appears to be a bug in dvc-diff.el dvc-dvc-file-diff .
> 'default-directory' for 'diff-buffer' is set to "lisp/", which is just
> wrong ('default-directory' must always be an absolute path).
>
> Actually, the bug is in dvc-buffers.el dvc-get-buffer-create:
>
>                           (let ((default-directory
>                                   (or (file-name-directory path)
>                                       default-directory)))
>                             (dvc-create-buffer name)))))
>
>
> at this point, 'path' is "lisp/baz-dvc.el", so it sets default-directory
> incorrectly. This is fixed by:
>
>                           (let ((default-directory
>                                   (if (file-name-directory path)
>                                     (expand-file-name (file-name-directory 
> path))
>                                   default-directory)))
>
>
> Committed in local revision 555.


I've updated to head. Looks like this fix solves both my minimal case and
the original problem that I was having.

Many thanks both for the fix and dvc in the first place. This will save me
lots of time.

Phil


_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev

Reply via email to