unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Christoph Scholtes <cschol2112@googlemail.com>
To: 8025@debbugs.gnu.org
Cc: emacs-devel@gnu.org
Subject: bug#8025: 24.0.50; vc-bzr does not perform initial commit
Date: Tue, 01 Mar 2011 09:19:47 -0700	[thread overview]
Message-ID: <4D6D1CA3.4050307__43135.471121832$1298997419$gmane$org@gmail.com> (raw)
In-Reply-To: <86hbc9yscs.fsf@gmail.com>

I looked into this issue yesterday and I narrowed it down to the 
following function in `vc-bzr.el': `vc-bzr-state-heuristic'.

Apparently, when there is a bare repo and when trying to register the 
first file, the heuristic function, which parses the dir-state file, 
fails and reports the file unregistered all the time, even after it has 
been registered. It starts working correctly when you register the file 
and commit the file externally. I have not been able to figure out why 
the parsing fails.

It also works when bypassing the heuristic function and calling 
`vc-bzr-state' all the time.

I am wondering whether the heuristic function should be removed/simplified.

There is a comment at the beginning of the function:
   ;; `bzr status' was excruciatingly slow with large histories and
   ;; pending merges, so try to avoid using it until they fix their
   ;; performance problems.
   ;; This function tries first to parse Bzr internal file
   ;; `checkout/dirstate', but it may fail if Bzr internal file format
   ;; has changed.  As a safeguard, the `checkout/dirstate' file is
   ;; only parsed if it contains the string `#bazaar dirstate flat
   ;; format 3' in the first line.

`excruciatingly slow' does not mean anything to me. Is this still an 
issue with the latest version of bzr? If we can be reasonably sure it is 
not, we should just have it call `vc-bzr-state' all the time and 
eliminate this fragile construct of parsing the file manually. I think 
if bzr has a performance issue bzr should be fixed not emacs.

So, my question is: do I spent the time trying to fix this issue or can 
we agree to make bzr work like any of the other backends and call its 
native stat function all the time?

Also, does anybody have actual performance numbers that would support 
keeping this function around?

Christoph





  parent reply	other threads:[~2011-03-01 16:19 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-12 19:18 bug#8025: 24.0.50; vc-bzr does not perform initial commit Christoph
2011-02-12 19:58 ` Christoph
2011-02-12 20:51 ` Eli Zaretskii
2011-02-12 20:56   ` Christoph
2011-03-01 16:19 ` Christoph Scholtes [this message]
     [not found] ` <4D6D1CA3.4050307@gmail.com>
2011-03-01 18:42   ` Eli Zaretskii
2011-03-02  3:31     ` Glenn Morris
     [not found]     ` <xc8vwyfba5.fsf@fencepost.gnu.org>
2011-03-02  4:03       ` Glenn Morris
2011-03-02  6:00       ` Christoph Scholtes
     [not found]       ` <p1mxle2mq0.fsf@fencepost.gnu.org>
2011-03-02  6:16         ` Christoph Scholtes
     [not found]       ` <86d3macb9l.fsf@gmail.com>
2011-03-02 18:34         ` Eli Zaretskii
2011-03-02  5:55     ` Christoph Scholtes
     [not found]     ` <86hbbmcbh9.fsf@gmail.com>
2011-03-02 18:32       ` Eli Zaretskii
2011-03-02 17:10   ` Stefan Monnier

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='4D6D1CA3.4050307__43135.471121832$1298997419$gmane$org@gmail.com' \
    --to=cschol2112@googlemail.com \
    --cc=8025@debbugs.gnu.org \
    --cc=emacs-devel@gnu.org \
    /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).