emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Please don't obsolete "crisp.el"


From: Luke Lee
Subject: Re: Please don't obsolete "crisp.el"
Date: Thu, 10 Jul 2014 10:43:19 +0800

> 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 <address@hidden>
Date:   Mon Jul 7 09:17:28 2014 -0400

    * caps-lock: New package.

commit 8f5704b427ea314e4b95a242a3b717d9976d48f9
Author: Stefan Monnier <address@hidden>
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 <address@hidden>
Date:   Mon Jul 7 09:17:28 2014 -0400

    * caps-lock: New package.

+commit 086a393b7aae6fbe214839aea67a02133f5ef955
+>Author: Glenn Morris <address@hidden>
+Date:   Sun Jul 6 16:58:52 2014 -0700
+
+    * cua-rect.el (cua--activate-rectangle): Avoid setting cua--rectangle ...

commit 8f5704b427ea314e4b95a242a3b717d9976d48f9
Author: Stefan Monnier <address@hidden>
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 <address@hidden>
Date:   Mon Jul 7 09:17:28 2014 -0400

    * caps-lock: New package.

commit 8f5704b427ea314e4b95a242a3b717d9976d48f9
Author: Stefan Monnier <address@hidden>
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 <address@hidden>
Date:   Mon Jul 7 09:17:28 2014 -0400

    * caps-lock: New package.

+commit 086a393b7aae6fbe214839aea67a02133f5ef955
+>Author: Glenn Morris <address@hidden>
+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 <address@hidden>
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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]