> [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