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: Thu, 10 Jul 2014 10:43:19 +0800 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=089e013a1764017d1104fdcdcc5f X-Trace: ger.gmane.org 1404960264 28705 80.91.229.3 (10 Jul 2014 02:44:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 10 Jul 2014 02:44:24 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 10 04:44:15 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 1X54LG-0003UJ-JR for ged-emacs-devel@m.gmane.org; Thu, 10 Jul 2014 04:44:14 +0200 Original-Received: from localhost ([::1]:35313 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X54LG-0004pU-35 for ged-emacs-devel@m.gmane.org; Wed, 09 Jul 2014 22:44:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41175) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X54L7-0004nP-FO for emacs-devel@gnu.org; Wed, 09 Jul 2014 22:44:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X54L5-0001Mq-ME for emacs-devel@gnu.org; Wed, 09 Jul 2014 22:44:05 -0400 Original-Received: from mail-vc0-x22b.google.com ([2607:f8b0:400c:c03::22b]:36902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X54L2-0001MM-B8; Wed, 09 Jul 2014 22:44:00 -0400 Original-Received: by mail-vc0-f171.google.com with SMTP id id10so9384528vcb.30 for ; Wed, 09 Jul 2014 19:43:59 -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=Z4d05kkINoEjVhFKy/VFkC4DdJiliTVJ5n0IhzeAUcI=; b=Uvkw2NZjRa8sHxn6rO4TL1Ge6NEum2wQ9n/gKmdP4bEEmCBaXmbFZO04d5xfjC2EY0 5HnvdyzB+MuAx+cNSLCjGFHSGnDbK6VBReYRbUR8EArQK8ZGpdyRFvzNwlpNs9/rXKy/ 716UPfb5U86c98iKN2wGWWG4aIcibICBSShFoflOTgF7W4psGQLVIKDKcHB8VymYrrk0 5Jb5HUY8PPdZGp2rx3WrpNwHY/K9cCX3xOFwLvGh6/h7s19M/0d7rR4Wy0KU+kR8qE/Z bgPCh4vrGoz85mCCQVcJEVMRhKeBHJ3waIzzJ/iKK7Xk+Ti9lY7Lp0EwkVVB4UDucJeO K6VA== X-Received: by 10.58.8.108 with SMTP id q12mr8768601vea.2.1404960239613; Wed, 09 Jul 2014 19:43:59 -0700 (PDT) Original-Received: by 10.58.196.99 with HTTP; Wed, 9 Jul 2014 19:43:19 -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:400c:c03::22b 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:172917 Archived-At: --089e013a1764017d1104fdcdcc5f Content-Type: text/plain; charset=UTF-8 > Which steps did you follow? The "git log | git am" ones or the "git > filter-branch" ones? I don't think "git log | git am" works since lot of commits not just touched crisp.el but also other Emacs trunk files. I only tried the filter-branch approach. > If it contains trunk commit messages unrelated to crisp.el, it sounds > like a serious problem, indeed. > > Otherwise I don't understand why you think it's a problem. Can you show > some example? Here is an example if we do not change the committed messages: <<< Original ELPA: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< commit 8739586a2539b482bdb48350bbcda00c44d82805 Author: Stefan Monnier Date: Mon Jul 7 09:17:28 2014 -0400 * caps-lock: New package. commit 8f5704b427ea314e4b95a242a3b717d9976d48f9 Author: Stefan Monnier Date: Thu Jul 3 09:35:44 2014 -0400 * admin/archive-contents.el: Don't stop at the first incorrect version ... * externals-list (rudel): Not maintained externally any more. (chess): Fix syntax. >>> ELPA with Emacs crisp.el merged >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> commit 8739586a2539b482bdb48350bbcda00c44d82805 Author: Stefan Monnier Date: Mon Jul 7 09:17:28 2014 -0400 * caps-lock: New package. +commit 086a393b7aae6fbe214839aea67a02133f5ef955 +>Author: Glenn Morris +Date: Sun Jul 6 16:58:52 2014 -0700 + + * cua-rect.el (cua--activate-rectangle): Avoid setting cua--rectangle ... commit 8f5704b427ea314e4b95a242a3b717d9976d48f9 Author: Stefan Monnier Date: Thu Jul 3 09:35:44 2014 -0400 * admin/archive-contents.el: Don't stop at the first incorrect version ... * externals-list (rudel): Not maintained externally any more. (chess): Fix syntax. ============================================================================ As you can see, the added commit is confusing since it's Emacs repo specific but not ELPA. If we did some message filtering and add notes, it will be easiler to tell that commit merged from Emacs trunk due to crisp.el package migration. Here is an example if we prefixed every merged message with a note like: "* Merged from Emacs trunk lisp/emulation/crisp.el": <<< Original ELPA: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< commit 8739586a2539b482bdb48350bbcda00c44d82805 Author: Stefan Monnier Date: Mon Jul 7 09:17:28 2014 -0400 * caps-lock: New package. commit 8f5704b427ea314e4b95a242a3b717d9976d48f9 Author: Stefan Monnier Date: Thu Jul 3 09:35:44 2014 -0400 * admin/archive-contents.el: Don't stop at the first incorrect version ... * externals-list (rudel): Not maintained externally any more. (chess): Fix syntax. >>> ELPA with Emacs crisp.el and message mangling >>>>>>>>>>>>>>>>>>>>>>>>>> commit 8739586a2539b482bdb48350bbcda00c44d82805 Author: Stefan Monnier Date: Mon Jul 7 09:17:28 2014 -0400 * caps-lock: New package. +commit 086a393b7aae6fbe214839aea67a02133f5ef955 +>Author: Glenn Morris +Date: Sun Jul 6 16:58:52 2014 -0700 + + * Merged from Emacs trunk lisp/emulation/crisp.el ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * cua-rect.el (cua--activate-rectangle): Avoid setting cua--rectangle ... commit 8f5704b427ea314e4b95a242a3b717d9976d48f9 Author: Stefan Monnier Date: Thu Jul 3 09:35:44 2014 -0400 * admin/archive-contents.el: Don't stop at the first incorrect version ... * externals-list (rudel): Not maintained externally any more. (chess): Fix syntax. ============================================================================ Okay, now we can immediately understand this comes from Emacs trunk and feel free to skip it. I prefer this added-on note to be "prefixed" instead of "postfixed" since it tell the log reader that this commit comes from Emacs trunk merge; before the reader reads the whole message, got confused, finally understands this commit comes from Emacs trunk merge, at the last line of the message. But for those 1-liners messages (like gitk branch graph) you'll see the same message for all crisp.el commits since it only show the first line of the message. Personally it's okay with me since I only need to skip this kind of messages in the log, but I don't know how others think. There are two other observation during my expreiment: 1. I found that in the Emacs repo git clone, A LOT OF commits did not even touched crisp.el but are all included in the log history of crisp.el. I don't know if it's caused by bzr -> git mirroring information loss, or if this happend even in earlier years before bzr is used, or if there are some defetcts during git filter-branch. This seems to leave quite a few dummy commits without any diff against crisp.el. 2. We merged only the commits that relates to "crisp.el". But those commits might not just crisp.el specific and touched other files too. You will still see the diff of other Emacs trunk files that never exists in ELPA, when examine those commits in detail. A perfect merge would be to just keeping the diffs of crisp.el, and filter out commit messages unrelated to crisp.el. Maybe a more complicated filtering can achieve this goal. But like you said, to find this perfetct method could be too much hassle for too little benefit. Best regards, Luke Lee --089e013a1764017d1104fdcdcc5f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
> Which steps did you follow?=C2=A0 The "git log |= git am" ones or the "git
> filter-branch" ones?
I don't think "git log | git am" works since lot of commits= not just touched
crisp.el but also other Emacs trunk files. I only tried the filter-branchapproach.

> If it contains trunk commit messages unrelated to c= risp.el, it sounds
> like a serious problem, indeed.
>
> Otherwise I don't understand why you think it's a problem.=C2= =A0 Can you show
> some example?

Here is an example if we do not change the commit= ted messages:

<<< Original ELPA: <<<<<<&l= t;<<<<<<<<<<<<<<<<<<&= lt;<<<<<<<<<<<<<<<<<<= <<<<<<<<<<<

commit 8739586a2539b482bdb48350bbcda00c44d82805
Author: Stefan Monni= er <monnier@iro.umontreal.ca= >
Date:=C2=A0=C2=A0 Mon Jul 7 09:17:28 2014 -0400

=C2=A0= =C2=A0=C2=A0 * caps-lock: New package.

commit 8f5704b427ea314e4b95a242a3b717d9976d48f9
Author: Stefan Monni= er <monnier@iro.umontreal.ca= >
Date:=C2=A0=C2=A0 Thu Jul 3 09:35:44 2014 -0400

=C2=A0= =C2=A0=C2=A0 * admin/archive-contents.el: Don't stop at the first incor= rect version ...
=C2=A0=C2=A0=C2=A0 * externals-list (rudel): Not maintained externally any = more.
=C2=A0=C2=A0=C2=A0 (chess): Fix syntax.

>>> ELPA w= ith Emacs crisp.el merged >>>>>>>>>>>>&= gt;>>>>>>>>>>>>>>>>>>= >>>>>>>

commit 8739586a2539b482bdb48350bbcda00c44d82805
Author: Stefan Monni= er <monnier@iro.umontreal.ca= >
Date:=C2=A0=C2=A0 Mon Jul 7 09:17:28 2014 -0400

=C2=A0= =C2=A0=C2=A0 * caps-lock: New package.

+commit 086a393b7aae6fbe214839aea67a02133f5ef955
+>Author: Glenn = Morris <rgm@gnu.org>
+Date:=C2= =A0=C2=A0 Sun Jul 6 16:58:52 2014 -0700
+
+=C2=A0=C2=A0=C2=A0 * cua-r= ect.el (cua--activate-rectangle): Avoid setting cua--rectangle ...

commit 8f5704b427ea314e4b95a242a3b717d9976d48f9
Author: Stefan Monni= er <monnier@iro.umontreal.ca= >
Date:=C2=A0=C2=A0 Thu Jul 3 09:35:44 2014 -0400

=C2=A0= =C2=A0=C2=A0 * admin/archive-contents.el: Don't stop at the first incor= rect version ...
=C2=A0=C2=A0=C2=A0 * externals-list (rudel): Not maintained externally any = more.
=C2=A0=C2=A0=C2=A0 (chess): Fix syntax.

=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

As you = can see, the added commit is confusing since it's Emacs repo specific but not ELPA.

If we did some message filtering and add notes, it wil= l be easiler to tell that
commit merged from Emacs trunk due to crisp.el= package migration. Here
is an example if we prefixed every merged messa= ge with a note like:
"* Merged from Emacs trunk lisp/emulation/crisp.el":

<&= lt;< Original ELPA: <<<<<<<<<<<<<= <<<<<<<<<<<<<<<<<<<= ;<<<<<<<<<<<<<<<<<<&l= t;<<<<

commit 8739586a2539b482bdb48350bbcda00c44d82805
Author: Stefan Monni= er <monnier@iro.umontreal.ca= >
Date:=C2=A0=C2=A0 Mon Jul 7 09:17:28 2014 -0400

=C2=A0= =C2=A0=C2=A0 * caps-lock: New package.

commit 8f5704b427ea314e4b95a242a3b717d9976d48f9
Author: Stefan Monni= er <monnier@iro.umontreal.ca= >
Date:=C2=A0=C2=A0 Thu Jul 3 09:35:44 2014 -0400

=C2=A0= =C2=A0=C2=A0 * admin/archive-contents.el: Don't stop at the first incor= rect version ...
=C2=A0=C2=A0=C2=A0 * externals-list (rudel): Not maintained externally any = more.
=C2=A0=C2=A0=C2=A0 (chess): Fix syntax.

>>> ELPA w= ith Emacs crisp.el and message mangling >>>>>>>>>= ;>>>>>>>>>>>>>>>>>

commit 8739586a2539b482bdb48350bbcda00c44d82805
Author: Stefan Monni= er <monnier@iro.umontreal.ca= >
Date:=C2=A0=C2=A0 Mon Jul 7 09:17:28 2014 -0400

=C2=A0= =C2=A0=C2=A0 * caps-lock: New package.

+commit 086a393b7aae6fbe214839aea67a02133f5ef955
+>Author: Glenn = Morris <rgm@gnu.org>
+Date:=C2= =A0=C2=A0 Sun Jul 6 16:58:52 2014 -0700
+
+=C2=A0=C2=A0=C2=A0 * Merge= d from Emacs trunk lisp/emulation/crisp.el
=C2=A0=C2=A0=C2=A0=C2=A0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<= br>+=C2=A0=C2=A0=C2=A0 * cua-rect.el (cua--activate-rectangle): Avoid setti= ng cua--rectangle ...

commit 8f5704b427ea314e4b95a242a3b717d9976d48f= 9
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Date:=C2=A0=C2=A0 Thu Jul 3 09:35:44 2014 -0400

=C2=A0=C2=A0=C2=A0 *= admin/archive-contents.el: Don't stop at the first incorrect version .= ..
=C2=A0=C2=A0=C2=A0 * externals-list (rudel): Not maintained externall= y any more.
=C2=A0=C2=A0=C2=A0 (chess): Fix syntax.

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D

Okay, now we can immediately understand this comes from Em= acs trunk and feel
free to skip it.

I prefer this added-on note t= o be "prefixed" instead of "postfixed" since it
tell the log reader that this commit comes from Emacs trunk merge; before t= he
reader reads the whole message, got confused, finally understands thi= s commit
comes from Emacs trunk merge, at the last line of the message.= =C2=A0 But for those
1-liners messages (like gitk branch graph) you'll see the same message = for all
crisp.el commits since it only show the first line of the messag= e.

Personally it's okay with me since I only need to skip this k= ind of messages
in the log, but I don't know how others think.

There are two oth= er observation during my expreiment:

1. I found that in the Emacs re= po git clone, A LOT OF commits did not even
=C2=A0=C2=A0 touched crisp.e= l but are all included in the log history of crisp.el. I
=C2=A0=C2=A0 don't know if it's caused by bzr -> git mirroring i= nformation loss, or if
=C2=A0=C2=A0 this happend even in earlier years b= efore bzr is used, or if there are
=C2=A0=C2=A0 some defetcts during git= filter-branch. This seems to leave quite a few
=C2=A0=C2=A0 dummy commits without any diff against crisp.el.

2. We = merged only the commits that relates to "crisp.el". But those com= mits
=C2=A0=C2=A0 might not just crisp.el specific and touched other fil= es too. You will still see
=C2=A0=C2=A0 the diff of other Emacs trunk files that never exists in ELPA,= when examine
=C2=A0=C2=A0 those commits in detail.

A perfect mer= ge would be to just keeping the diffs of crisp.el, and filter out
commit= messages unrelated to crisp.el. Maybe a more complicated filtering can
achieve this goal. But like you said, to find this perfetct method could be= too
much hassle for too little benefit.

Best regards,
Luke Lee
--089e013a1764017d1104fdcdcc5f--