From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Abolishing ChangeLog files Date: Fri, 29 Mar 2013 19:07:50 +0400 Message-ID: <5155AE46.8060905@yandex.ru> References: <87y5d9p5td.fsf@dex.adm.naquadah.org> <87vc8dtbcb.fsf@lifelogs.com> <871ub1gmdf.fsf@engster.org> <87d2ulovd0.fsf@dex.adm.naquadah.org> <85r4j0h1ww.fsf@member.fsf.org> <85li98h1qx.fsf@member.fsf.org> <87ehf0b3x2.fsf@uwakimon.sk.tsukuba.ac.jp> <87obe3gaem.fsf@engster.org> <87ip4bj1ay.fsf_-_@earth.home> <83wqsrwkim.fsf@gnu.org> <87a9pn5tlf.fsf@yandex.ru> <83txnvwhqw.fsf@gnu.org> <5154B063.2050904@yandex.ru> <83li97w6um.fsf@gnu.org> <5154C76B.6090303@yandex.ru> <83hajuwygn.fsf@gnu.org> <83a9pmwxb5.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1364569693 31249 80.91.229.3 (29 Mar 2013 15:08:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 29 Mar 2013 15:08:13 +0000 (UTC) Cc: Stefan Monnier , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 29 16:08:37 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ULaus-0003dj-SF for ged-emacs-devel@m.gmane.org; Fri, 29 Mar 2013 16:08:31 +0100 Original-Received: from localhost ([::1]:33336 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULauU-00049x-JZ for ged-emacs-devel@m.gmane.org; Fri, 29 Mar 2013 11:08:06 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:59671) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULauN-00049q-Cl for emacs-devel@gnu.org; Fri, 29 Mar 2013 11:08:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ULauI-0004cN-ML for emacs-devel@gnu.org; Fri, 29 Mar 2013 11:07:59 -0400 Original-Received: from mail-la0-x22d.google.com ([2a00:1450:4010:c03::22d]:39675) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULauD-0004Za-HH; Fri, 29 Mar 2013 11:07:49 -0400 Original-Received: by mail-la0-f45.google.com with SMTP id er20so613231lab.18 for ; Fri, 29 Mar 2013 08:07:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding:x-antivirus:x-antivirus-status; bh=sVMwxNLZGsPUWLonemp9EVV1DsaLXrX8ZxsyTHAXVoo=; b=znJycJVxcAGQr0Gy08BAuvqgM2H+O4gbIw0SMlNkdfxHDDLDipe34T6+/eZl4N40/G TkDOtrEq8zcqalNjLrsawPcLqA4nLxiOWCEPcc3+eNlNh3UswZgzo07HPvEW5jjg6PEw +T4gPegu/eRt1Zy5zlygfUrsGXaVzmaVT9tVYyGBU34AMheJBMmCzq6X3S+hHTpTVklj hM0a3jAQE/ahsdzerwcDYz0x4717TbYSErczd34v19JtDHJjCwCYHVc/1JB7wjtIDVGB 8Vzy9YFSmqDbsQo+ywdOEhbVDIJSzf9AiWicCb3avK+FJED/6GtiUwj20SuPi97kyCZD R+iA== X-Received: by 10.112.85.37 with SMTP id e5mr1568312lbz.43.1364569668203; Fri, 29 Mar 2013 08:07:48 -0700 (PDT) Original-Received: from [127.0.0.1] ([178.252.98.87]) by mx.google.com with ESMTPS id h7sm1319381lbp.16.2013.03.29.08.07.46 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 29 Mar 2013 08:07:47 -0700 (PDT) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130307 Thunderbird/17.0.4 In-Reply-To: <83a9pmwxb5.fsf@gnu.org> X-Antivirus: avast! (VPS 130329-0, 29.03.2013), Outbound message X-Antivirus-Status: Clean X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::22d X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:158428 Archived-At: On 29.03.2013 10:10, Eli Zaretskii wrote: >> Date: Fri, 29 Mar 2013 08:45:44 +0300 >> From: Eli Zaretskii >> Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > Btw: bzr logs all of its times in .bzr.log, so you don't need any > additional programs to time it. (I wish git had such a comprehensive > logging facility, it proved invaluable for me quite a few times in the > past.) > If you mean that it writes to ~/bazaar/.bzr.log, then it doesn't, here. The file exists, but all the entries there are from September 1st last year. Not important, just an aside. > Attached below. Thank you. It inspired me to run the same non-interactive tests you did, and indeed the full 'git log lisp\progmodes\ruby-mode.el > NUL' invocation is non-instantaneous every time, and it's on the same order of magnitude as 'bzr log', although the latter takes twice as long: emacs-git-savannah>timep git log lisp\progmodes\ruby-mode.el > NUL real 00h00m04.652s user 00h00m00.000s sys 00h00m00.015s emacs-bzr\trunk>timep bzr log lisp\progmodes\ruby-mode.el > NUL real 00h00m08.269s user 00h00m07.878s sys 00h00m00.280s But! Git starts streaming output just as soon as it can, hence my earlier impression that the command is instantaneous. If you redirect its output to 'less' (like I did in the command I sent in one of the previous messages), you'll see that the viewer opens near instantly, and allows you to view the latest commits while the VCS fetches the older data. Same thing happens when a user calls `vc-print-log' in Emacs, and it makes all the difference. Here's a more striking example. Show the last 40 commits: emacs-git-savannah>timep git log -40 lisp\progmodes\ruby-mode.el > NUL real 00h00m00.226s user 00h00m00.015s sys 00h00m00.000s emacs-bzr\trunk>timep bzr log -l 40 lisp\progmodes\ruby-mode.el > NUL real 00h00m08.273s user 00h00m07.878s sys 00h00m00.265s Git is finally fast, but Bazaar is as slow as when it retrieves the full history. >> I don't see this kind of problem with Git, but maybe I just haven't >> tried it with a repository hosted on the same server as Bazaar one. > I did, just now: (...) I tried it, too, and here Git wins hands-down. Here's how long it takes to update both when they are already up-to-date (staging a situation when they're the same number of revisions out-of-date is harder): emacs-git-savannah>timep git pull Already up-to-date. real 00h00m02.139s user 00h00m00.000s sys 00h00m00.031s emacs-bzr\trunk>timep bzr update Дерево в актуальной ревизии 112180 ветви bzr+ssh://dgutov@bzr.savannah.gnu.org/emacs/trunk real 00h00m09.963s user 00h00m00.343s sys 00h00m00.202s Before that, I updated this Bazaar clone from a several-days-old revision, and it took 4 minutes. I don't have a similar result for Git to compare, but considering it cloned the whole history in 30 minutes (same as on your machine), it will likely be faster. emacs-bzr\trunk>timep bzr update +N lisp/eshell/em-tramp.el M ChangeLog M admin/CPP-DEFINES M autogen/config.in M autogen/configure M configure.ac M doc/lispref/ChangeLog M doc/lispref/compile.texi M doc/misc/eshell.texi M etc/NEWS ... ... ... M src/xselect.c M src/xsmfns.c M src/xterm.c All changes applied successfully. Обновлено до ревизии 112180 ветви bzr+ssh://dgutov@bzr.savannah.gnu.org/emacs/trunk real 00h04m11.939s user 00h00m06.520s sys 00h00m01.466s