From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Progress report on git-blame Date: Sun, 26 Jan 2014 10:07:08 -0500 Message-ID: References: <20140109140226.57D6C38085A@snark.thyrsus.com> <20140110155121.GA8178@thyrsus.com> <20140111205925.GC17111@thyrsus.com> <87y52mdoha.fsf@fencepost.gnu.org> <87fvoceuos.fsf_-_@fencepost.gnu.org> <83d2jgcy5z.fsf@gnu.org> <87vbx8cu8a.fsf@fencepost.gnu.org> <87eh3v7wiq.fsf@building.gnus.org> <87eh3vb6hf.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1390748855 4216 80.91.229.3 (26 Jan 2014 15:07:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 26 Jan 2014 15:07:35 +0000 (UTC) Cc: Lars Ingebrigtsen , Eli Zaretskii , emacs-devel@gnu.org To: David Kastrup Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 26 16:07:41 2014 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 1W7RJF-0006gQ-Dc for ged-emacs-devel@m.gmane.org; Sun, 26 Jan 2014 16:07:41 +0100 Original-Received: from localhost ([::1]:54964 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7RJE-0000zj-MJ for ged-emacs-devel@m.gmane.org; Sun, 26 Jan 2014 10:07:40 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34783) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7RJ5-0000zD-Rh for emacs-devel@gnu.org; Sun, 26 Jan 2014 10:07:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W7RIy-00024Y-Hn for emacs-devel@gnu.org; Sun, 26 Jan 2014 10:07:31 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:11497) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7RIj-000218-8r; Sun, 26 Jan 2014 10:07:09 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFFxI21/2dsb2JhbABEvw4Xc4IeAQEEAVYjEAsOJhIUGA0kiB4GwS2RCgOIYZwZgV6DFQ X-IPAS-Result: Av4EABK/CFFFxI21/2dsb2JhbABEvw4Xc4IeAQEEAVYjEAsOJhIUGA0kiB4GwS2RCgOIYZwZgV6DFQ X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="46102525" Original-Received: from 69-196-141-181.dsl.teksavvy.com (HELO pastel.home) ([69.196.141.181]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 26 Jan 2014 10:07:08 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 2E2D360292; Sun, 26 Jan 2014 10:07:08 -0500 (EST) In-Reply-To: <87eh3vb6hf.fsf@fencepost.gnu.org> (David Kastrup's message of "Sun, 26 Jan 2014 07:30:04 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.181 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:169122 Archived-At: >>> So I'm usually just interested in a screenful of lines. If we could >>> have a version of `C-x v g' that only does "blame" for the current >>> region, for instance, that would certainly fit my use case. >> One more thing: "git blame" is of no use when you're trying to see not >> "who wrote these lines when" but "who removed (and when) the lines that >> aren't there any more". > That's what the --reverse option of git blame is for. Never tried it. Can it always be used (i.e. do you have to know beforehand that you need it)? >> A "git log-and-diff" would handle that case just fine, OTOH. > git log -S "literal string" filename > is also quite helpful (it just outputs the commits where the "literal > string" appears or disappears). Right, there are various workarounds. But the info I want (and that I typically construct by hand by iterating between vc-annotate, vc-print-log, and vc-diff) is "vc-print-diff&log-of-region". And AFAIK the VCS could find that info at least as easily as (if not more easily) "git log -S" or "git blame". Stefan