From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Luke Lee Newsgroups: gmane.emacs.devel Subject: Re: Please don't obsolete "crisp.el" Date: Fri, 11 Jul 2014 18:03:49 +0800 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=047d7bfe9438359a3804fde81125 X-Trace: ger.gmane.org 1405073088 27666 80.91.229.3 (11 Jul 2014 10:04:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 11 Jul 2014 10:04:48 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 11 12:04:42 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 1X5Xh3-0006lQ-Jy for ged-emacs-devel@m.gmane.org; Fri, 11 Jul 2014 12:04:41 +0200 Original-Received: from localhost ([::1]:43583 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5Xh3-0000k0-6N for ged-emacs-devel@m.gmane.org; Fri, 11 Jul 2014 06:04:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5Xgz-0000iL-5F for emacs-devel@gnu.org; Fri, 11 Jul 2014 06:04:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X5Xgy-0001AD-5n for emacs-devel@gnu.org; Fri, 11 Jul 2014 06:04:37 -0400 Original-Received: from mail-pd0-x229.google.com ([2607:f8b0:400e:c02::229]:58193) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5Xgt-000177-62; Fri, 11 Jul 2014 06:04:31 -0400 Original-Received: by mail-pd0-f169.google.com with SMTP id ft15so1152493pdb.28 for ; Fri, 11 Jul 2014 03:04:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=3T9De/zyLlL3zJeSIDLMpD5RvPxeqxmv7xuaD3+WWZo=; b=tSGrSvx6Oa7+2PUik1kWEq5YBsobxP2CyybzRE5XlPX1M7kE2ouhUmafoyq8bprkwD Sizt8FgCKR0yiLMnAWcv0sR1d/p/hyqeVAd9+5Woi7dHqvXiDE99wLQGuyW8VjMrsxIX 0wm+HnUWob0J7Uznv2ia9wgbSXIpOfSkIwuukpVLr+f41+b4UvpnyZoWB+M6Xr7cnjCS d3xjWu6n3MXZe+Q/xpUhAI1blEOyqm9HF4N8WYvHrc8Sj24Uob3TlWf/bGvqecxoWVyf dlIkPk9T6O1IBR5tCwbLsAukhNVIJ+mgFjGonoQkhMti6bfa9+eU2aGFJmmxfDi/g+jf u/iA== X-Received: by 10.70.35.207 with SMTP id k15mr23191269pdj.46.1405073069806; Fri, 11 Jul 2014 03:04:29 -0700 (PDT) Original-Received: by 10.70.89.165 with HTTP; Fri, 11 Jul 2014 03:03:49 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c02::229 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:172973 Archived-At: --047d7bfe9438359a3804fde81125 Content-Type: text/plain; charset=UTF-8 > git log --follow lisp/obsolete/crisp.el | grep commit | wc > > gives me 56 entries, which all seem to have touched crisp.el, so the > mirroring doesn't seem to be the problem. > ... > Also, "git log -p --follow lisp/obsolete/crisp.el" seems to include just > the crisp.el changes, so passing it to "git am" might DTRT. Cool! The "git log -p --follow lisp/obsolete/crisp.el" is indeed very clean! However, the bad thing is that we can't add "--reverse" to reverse the commit order from the beginning, so "git am" will immediately fail. Later I figure out the correct sequence using lisp/emulation instead: git log --pretty=email -p --all --follow --reverse -- lisp/emulation/crisp.el A crisp.el only history patch generated. However, when applying it to "git am", it failed at the 18th historical commit, which I have no idea why. Another bad thing about "git am" is that it will commit "on top of" current commit so we'll see a history like the following using "git log": --------------------------- commit 35f5a599cf5dcb6a2a79c79048d645b48dcf043a Author: Richard M. Stallman Date: Thu Apr 10 20:43:54 1997 +0000 ^^^^^^^^^^^^^^^^^^^^^^^^ Initial revision A lisp/emulation/crisp.el commit d31cf3156c20512f7fcf72b383827e96cfc9718e Author: Stefan Monnier Date: Mon Jul 7 14:38:27 2014 -0400 * xpm: Fix cl-lib usage and compilation failures. M packages/xpm/xpm-compose.el M packages/xpm/xpm-ops.el M packages/xpm/xpm-palette.el M packages/xpm/xpm-ui.el ------------------------- Gee! The history suddenly back from 2014 to 1997! I believe people won't like this. The filter-branch approach does not have such flaw, but it contains some garbage info unrelated to crisp.el. However, it's not a lot, maybe < 10% of the commits but I don't have the real number. I just randomly checked in the history log. Seems each approach has its own pros and cons here... --047d7bfe9438359a3804fde81125 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
>=C2=A0=C2=A0=C2=A0 git log --follow lisp/obsolete/cris= p.el | grep commit | wc
>=C2=A0
> gives me 56 entries, which a= ll seem to have touched crisp.el, so the
> mirroring doesn't seem= to be the problem.
> ...
> Also, "git log -p --follow lisp/obsolete/crisp.el&quo= t; seems to include just
> the crisp.el changes, so passing it to &qu= ot;git am" might DTRT.

Cool! The "git log -p --follow lisp= /obsolete/crisp.el" is indeed very clean!
However, the bad thing is that we can't add "--reverse" to re= verse the
commit order from the beginning, so "git am" will im= mediately fail. Later
I figure out the correct sequence using lisp/emula= tion instead:

=C2=A0 git log --pretty=3Demail -p --all --follow --reverse -- lisp/emu= lation/crisp.el

A crisp.el only history patch generated. However, wh= en applying it to "git am",
it failed at the 18th historical c= ommit, which I have no idea why.

Another bad thing about "git am" is that it will commit "= ;on top of" current
commit so we'll see a history like the foll= owing using "git log":

---------------------------
commit 35f5a599cf5dcb6a2a79c79048d645b48dcf043a
Author: Richard M. Stall= man <rms@gnu.org>
Date:=C2=A0= =C2=A0 Thu Apr 10 20:43:54 1997 +0000
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ^^^^^^^^^^^^^^^^^^^^^^^^

=C2=A0=C2=A0=C2=A0 Initial revisi= on

A=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lisp/emulation/crisp.el

co= mmit d31cf3156c20512f7fcf72b383827e96cfc9718e
Author: Stefan Monnier <= ;monnier@iro.umontreal.ca&g= t;
Date:=C2=A0=C2=A0 Mon Jul 7 14:38:27 2014 -0400
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0
=C2=A0=C2=A0=C2=A0 * xpm: Fix cl-lib usage and compilation failu= res.

M=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 packages/xpm/xpm-compose.= el
M=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 packages/xpm/xpm-ops.el
M=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 packages/xpm/xpm-palette.el
M=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 packages/xpm/xpm-ui.el
-------------------------

Gee! The history suddenly back from 2014 t= o 1997! I believe people won't
like this.

The filter-branch a= pproach does not have such flaw, but it contains
some garbage info unrel= ated to crisp.el. However, it's not a lot, maybe
< 10% of the commits but I don't have the real number. I just random= ly
checked in the history log. Seems each approach has its own pros and =
cons here...

--047d7bfe9438359a3804fde81125--