From: Dan Nicolaescu <dann@ics.uci.edu>
To: esr@thyrsus.com
Cc: "Eric S. Raymond" <esr@snark.thyrsus.com>, emacs-devel@gnu.org
Subject: Re: vc-directory breakage
Date: Mon, 05 May 2008 18:10:05 -0700 [thread overview]
Message-ID: <200805060110.m461A565005739@sallyv1.ics.uci.edu> (raw)
In-Reply-To: <20080506004849.GA14523@thyrsus.com> (Eric S. Raymond's message of "Mon, 5 May 2008 20:48:49 -0400")
"Eric S. Raymond" <esr@thyrsus.com> writes:
> Dan Nicolaescu <dann@ics.uci.edu>:
> > "Eric S. Raymond" <esr@thyrsus.com> writes:
> >
> > > To my knowledge, VC is not in a broken state now. Stefan fixed one of
> > > the blocker bugs yesterday, probably while I was flat on my back and
> > > hooked up to a heart monitor, and I got the other one this morning.
> >
> > There still are some issues. This:
> >
> > (defun vc-generic-status-printer (fileentry)
> > (let* ((file (vc-dir-fileinfo->name fileentry))
> > (backend (vc-responsible-backend file)))
> > (vc-call-backend backend 'status-printer fileentry)))
> >
> > is not quite right.
> > (vc-dir-fileinfo->name fileentry) is not an absolute file name, doing
> > vc-responsible-backend on that is not going to work.
>
> Ah. There's some Lisp function I need to wrap that arg in to make
> it a full pathname, then; I've forgotten which it is, though
expand-file-name
> > Also please put the backend in a buffer-local variable in the vc-dir
> > buffer, that way all the vc-responsible-backend calls in vc-generic-* can be
> > eliminated.
> > With that change this code will work.
> > It does not work right now for at least hg, git and svn.
>
> The recommended change may be a good idea, but I'm not sure. Those backend
> checks are now being done at file granularity because some people were vocal
> about support for mixing multiple VCSes in a directory. If we depended
> on a per-directory buffer-local variable, that would get more difficult.
Stefan just explained this one.
> What is the actual failure you are seeing?
For a mercurial repo:
intern(nil [0 0 0 0 Makefile\.mk 0 0 0 0 0 0 0 0 0 ~/r/hgtest/ 0 0])
vc-file-getprop(nil vc-mtn-root)
vc-mtn-root("Makefile.mk")
vc-mtn-responsible-p("Makefile.mk")
apply(vc-mtn-responsible-p "Makefile.mk")
vc-call-backend(Mtn responsible-p "Makefile.mk")
byte-code("^H\306^Y\211^Z\203+^@\n@^Q^K\203^W^@\307 \310\f#\204$^@\307 \311\f#\203$^@\312\313 \"\210\nA\211^R\204^H^@*^$
vc-responsible-backend("Makefile.mk")
vc-generic-status-printer(("Makefile.mk" added [cl-struct-vc-hg-extra-fileinfo copied "Makefile"] nil nil nil))
#[(G76001 data) "^HJ !\210\302c\207" [G76001 data "\n"] 2](--ewoc--user-pp-- ("Makefile.mk" added [cl-struct-vc-hg-extra-filei$
apply(#[(G76001 data) "^HJ !\210\302c\207" [G76001 data "\n"] 2] --ewoc--user-pp-- ("Makefile.mk" added [cl-struct-vc-hg-ext$
(lambda (&rest --cl-rest--) (apply #[... "^HJ !\210\302c\207" [G76001 data "\n"] 2] (quote --ewoc--user-pp--) --cl-rest--))(("M$
ewoc--refresh-node((lambda (&rest --cl-rest--) (apply #[... "^HJ !\210\302c\207" [G76001 data "\n"] 2] (quote --ewoc--user$
ewoc-invalidate([cl-struct-ewoc #<buffer *vc-dir*> (lambda (&rest --cl-rest--) (apply #[... "^HJ !\210\302c\207" [G76001 d$
vc-dir-update((("config.h" missing nil) ("config.mk" edited nil) ("dmenu_path" removed nil) ("b/c" edited nil) ("m/n" edited ni$
#[(G37817 entries &optional more-to-come) "r^HJq\210\306 ^HJ\"\210\n?\205'^@\307^K\310\"\211^\\203#^@\311\312\313\f\"\314\$
apply(#[(G37817 entries &optional more-to-come) "r^HJq\210\306 ^HJ\"\210\n?\205'^@\307^K\310\"\211^\\203#^@\311\312\313\$
(lambda (&rest --cl-rest--) (apply #[... "r^HJq\210\306 ^HJ\"\210\n?\205'^@\307^K\310\"\211^\\203#^@\311\312\313\f\"\314\$
vc-hg-after-dir-status((lambda (&rest --cl-rest--) (apply #[... "r^HJq\210\306 ^HJ\"\210\n?\205'^@\307^K\310\"\211^\\203$
eval((vc-hg-after-dir-status (quote (lambda ... ...))))
vc-exec-after((vc-hg-after-dir-status (quote (lambda ... ...))))
vc-process-sentinel(#<process hg> "finished\n")
next prev parent reply other threads:[~2008-05-06 1:10 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-05 15:21 vc-directory breakage Eric S. Raymond
2008-05-05 15:32 ` David Kastrup
2008-05-05 15:39 ` Bastien Guerry
2008-05-05 15:45 ` David Kastrup
2008-05-05 15:52 ` Juanma Barranquero
2008-05-05 16:03 ` David Kastrup
2008-05-05 16:23 ` Bastien Guerry
2008-05-05 16:40 ` David Kastrup
2008-05-05 16:50 ` Lennart Borgman (gmail)
2008-05-05 17:00 ` Bastien Guerry
2008-05-05 20:14 ` Juanma Barranquero
2008-05-05 22:09 ` Thomas Lord
2008-05-05 22:17 ` Stephen J. Turnbull
2008-05-06 0:04 ` Eric S. Raymond
2008-05-06 0:36 ` Dan Nicolaescu
2008-05-06 0:48 ` Eric S. Raymond
2008-05-06 1:03 ` Stefan Monnier
2008-05-06 8:21 ` Eric S. Raymond
2008-05-06 9:08 ` David Kastrup
2008-05-06 16:34 ` Dan Nicolaescu
2008-05-07 1:30 ` Stefan Monnier
2008-05-06 1:10 ` Dan Nicolaescu [this message]
2008-05-06 9:01 ` Eric S. Raymond
2008-05-06 12:03 ` Dan Nicolaescu
2008-05-06 16:03 ` Eric S. Raymond
2008-05-06 6:36 ` David Kastrup
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200805060110.m461A565005739@sallyv1.ics.uci.edu \
--to=dann@ics.uci.edu \
--cc=emacs-devel@gnu.org \
--cc=esr@snark.thyrsus.com \
--cc=esr@thyrsus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).