tramp-devel
[Top][All Lists]
Advanced

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

Re: file-exists-p can return t when file doesn't exist


From: Leo
Subject: Re: file-exists-p can return t when file doesn't exist
Date: Mon, 02 Aug 2010 13:14:09 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (Mac OS X 10.6.4)

On 2010-08-02 09:28 +0100, Michael Albinus wrote:
> I've checked magit.el from
> http://github.com/technomancy/magit/raw/master/magit.el. AFAICS it
> shouldn't run on a remote host, because it uses `call-process' and
> `start-process'. Did you patch magit.el, or do you use a version from
> somewhere else?

That one is terrible out of date and could lack many improvements made
since. I checked my version of magit.el which has no call-process calls
and uses start-file-process if available.

The official magit repo is http://github.com/philjackson/magit.

magit.el has split into many files since. I have attached a copy before
the split to this message.

Is the following evaluation still true?

> Anyway, there is a problem with Tramp's caches, indeed. For
>synchronous processes, there exists the variable
>`process-file-side-effects', which tells Tramp whether to flush the
>cache after a call of `process-file'. Since its default value is t,
>this happens for all synchronous processes if not said otherwise.
>
> But magit calls also asynchronous processes. In this case, we have no
> indicator when to flush Tramp's cache, because we don't know when this
> process is done. Therefore, such cache inconsistencies could happen. In
> magit.el this is the case for the `magit-run-async' calls, ie
>
>   (magit-run-async "git" "remote" "update")
>   (magit-run-async "git" "pull" "-v")
>   (magit-run-async "git" "push" "-v" push-remote branch)
>
> I have no good idea how to solve it. One could set a process sentinel,
> but this will be overwritten, if the process owner sets an own sentinel,
> like it is done in `magit-run*'.

Thank you.

Leo

Attachment: magit.el.bz2
Description: Binary data


reply via email to

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