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]
next prev 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).