unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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")





  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).