> 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