Thanks. Unfortunate that "git format-patch" cannot do "--follow" so there will be no patch generated if we try to git format-patch ... lisp/obsolete/crisp.el. since the last commit of crisp.el is to move it from emulation/ to obsolete/. To generate a proper sequence for crisp.el we need to find the commit ranges for crisp.el when it exists in emulation/. I tried that and it worked. But later it turn out the "git log -p --follow" method is a few steps simpler.Please refer to my reply to Stefan if you're interested. Thanks.