unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Giorgos Keramidas <keramida@ceid.upatras.gr>
To: Dan Nicolaescu <dann@ics.uci.edu>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: limit the number of log entries displayed by C-x v l
Date: Fri, 13 Nov 2009 08:59:18 +0200	[thread overview]
Message-ID: <873a4ic3ll.fsf@kobe.laptop> (raw)
In-Reply-To: <200911130221.nAD2Lu4q007527@godzilla.ics.uci.edu> (Dan Nicolaescu's message of "Thu, 12 Nov 2009 18:21:56 -0800 (PST)")

On Thu, 12 Nov 2009 18:21:56 -0800 (PST), Dan Nicolaescu <dann@ics.uci.edu> wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
> > > Logs for some big trees can be huge, the Linux one is millions of lines.
> >
> > Yes, this is a fairly serious problem.  We need to refine the
> > `print-log' backend op to be able to control it somehow. [...]
> > Maybe we should show just the first thousand or so by default and then
> > provide a button (and command) in log-view-mode to get more?
>
> That could work.
> It would work with the proposed backend change.
>
> C-x v l call would call the backend to show vc-log-show-entries, then
> the button would get the revision id for the last entry in the buffer,
> and it would then call the backend starting from that revision to
> request more entries.

I think this is a good idea :D

This is what Tortoise-Hg does by default for Mercurial clones, and it
seems to help a lot with clones that have many thousand changes.  By
limiting the changes to a shorter, one line per changeset output, it is
easy to see how displaying everything by default may slow things down.

I have a Mercurial clone converted from the current Git repository on my
laptop.  Showing around 300 changes completes in less than a second, but
anything over 30000 changes is noticeably slow:

: keramida@kobe:/hg/emacs/gnu$ hg short -l3
: 102087 67289587a4fe | 2009-11-10 00:54:45 +0000 | juri: (read-file-name): Support a list of default values
: 102086 5ee7a01ed6e0 | 2009-11-10 00:07:41 +0000 | lekktu: Fix typos.
: 102085 624cc4a874eb | 2009-11-09 22:15:41 +0000 | michael: *** empty log message ***
: keramida@kobe:/hg/emacs/gnu$ time hg short -l3 > /dev/null
:         0.572 real      0.326 user      0.244 sys
: keramida@kobe:/hg/emacs/gnu$ time hg short -l300 > /dev/null
:         0.742 real      0.439 user      0.301 sys
: keramida@kobe:/hg/emacs/gnu$ time hg short -l3000 > /dev/null
:         1.817 real      1.523 user      0.288 sys
: keramida@kobe:/hg/emacs/gnu$ time hg short -l30000 > /dev/null
:         13.802 real     12.692 user     0.412 sys

I think that we can display the last 300-500 commits reasonably fast,
and add a few button at the start and end of the log-view buffer.  Maybe
something like this would do?

    [Previous 500] [Previous 1000] [Previous 5000] [All]

    changeset:   637:4364dceabece
    user:        Giorgos Keramidas <keramida@ceid.upatras.gr>
    date:        Sun Jul 12 06:58:02 2009 +0300
    summary:     bash: make 'sbcl --noinform' my default sbcl startup mode

    changeset:   592:0ac83b70787e
    user:        Giorgos Keramidas <keramida@ceid.upatras.gr>
    date:        Tue Jun 23 22:11:39 2009 +0300
    summary:     tortoise-hg: forking is now tunable through hgrc(5)

    changeset:   572:bca0dfd0bd27
    user:        Giorgos Keramidas <keramida@ceid.upatras.gr>
    date:        Sun Jun 21 03:19:02 2009 +0300
    summary:     bash: add a bit of color to my default shell prompt

    [Next 500] [Next 1000] [Next 5000] [All]





  parent reply	other threads:[~2009-11-13  6:59 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-12 23:19 limit the number of log entries displayed by C-x v l Dan Nicolaescu
2009-11-13  1:18 ` Stefan Monnier
2009-11-13  2:21   ` Dan Nicolaescu
2009-11-13  3:19     ` Stefan Monnier
2009-11-13  5:02       ` Dan Nicolaescu
2009-11-13 14:10         ` Stefan Monnier
2009-11-15 20:55           ` Dan Nicolaescu
2009-11-15 21:34             ` Chong Yidong
2009-11-16  9:40             ` Dan Nicolaescu
2009-11-16 14:22               ` Stefan Monnier
2009-11-16 15:10                 ` Dan Nicolaescu
2009-11-16 15:41                   ` Stefan Monnier
2009-11-16 20:40                     ` Dan Nicolaescu
2009-11-17 13:44           ` Dan Nicolaescu
2009-11-17 19:54             ` Stefan Monnier
2009-11-18 18:19               ` Dan Nicolaescu
2009-11-19  0:52                 ` Stefan Monnier
2009-11-19  7:23                   ` Thierry Volpiatto
2009-11-20  6:59                     ` Dan Nicolaescu
2009-11-20  7:19                       ` Thierry Volpiatto
2009-11-20 14:11                       ` Stefan Monnier
2009-11-20 15:26                         ` Dan Nicolaescu
2009-11-21  4:27                           ` Stephen J. Turnbull
2009-11-22 20:12                             ` Stefan Monnier
2009-11-22 23:02                               ` Štěpán Němec
2009-11-23  2:29                                 ` Stefan Monnier
2009-11-23  3:49                                   ` Bob Rogers
2009-11-23  5:17                                     ` Stefan Monnier
2009-11-22 20:10                           ` Stefan Monnier
2009-12-06 17:43                   ` Dan Nicolaescu
2009-12-07  2:12                     ` Stefan Monnier
2009-11-13  6:59     ` Giorgos Keramidas [this message]
2009-11-14 10:10 ` Alfred M. Szmidt
2009-11-14 23:29   ` Richard Stallman
2009-11-14 23:34     ` Andreas Schwab
2009-11-15 22:38       ` Richard Stallman
2009-11-15 22:52         ` Andreas Schwab
2009-11-17  7:56           ` Richard Stallman

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=873a4ic3ll.fsf@kobe.laptop \
    --to=keramida@ceid.upatras.gr \
    --cc=dann@ics.uci.edu \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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).